Skip to content

mps-pointops v0.6.0

Choose a tag to compare

@gamzerA gamzerA released this 01 Oct 16:11
· 177 commits to main since this release
55ebf58

mps-pointops v0.6.0

This release extends the experimental Apple Silicon MPS point-cloud stack with feature-space kNN and bounded graph/grid integration. It does not establish complete PyG compatibility or a speedup for every workload and Apple GPU.

Added

  • Native Metal feature-space kNN for float32 dimensions beyond 3, including D=64 and D=128, through the dense, flat, and PyG pyg::knn MPS paths. The feature path has an explicit k <= 256 limit; see the numerical contract.
  • Legacy torch_cluster compatibility paths for nearest, grid_cluster, graclus_cluster, and random_walk on their documented CPU/MPS input subsets. random_walk uses PyTorch tensor operations; it is not a native Metal kernel or a registration of PyG 2.8's torch.ops.pyg.random_walk.
  • MPS dispatch for PyG 2.8 pyg::grid_cluster and a separate experimental compact voxel API with floor-based cells and mean/sum feature reduction. Raw grid IDs differ between the two APIs. Fused Metal voxel pooling is not included.

Validation

  • Synthetic DGCNN classification and PointNet++ SSG segmentation forward/backward fixtures were compared with their pinned upstream implementations. The PointNet++ fixture met atol=rtol=1e-4 for reported outputs and gradients; six of 12 raw local-index arrays differed after an FPS tie, as explained in the parity report. Dataset accuracy and training convergence were not measured.
  • Physical M1 Safe/Fast full-suite runs reported 394 passed / 11 skipped and 393 passed / 12 skipped with MPS fallback disabled. The M1 report records synchronized Chamfer and feature-kNN timings and a concentrated-destination scatter_add_ slowdown. M2–M4 physical validation remains open.
  • Bounded PyG 2.8 synthetic graph fixtures checked avg_pool and voxel_grid → avg_pool_x, including topology and first-order gradients. These pooling paths use PyG/PyTorch reductions rather than project Metal kernels. See the Phase 3 results.

Install and cite

python -m pip install mps-pointops==0.6.0

Version DOI: 10.5281/zenodo.23086417 · All-version concept DOI: 10.5281/zenodo.23076057 · PyPI distribution

Release commit: 55ebf58b22ef2212ad7ba6226746f9fd23620cf8 · Archived source ZIP SHA-256: c3ba548d1292a03145baf27562e913620868e6faddc3861c4492e85fe36c3ced

Author: YeYoung Lee (ORCID 0009-0001-8245-1803). The repository is Apache-2.0; its Ball Query component retains the MIT notice in LICENSES/MIT-ball-query.txt.