# google/jax

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/google-jax).**

35,835 stars · 3,640 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/google/jax
- Homepage: https://docs.jax.dev
- awesome-repositories: https://awesome-repositories.com/repository/google-jax.md

## Description

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.

## Tags

### Programming Languages & Runtimes

- [JIT Kernel Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/jit-kernel-compilers.md) — Transforms Python functions into optimized hardware kernels via an XLA-based just-in-time compiler.
- [Intermediate Representation Tracing](https://awesome-repositories.com/f/programming-languages-runtimes/intermediate-representation-tracing.md) — Uses pure-function tracing to record operations on abstract tracers for JIT compilation into an intermediate representation.

### Artificial Intelligence & ML

- [Automatic Differentiation Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/automatic-differentiation-frameworks.md) — Provides an engine for computing exact gradients and higher-order derivatives for machine learning.
- [Gradient Computation](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-computation.md) — Calculates function gradients using automatic differentiation to facilitate model optimization and training. ([source](https://github.com/google/jax#readme))
- [Just-In-Time Kernel Compilers](https://awesome-repositories.com/f/artificial-intelligence-ml/just-in-time-kernel-compilers.md) — Employs a just-in-time compiler to transform Python functions into optimized kernels for high-performance execution on GPUs and TPUs.
- [Automatic Differentiation Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/model-construction/automatic-differentiation-systems.md) — Provides a comprehensive system for computing gradients of mathematical functions for model training.
- [Hardware-Accelerated](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-optimization-and-inference/hardware-and-acceleration/tensor-computing-libraries/tensor-libraries/hardware-accelerated.md) — Ships a tensor library with native support for executing vectorized operations across multiple hardware accelerators.
- [Reverse-Mode Differentiation](https://awesome-repositories.com/f/artificial-intelligence-ml/reverse-mode-differentiation.md) — Computes gradients by applying the chain rule backward through the operation graph using reverse-mode differentiation.
- [Hardware Acceleration Abstractions](https://awesome-repositories.com/f/artificial-intelligence-ml/hardware-acceleration-abstractions.md) — Provides a unified API to abstract hardware buffers across different accelerators for consistent computation graphs.

### Data & Databases

- [Distributed Tensor Sharding](https://awesome-repositories.com/f/data-databases/distributed-tensor-sharding.md) — Distributes large arrays across multiple devices using a single program multiple data sharding model.

### Scientific & Mathematical Computing

- [High-Performance Scientific Computing](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/high-performance-scientific-computing.md) — Implements high-performance numerical computing using multidimensional arrays and optimized primitives compiled for accelerators.
- [Vectorized Array Operations](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/vectorized-array-operations.md) — Performs calculations on entire arrays at once to optimize performance and automate batch dimension management. ([source](https://github.com/google/jax#readme))
- [Functional Vectorization](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/vectorized-array-operations/vectorized-memory-primitives/functional-vectorization.md) — Implements primitive-based vectorization to map functions across array dimensions without manual loops.
- [Mathematical Function Transformation](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/mathematical-libraries-and-utilities/mathematical-function-transformation.md) — Applies functional transformations like differentiation and vectorization to handle complex numerical workflows. ([source](https://github.com/google/jax#readme))
- [NumPy-Compatible Frameworks](https://awesome-repositories.com/f/scientific-mathematical-computing/numpy-compatible-frameworks.md) — Extends NumPy with automatic differentiation and JIT compilation for high-performance numerical computing.

### Education & Learning Resources

- [Batch Vectorization](https://awesome-repositories.com/f/education-learning-resources/educational-resources/systems-applied-computing/machine-learning-education/computational-performance-optimization/batch-vectorization.md) — Converts single-sample functions into batch-processing operations to eliminate manual loop writing. ([source](https://github.com/google/jax#readme))

### Networking & Communication

- [Distributed Device Orchestration](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/distributed-execution-runtimes/distributed-device-orchestration.md) — Manages computational loads by distributing processing tasks across multiple hardware accelerators. ([source](https://github.com/google/jax#readme))

### Operating Systems & Systems Programming

- [Hardware Acceleration](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration.md) — Offloads intensive computations to GPUs and TPUs through automatic parallelization and manual sharding.
- [Pure Function Kernels](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration/gpu-acceleration/gpu-accelerated-compilers/pure-function-kernels.md) — Converts pure functions into optimized kernels for high-performance execution on specialized accelerators. ([source](https://github.com/google/jax#readme))

### Part of an Awesome List

- [Deep Learning](https://awesome-repositories.com/f/awesome-lists/ai/deep-learning.md) — Composable transformations for high-performance numerical computing.
- [Deep Learning Frameworks](https://awesome-repositories.com/f/awesome-lists/ai/deep-learning-frameworks.md) — Provides high-performance autograd and XLA for machine learning research.
- [General Machine Learning](https://awesome-repositories.com/f/awesome-lists/ai/general-machine-learning.md) — High-performance library for autograd and XLA.
- [Language Model Libraries](https://awesome-repositories.com/f/awesome-lists/ai/language-model-libraries.md) — High-performance numerical computing library for machine learning research.
- [Machine Learning Libraries](https://awesome-repositories.com/f/awesome-lists/ai/machine-learning-libraries.md) — Composable transformations for NumPy-based programs.
- [Developer Tools and Extensions](https://awesome-repositories.com/f/awesome-lists/devtools/developer-tools-and-extensions.md) — Core library for high-performance numerical computing and machine learning.
