CHANGELOG.md
CONTRIBUTING.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
LICENSES/MIT-ball-query.txt
bench/bench_ball_query_simd_ablation.py
bench/bench_fps_multigroup.py
bench/bench_fps_production.py
bench/bench_pointops.py
bench/fps_multigroup.metal
bench/verify_ball_query_simd_contract.py
bench/results/2026-10-01-apple-m5-pro-ball-query-port-sorted.json
bench/results/2026-10-01-apple-m5-pro-ball-query-port-sorted.md
bench/results/2026-10-01-apple-m5-pro-ball-query-port.json
bench/results/2026-10-01-apple-m5-pro-ball-query-port.md
bench/results/2026-10-01-apple-m5-pro-ball-query-simd-ablation.json
bench/results/2026-10-01-apple-m5-pro-ball-query-simd-contract-fast.json
bench/results/2026-10-01-apple-m5-pro-ball-query-simd-contract-safe.json
bench/results/2026-10-01-apple-m5-pro-fps-multigroup.json
bench/results/2026-10-01-apple-m5-pro-fps-multigroup.md
bench/results/2026-10-01-apple-m5-pro-fps-production.json
bench/results/2026-10-01-apple-m5-pro-sorted.json
bench/results/2026-10-01-apple-m5-pro-sorted.md
bench/results/2026-10-01-apple-m5-pro.json
bench/results/2026-10-01-apple-m5-pro.md
bench/results/2026-10-01-source-sync/2026-10-01-apple-m5-pro.json
bench/results/2026-10-01-source-sync/2026-10-01-apple-m5-pro.md
bench/results/2026-10-01-source-sync/ball-sorted-only/2026-10-01-apple-m5-pro-sorted.json
bench/results/2026-10-01-source-sync/ball-sorted-only/2026-10-01-apple-m5-pro-sorted.md
bench/results/dense-simd/2026-10-01-apple-m5-pro-sorted.json
bench/results/dense-simd/2026-10-01-apple-m5-pro-sorted.md
bench/results/dense-simd/2026-10-01-apple-m5-pro.json
bench/results/dense-simd/2026-10-01-apple-m5-pro.md
docs/ball-query-math.md
docs/ball-query-provenance.md
docs/metal-fp-probe-fast.json
docs/metal-fp-probe-safe.json
docs/pytest-dense-simd-fast-torch214-2026-10-01.log
docs/pytest-dense-simd-safe-torch214-2026-10-01.log
docs/pytest-fast-2026-10-01.log
docs/pytest-fast-torch27-2026-10-01.log
docs/pytest-flat-fast-torch27-2026-10-01.log
docs/pytest-flat-safe-torch27-2026-10-01.log
docs/pytest-fps-p3d-fast-torch214-2026-10-01.log
docs/pytest-fps-p3d-safe-torch214-2026-10-01.log
docs/pytest-safe-2026-10-01.log
docs/pytest-safe-torch27-2026-10-01.log
docs/assets/m5-pro-speedup.svg
docs/assets/pointops-hero.svg
docs/assets/pointops-mark.svg
examples/mulsen_grouping.py
examples/results/mulsen_grouping.json
mps_pointops/__init__.py
mps_pointops/_ball_query_mps.py
mps_pointops/_flat_fps_mps.py
mps_pointops/_flat_search_mps.py
mps_pointops/compat.py
mps_pointops/flat.py
mps_pointops/ops.py
mps_pointops/pyg.py
mps_pointops/pytorch3d.py
mps_pointops/reference.py
mps_pointops.egg-info/PKG-INFO
mps_pointops.egg-info/SOURCES.txt
mps_pointops.egg-info/dependency_links.txt
mps_pointops.egg-info/requires.txt
mps_pointops.egg-info/top_level.txt
mps_pointops/kernels/__init__.py
mps_pointops/kernels/ball_query.metal
mps_pointops/kernels/flat_search.metal
mps_pointops/kernels/fps.metal
mps_pointops/kernels/fps_flat.metal
mps_pointops/kernels/fps_multigroup.metal
mps_pointops/kernels/knn.metal
tests/test_ball_query_api.py
tests/test_ball_query_mps.py
tests/test_compat.py
tests/test_flat.py
tests/test_flat_graph.py
tests/test_flat_ragged_mps.py
tests/test_fps.py
tests/test_knn.py
tests/test_pyg28.py
tests/test_pytorch3d_adapter.py
tools/metal_fp_probe.py
tools/render_readme_assets.py