MESS

MESS is an open-source Python package for electronic structure simulations implemented in JAX. Released by Graphcore Research in 2024, it is designed to integrate electronic structure calculations with machine learning workflows, leverag…

1. GROUND-STATE DFT 1.3 Localized Basis Sets VERIFIED 1 paper
Back to Mind Map Official Website

Overview

MESS is an open-source Python package for electronic structure simulations implemented in JAX. Released by Graphcore Research in 2024, it is designed to integrate electronic structure calculations with machine learning workflows, leveraging JAX's automatic differentiation and GPU/TPU acceleration capabilities.

Reference Papers (1)

Full Documentation

Official Resources

  • Homepage: https://github.com/graphcore-research/mess
  • Documentation: https://github.com/graphcore-research/mess/blob/main/README.md
  • Source Repository: https://github.com/graphcore-research/mess
  • License: Apache License 2.0

Overview

MESS is an open-source Python package for electronic structure simulations implemented in JAX. Released by Graphcore Research in 2024, it is designed to integrate electronic structure calculations with machine learning workflows, leveraging JAX's automatic differentiation and GPU/TPU acceleration capabilities.

Scientific domain: Molecular electronic structure, ML integration, differentiable chemistry
Target user community: Machine learning researchers, computational chemists seeking differentiable DFT, hardware accelerator users

Theoretical Methods

  • Hartree-Fock (HF)
  • Density Functional Theory (DFT)
  • Gaussian representation of atomic orbitals
  • SCF algorithms
  • JAX-compatible implementations
  • Automatic differentiation through calculations

Capabilities (CRITICAL)

  • Ground-state electronic structure
  • Hartree-Fock calculations
  • DFT calculations
  • Automatic differentiation
  • GPU/TPU acceleration
  • ML-ready energy/gradient outputs
  • Pure Python implementation
  • Integration with ML frameworks
  • Batch calculations

Sources: GitHub repository, arXiv paper (2024)

Key Strengths

JAX Framework:

  • Automatic differentiation
  • JIT compilation
  • GPU/TPU acceleration
  • Vectorization (vmap)
  • Functional programming style

ML Integration:

  • Differentiable electronic structure
  • Neural network potential training
  • Gradient-based optimization
  • End-to-end differentiable pipelines

Modern Design:

  • Pure Python with JAX
  • Clean, modular codebase
  • Research-friendly
  • Easy to extend

Hardware Acceleration:

  • GPU execution
  • TPU support
  • Graphcore IPU (planned)
  • Efficient hardware utilization

Inputs & Outputs

  • Input formats:

    • Python API
    • Molecular specifications
    • JAX-compatible arrays
  • Output data types:

    • Total energies
    • Gradients (automatic)
    • Orbital data
    • Density matrices

Interfaces & Ecosystem

  • JAX ecosystem:

    • Flax neural networks
    • Optax optimizers
    • Equinox modules
  • Python integration:

    • NumPy compatible
    • Matplotlib visualization
    • Jupyter notebooks

Advanced Features

Automatic Differentiation:

  • Gradients through SCF
  • Higher-order derivatives
  • Force fields from AD
  • ML training integration

Batched Calculations:

  • Multiple molecules simultaneously
  • vmap vectorization
  • Efficient data parallel
  • Training set processing

Hardware Acceleration:

  • CUDA GPU support
  • TPU support via JAX
  • Just-in-time compilation
  • Performance optimization

Extensibility:

  • Functional composition
  • Easy method addition
  • Research prototyping
  • Clean abstractions

Performance Characteristics

  • Speed: JAX JIT compiled
  • Accuracy: Standard DFT/HF
  • System size: Small to medium
  • Memory: JAX memory model
  • Parallelization: GPU/TPU native

Computational Cost

  • JIT overhead: First call compilation
  • GPU utilization: Efficient for batches
  • AD overhead: Minimal with JAX
  • Typical: Research-scale calculations

Limitations & Known Constraints

  • Maturity: Released 2024, developing
  • Features: Core methods implemented
  • Large systems: Scaling developing
  • Documentation: Growing
  • Periodicity: Molecular focus

Comparison with Other Codes

  • vs PySCF: MESS JAX/AD focus, PySCF comprehensive
  • vs DQC: Similar JAX approach
  • vs TorchANI: MESS full QM, TorchANI potentials
  • Unique strength: JAX native, Graphcore development, differentiable

Application Areas

ML for Chemistry:

  • Neural network potential training
  • Differentiable force fields
  • Active learning
  • Transfer learning

Research:

  • Differentiable methods
  • Algorithm development
  • Hardware exploration
  • New architectures

High-Throughput:

  • Batch processing
  • Dataset generation
  • Screening workflows
  • Property prediction

Education:

  • Modern Python QM
  • AD concepts
  • JAX demonstration

Best Practices

JAX Usage:

  • Understand JAX transforms
  • Use JIT for performance
  • Leverage vmap for batches
  • Profile GPU utilization

AD Integration:

  • grad/value_and_grad
  • Through SCF convergence
  • Check gradient quality

Batch Processing:

  • Group similar molecules
  • Use vmap efficiently
  • Monitor memory

Community and Support

  • Open source Apache 2.0
  • Graphcore Research development
  • GitHub issues
  • Active development (2024)
  • Research collaboration welcome

Verification & Sources

Primary sources:

  1. GitHub: https://github.com/graphcore-research/mess
  2. arXiv: MESS paper (2024)
  3. Graphcore Research

Confidence: VERIFIED - Recent release, active development

Verification status: ✅ VERIFIED

  • Source code: OPEN (GitHub, Apache 2.0)
  • Documentation: README and examples
  • Development: Active (2024 release)
  • Specialty: JAX-native DFT, automatic differentiation, ML integration

Related Tools in 1.3 Localized Basis Sets