Skip to main content

Apple Silicon-native atomistic simulation experiments built on MLX and Metal.

Project description

mlx-atomistic — Apple Silicon-native molecular dynamics and DFT runtime on MLX and Metal

mlx-atomistic

Apple Silicon-native alpha molecular dynamics and density-functional-theory runtime, built directly on MLX and Metal —
it runs the GPU on your Mac, with no CUDA, server, or cloud.

Documentation PyPI CI Python 3.13 License: MIT Part of App Automaton

Documentation · Overview · Molecular mechanics · DFT · API reference · Benchmarks


What is mlx-atomistic?

mlx-atomistic is an experimental Apple Silicon-native runtime for molecular dynamics (MD) and density functional theory (DFT), built directly on Apple's MLX array framework and the Metal GPU backend. It runs the simulation kernels on the GPU in your Mac — no CUDA, no remote cluster, no cloud. The 0.0.1 package is a strict alpha preview: early plane-wave DFT building blocks, molecular-mechanics force terms, prepared-system imports, and Jupyter-first visualization.

mlx_atomistic is the primary trajectory generator and product runtime in this repo. OpenMM, LAMMPS, and the source trees under vendors/ are reference and validation surfaces only — they never replace the MLX runtime path.

Features

  • Apple Silicon native — MLX arrays execute through the Metal backend on your machine. No CUDA, no server, no cloud.
  • Plane-wave DFT building blocks — Γ-point Kohn–Sham SCF, LDA plus public-alpha PBE-PZ81 GGA diagnostics, non-SCF k-point/band diagnostics, Davidson/preconditioned-residual eigensolver diagnostics, and GTH/UPF pseudopotentials with proof-level local + nonlocal projector diagnostics.
  • Molecular-mechanics building blocks — Lennard-Jones, Coulomb, harmonic bonds and angles, periodic + Ryckaert-Bellemans torsions, NVE/Langevin NVT, bounded PME proof surfaces, and proof-level barostat/NPT diagnostics.
  • Prepared-system imports — AMBER prmtop/inpcrd, CHARMM PSF/parameter, and GROMACS .top/.gro subsets, with explicit physical-unit metadata.
  • Reference-validation ready — OpenMM and LAMMPS surfaces are opt-in local validation lanes, not package/runtime dependencies.
  • Self-documenting — Google-style docstrings generate the API reference and an llms.txt for agentic tools.

Quick start

Install the alpha package from PyPI into a Python 3.13 environment:

uv run --no-project --python 3.13 --with mlx-atomistic \
  python -c "import mlx_atomistic as ma; print(ma.__version__)"

For notebook or development work from a checkout:

uv venv --python 3.13
uv sync --extra notebook --extra prep --extra viz
uv run python -m ipykernel install --user --name mlx-atomistic --display-name "mlx-atomistic"
uv run jupyter lab

Plain uv sync uses the light test group by default. OpenMM and LAMMPS are installed only when you explicitly request the reference or dev group.

If uv cannot use the home cache in a sandboxed run, point it at a writable cache:

UV_CACHE_DIR=/tmp/mlx-atomistic-uv-cache uv sync --extra notebook --extra prep --extra viz

Benchmarks

uv run python -m mlx_atomistic.benchmarks.lj_md --particles 256 --steps 20
uv run python -m mlx_atomistic.benchmarks.lj_md --sizes 128,512,2048 --steps 20 --json
uv run python -m mlx_atomistic.benchmarks.mm_force_terms --evaluations 20 --json
uv run python -m mlx_atomistic.benchmarks.validation_gauntlet --json
uv run python -m mlx_atomistic.benchmarks.stability --json
uv run python -m mlx_atomistic.benchmarks.dft_scf --sizes 8,16,24,32 --iterations 5 --mixer both --json

Documentation

The full documentation — narrative guides plus an auto-generated API reference — lives at appautomaton.github.io/mlx-atomistic:

  • Overview — what the runtime is and how the pieces fit.
  • Molecular mechanics — topology, force-field terms, virtual sites, GBSA/OBC, soft-core λ, replica exchange.
  • Density functional theory — plane-wave SCF, exchange-correlation, mixing, forces.
  • API reference — generated directly from the package docstrings.
  • Benchmarks — validation gauntlet, stability, and performance methodology.

The narrative source lives in docs/ and the site itself in site/; the API pages are regenerated from the package on every deploy, so they never drift from the code.

Runtime boundary

mlx_atomistic is the product runtime. Low-level MD kernels accept Lennard-Jones reduced-unit inputs unless a caller converts at the API boundary; prepared-system artifacts carry explicit physical-unit metadata. Sparse trajectory frames are kept separately from dense per-step diagnostics. NVE is available for energy-drift checks and Langevin NVT for seeded temperature-controlled runs. See docs/runtime-boundaries.md for the dependency roles and reference-engine provenance, and docs/units.md for the unit policy.

Part of App Automaton

mlx-atomistic is part of App Automaton — open skills, harnesses, and on-device tools for engineering with AI coding agents, with a focus on local-first, Apple-Silicon-native execution.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlx_atomistic-0.0.1.tar.gz (325.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mlx_atomistic-0.0.1-py3-none-any.whl (389.7 kB view details)

Uploaded Python 3

File details

Details for the file mlx_atomistic-0.0.1.tar.gz.

File metadata

  • Download URL: mlx_atomistic-0.0.1.tar.gz
  • Upload date:
  • Size: 325.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mlx_atomistic-0.0.1.tar.gz
Algorithm Hash digest
SHA256 d27f1faedd11122e7feb2239c84d3c93660005d15f12f51e693d2c37963c5b29
MD5 1cb881b7d96cd3c5e682ca3e82e95cd4
BLAKE2b-256 c3b2ba82ab6836d1004fd76ac9a00e2fdea5041f4ab680d4c2ac57fa99ee7883

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlx_atomistic-0.0.1.tar.gz:

Publisher: workflow.yml on appautomaton/mlx-atomistic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlx_atomistic-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: mlx_atomistic-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 389.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mlx_atomistic-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 efceef19ee9f4da12673a719fadb8d6266d54db292c5dde37388c69e17c8eae6
MD5 7e4d9722a275fd3aa50b6f2f814ac525
BLAKE2b-256 4507700eb29a0103533f257d3fe981acd4fad9c90a723a26200b3b2720ac7e1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlx_atomistic-0.0.1-py3-none-any.whl:

Publisher: workflow.yml on appautomaton/mlx-atomistic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page