Skip to content

mps-pointops 0.3.0

Choose a tag to compare

@gamzerA gamzerA released this 01 Oct 05:10
· 216 commits to main since this release
339b1c7

First PyPI release

Install with python -m pip install mps-pointops on Apple Silicon macOS with Python 3.10+ and PyTorch 2.7+.

PyG 2.8 MPS operators

mps_pointops.pyg.register_mps() registers Metal-backed MPS implementations of pyg-lib's pyg::fps, pyg::knn, and pyg::radius operators. PyG 2.8's fps, knn, radius, knn_graph, and radius_graph can then use MPS tensors. Install a pyg-lib wheel that matches your PyTorch version first; the README gives a tested PyTorch 2.12 / PyG 2.8 / pyg-lib 0.7 example.

The MPS path supports three-dimensional coordinates: float32 for FPS and kNN, float32 or float16 for radius. Float16 radius uses float32 intermediate arithmetic and can differ from pyg-lib's half-precision boundary behavior. CPU and CUDA dispatch remain with pyg-lib.

The release also bridges PyG 2.8's batch-to-pointer conversion on MPS and adds a pinned integration test on macOS. See the changelog for details.

Archive and citation

The exact v0.3.0 source tree at commit 339b1c7b5f5dc70a234efde3e150a726583c02ba is preserved on Zenodo. Cite this version with DOI 10.5281/zenodo.23076058. The archived source ZIP has SHA-256 546d7989d04e16bd6e6811d4ebd3f6f7bdc6f8c002bf2a66467d4af646ff4aa2.