mpi4jax/mpi4jax

Zero-copy MPI communication of JAX arrays, for turbo-charged HPC applications in Python :zap:

What it solves

It addresses the limited multi-host capabilities of the JAX framework, allowing users to scale JAX-based simulations to entire CPU and GPU clusters.

How it works

It enables zero-copy, multi-host communication of JAX arrays. This functionality is integrated directly into JAX's just-in-time (jit) compilation, meaning communication can occur from within jitted code and directly from GPU memory.

Who it’s for

Researchers and developers performing scientific computing workloads that require scaling across multiple hosts and GPUs using JAX.

Highlights

  • Zero-copy communication of JAX arrays.
  • Compatible with jax.jit for high-performance execution.
  • Supports multi-host scaling across CPU and GPU clusters.
  • Supports differentiating through certain MPI operations for differentiable programming.

Related

  • Project
  • Project
  • Project
  • Project
  • Project