JAX
Product information, use cases, and access for JAX.
Pricing information
No verified public pricing is available yet.
DevPrice organizes public information and does not sell JAX subscriptions. Prices and availability are determined by JAX.
What is JAX?
JAX is a Python library for accelerator-oriented array computing and program transformation, aimed at high-performance numerical computing and large-scale machine learning. It offers a familiar NumPy-style array interface, while the same code can run on multiple backends including CPUs, GPUs, and TPUs. Researchers and engineers can use it as a foundation for expressing numerical programs that need to be transformed, compiled, or scaled across devices.
JAX exposes composable function transformations for compilation, batching, automatic differentiation, and parallelization, so users can build computations as functions and apply the transformations that fit the task. Its official documentation covers just-in-time and ahead-of-time compilation, control flow, data placement, sharding, automatic parallelization, profiling, debugging, and numerical-precision diagnostics. More advanced work can extend into custom derivative rules, GPU and TPU kernels, foreign-function interfaces, and multi-host distributed execution, making the library relevant to scientific algorithms, machine-learning systems, and performance-oriented numerical software.
Key features of JAX
Array computing with a NumPy-style API
JAX provides an array-computing interface with a familiar NumPy-style approach to numerical operations. It suits research and engineering work that wants to keep Python array programming while targeting high-performance numerical computation.
Composable program transformations
JAX provides composable function transformations for compilation, batching, automatic differentiation, and parallelization. These transformations suit numerical programs that need to derive gradients, process batches, or change how a computation is executed.
Multiple backends and device parallelism
The same JAX code can run on CPU, GPU, and TPU backends, while the documentation covers data placement, sharding, and automatic parallelization. This suits workloads that need to use multiple devices or organize array computations across them.
Extensible derivatives and device kernels
JAX documents custom derivative rules, checkpointing, Pallas GPU and TPU kernels, and foreign-function interfaces, along with systems topics for multi-host execution. These capabilities suit developers who need to extend autodiff, write device kernels, or connect external code.