Skip to content

Scalable Neighbor-Listed Nonbonded Runtime (M5 Max)

Date: 2026-07-13

Status: diagnostic. This report validates the MLX neighbor/nonbonded runtime through 92,001 atoms on a synthetic orthorhombic system. This row does not claim a GPCRmd production run, PME-at-scale support, or an OpenMM/LAMMPS performance ratio; charged PME is validated separately on the JAC workload.

mlx_cell_pairs matched the tiled all-pairs MLX oracle at every requested size: 1,000, 4,000, 16,000, 50,000, and 92,001 atoms. The topology-bearing 1,000-atom case included two exclusions (one explicit and one bond-derived) and one 1-4 pair with LJ/Coulomb scales of 0.5/0.75. The lazy topology’s dense pair cache was never materialized.

atomscompact pairscandidateswastebuild (ms)pair force (ms)tiled oracle (s)abs dErel dEmax abs dF
1,00034,278236,78885.52%90.4832.280.0251.22e-41.05e-72.35e-6
4,000108,000998,00089.18%22.943.590.038005.36e-7
16,000425,7603,482,55687.77%86.878.150.5171.95e-31.12e-77.00e-7
50,0001,314,70810,517,24287.50%267.2424.3512.9557.81e-31.35e-79.54e-7
92,0012,432,69316,902,19685.61%545.0167.69112.0554.69e-24.56e-78.49e-7

The 92,001-atom explicitly synchronized static decomposition was 89.0% neighbor build and 11.0% compact pair-force evaluation. The tiled all-pairs oracle took 1,655x as long as the compact pair evaluation for the same energy and forces. The unusually high first-row timings include MLX compilation/warm-up work; the larger rows show the steady scaling shape.

A separate 92,001-atom synthetic Langevin run exercised the full MD loop with a 1.2 neighbor skin:

atomsstepswall (s)steps/sbackendcompact pairscandidateswasterebuild (s)max RSSfinite
92,00121.1431.749dynamic-neighbor+mlx_cell_pairs7,869,21752,355,33584.97%0.411340 MiByes

The run completed with no fallback and relative total-energy drift of -3.55e-7. The MD report’s force_eval_wall_s measures asynchronous enqueue time, so it is not used as the compute-time split above. The synchronized static parity row supplies the build-versus-force wall times.

  • Host: Apple M5 Max, 18 CPU cores, 128 GB unified memory.
  • Runtime: Python 3.13.12, MLX 0.31.2, Device(gpu, 0), Metal available.
  • Commit used for measurement: 9c43d83.
  • Cell: orthorhombic FCC lattice at reduced density 0.8.
  • Nonbonded model: heterogeneous LJ parameters and alternating direct-cutoff charges; cutoff 2.5; no PME.
  • Pair path: mlx_cell_pairs, CPU argwhere compaction, unsorted output, no fallback.
  • Reference path: tiled MLX all-pairs evaluation. Triclinic compact execution remains fail-closed.

Raw outputs (gitignored):

  • results/scalable-neighbor-nonbonded-runtime/parity.json
  • results/scalable-neighbor-nonbonded-runtime/synthetic-runtime-92001.json
Terminal window
uv run python -m mlx_atomistic.benchmarks.neighbor_nonbonded_parity \
--sizes 1000,4000,16000,50000,92001 \
--out results/scalable-neighbor-nonbonded-runtime/parity.json
uv run python -m mlx_atomistic.benchmarks.md_performance \
--sizes 92001 --steps 2 --mode dynamic-neighbor \
--sample-interval 2 --diagnostic-interval 2 --evaluation-interval 2 \
--json-out results/scalable-neighbor-nonbonded-runtime/synthetic-runtime-92001.json

The GPCRmd cache was absent when this 2026-07-13 measurement was made, so this report contains no real-fixture result. A later source-backed run uses the source protocol and the production NeighborBlocks PME path; its commands and evidence are recorded separately in gpcrmd-729-pme-runtime-m5max.md.

This row is diagnostic: the new parity workload uses heterogeneous LJ+Coulomb parameters and topology semantics, while the existing OpenMM/LAMMPS scaling row uses a uniform reduced-unit LJ fluid. A ratio would mix physics and is therefore not reported.

The neighbor/topology axis is proven at the target atom count. A separate 94,232-atom charged JAC report now validates fixed-cell orthorhombic PME with an explicit neutralizing-plasma policy; see scalable-charged-pme-runtime-m5max.md. That does not turn this synthetic row into a GPCRmd result. The membrane fixture has since passed a separate bounded fixed-cell NVT parity/runtime/restart gate. Production NPT, analytic PME virial, triclinic PME, production-length stability, and broad membrane readiness remain deferred.