JAX is a hardware-accelerated array library and automatic differentiation system for numerical computing. It provides a framework compatible with NumPy that extends array operations with a just-in-time compiler to transform Python functions into optimized kernels for execution on GPU and TPU accelerators.
The system differentiates itself through the use of an XLA-based compiler and a single program multiple data sharding model. These capabilities allow the library to distribute large-scale computations across multiple hardware accelerators using both automatic parallelization and manual sharding.
The library covers high-performance numerical computing via reverse and forward mode automatic differentiation. It also includes capabilities for vectorized array processing, which maps functions across array axes to handle batch dimensions without manual loops.