Back to timeline

Availability · December 7, 2018

JAX: transform the program instead of describing a graph

On 7 December 2018 the first public release of JAX appeared, a library that takes ordinary Python and NumPy code and applies transformations to it: differentiation, compilation, vectorisation, parallelisation.

Why it matters

A third way to describe training, after TensorFlow's static graph and PyTorch's eager execution: do not describe a graph at all, transform the program itself. A large share of the following decade's big training systems were built on that approach.

The package summary on the index is short and exact: "Differentiate, compile, and transform Numpy code." The repository describes the same thing as composable transformations of Python and NumPy programs. The record carries medium confidence deliberately. Both sources are indexes rather than a document explaining the intent: they fix firmly when the thing became available and say almost nothing about why it is the way it is. The repository was created on 25 October 2018, six weeks before the first release, so the date work began and the date it became available are different here, and the record sits on the second.

Event record

Event date
December 7, 2018
Timeline date
Event date
Verification
Sources gathered automatically · September 21, 2026
Lines
ID
evt-0481

The first upload of the jax package to the Python package index. The repository was created on 25 October 2018.

Sources

Related events