Skip to content

Releases

ACT v2.4

Choose a tag to compare

@DEVANSH-DVJ DEVANSH-DVJ released this 05 Nov 06:37
80239e9

Changes since v2.3:

  • TAIDL v2.15 documents the semantics of a spec's integers and attributes, and the element types each operation accepts. It refuses at load an integer literal outside the signed 64-bit range and a division by the literal 0.
  • TAIDL-TO v2.11 warns of a value outside the signed 64-bit range and refuses a kernel dimension below zero. It lowers dot and concatenate at s2 and u2.
  • A backend generated by ACT-Backend v1.13 or later gives each candidate its own solver. It drops, with a reason, a candidate whose tensor exceeds its buffer, and it compiles a kernel whose output is a constant.
  • ACT-Backend v1.14 no longer refuses at generation an operand on a buffer addressed along two or more dimensions, or one at a quasi-affine address. A backend it generates holds a value of its region's element count in the region's shape.
  • A backend generated by ACT-Backend v1.15 or later holds sizes and HBM offsets in 64 bits. It selects an instruction only where its operands' sizes stay within them.
  • Such a backend also reads a remainder and a negation in a size, and gives HBM a capacity of 96 GB instead of 1 GB.
  • ACT-Backend v1.16 no longer refuses a constraint over an instruction's attributes or addresses, in the language's full form, set_apart and set_no_partial_overlap among them. Nor does it refuse a start that multiplies two address attributes or divides by an attribute.
  • A backend generated by ACT-Backend v1.16 selects and places an instruction only where its constraints hold.
  • The release notes of TAIDL v2.15, TAIDL-TO v2.11 and ACT-Backend v1.13 to v1.16 have the details.

Compatibility:

ACT TAIDL TAIDL-TO ACT-Backend Docker image
v2.4 v2.15 v2.11 v1.16 devanshdvj/act:v2.4
  • ACT v2.4 moves the ecosystem to TAIDL v2.15, TAIDL-TO v2.11 and ACT-Backend v1.16.

This release:

  • The version is 2.4 in pyproject.toml and in act/__init__.py, and the README's install line names v2.4.
  • The ecosystem image devanshdvj/act:v2.4 comes in four tags, each built on the devanshdvj/act-env:py3.14-jax0.11.2 image with the same suffix:
    • -amd64
    • -arm64
    • -cuda13-amd64
    • -cuda13-arm64
  • The attached file act-v2.4-<tag>.txt lists what each image tag contains.

ACT v2.3

Choose a tag to compare

@DEVANSH-DVJ DEVANSH-DVJ released this 02 Nov 17:46
5e5aba5

Changes since v2.2:

  • Corrected the README's wording and the path in run.sh's build hint (#63)
  • Brought the Docker scripts to one form across the repositories (#65)
  • TAIDL v2.14 leaves the grammar, the generated parser and every name the package exports unchanged.
  • An oracle generated by TAIDL-TO v2.9 or later checks a kernel's declaration as it is compiled and refuses by name a kernel run before it is compiled or on arguments unlike its declared inputs.
  • An oracle generated by TAIDL-TO v2.10 checks what each call passes and its instruction's constraints, then runs the instruction's state updates, so a spec with a state update now gets an oracle.
  • A backend generated by ACT-Backend v1.10 or later selects an instruction only when each slice, transpose, reduce_add, concatenate, broadcast and dot of its semantics gives the same attributes as the kernel's, so an instruction that computes something else is no longer selected.
  • A backend generated by ACT-Backend v1.11 or later selects an instruction whose semantics holds a constant only for a kernel constant of the same value, and writes each constant into the assembly with its own value instead of the 16x16 s8 identity.
  • ACT-Backend v1.12 no longer refuses an instruction with an input marked by set_inplace at generation, and a backend it generates gives that instruction its own copy of a shared overwritten operand.
  • The release notes of TAIDL v2.14, of TAIDL-TO v2.9 and v2.10 and of ACT-Backend v1.10, v1.11 and v1.12 have the details.

Compatibility:

ACT TAIDL TAIDL-TO ACT-Backend Docker image
v2.3 v2.14 v2.10 v1.12 devanshdvj/act:v2.3
  • ACT v2.3 moves the ecosystem to TAIDL v2.14, TAIDL-TO v2.10 and ACT-Backend v1.12.

This release:

  • The version is 2.3 in pyproject.toml and in act/__init__.py, and the README's install line names v2.3.
  • NOTICE names the copyright of the ACT contributors and the software developed at the University of Illinois Urbana-Champaign.
  • The ecosystem image devanshdvj/act:v2.3 comes in four tags: -amd64, -arm64, -cuda13-amd64 and -cuda13-arm64, each built on the devanshdvj/act-env:py3.14-jax0.11.2 image with the same suffix.
  • The four attached files list what each image tag contains: act-v2.3-amd64.txt, act-v2.3-arm64.txt, act-v2.3-cuda13-amd64.txt and act-v2.3-cuda13-arm64.txt.

ACT v2.2

Choose a tag to compare

@DEVANSH-DVJ DEVANSH-DVJ released this 17 Oct 09:12
2328577

Changes since v2.1:

  • An oracle generated by TAIDL-TO v2.8 lowers every operation that TAIDL v2.13 lexes, including constant, iota, slice, compare, abs and tanh.
  • A backend generated by ACT-Backend v1.8 or later applies a rewrite only to the match that its precondition checked, and matches an instruction's semantics in whatever order it is written.
  • A backend generated by ACT-Backend v1.9 exits with status 1 when a compile finds no assembly, writing an Error: no assembly found: line on stderr that says why, and prints nothing on stdout unless given --verbose.
  • The release notes of TAIDL-TO v2.8 and of ACT-Backend v1.8 and v1.9 have the details.

Compatibility:

ACT TAIDL TAIDL-TO ACT-Backend Docker image
v2.2 v2.13 v2.8 v1.9 devanshdvj/act:v2.2
  • ACT v2.2 moves the ecosystem to TAIDL-TO v2.8 and ACT-Backend v1.9.

This release:

  • The version is 2.2 in pyproject.toml and in act/__init__.py, and the README's install line names v2.2.
  • The ecosystem image devanshdvj/act:v2.2 comes in four tags: -amd64, -arm64, -cuda13-amd64 and -cuda13-arm64, each built on the devanshdvj/act-env:py3.14-jax0.11.2 image with the same suffix.
  • The four attached files list what each image tag contains: act-v2.2-amd64.txt, act-v2.2-arm64.txt, act-v2.2-cuda13-amd64.txt and act-v2.2-cuda13-arm64.txt.

ACT v2.1

Choose a tag to compare

@DEVANSH-DVJ DEVANSH-DVJ released this 16 Oct 07:09
91f93b0

Changes since v1.3:

  • Moved the environment to Ubuntu 24.04 and JAX 0.11.2 (#51)
  • Picked the image in one image.sh, tidied comments, named v1.3's pins (#53)
  • Made the Docker scripts exit on a failed command or an unknown argument (#55)
  • Moved the ecosystem to py3.14-jax0.11.2 and TAIDL v2.13 (#57)
  • Recorded the formatter settings and added a formatting and lint check to CI (#59)
  • The environment provides ruff, clang-format and shfmt instead of pylint, autopep8 and flake8.
  • TAIDL v2.13 reads an ENTRY line without a name and refers to input k as %In<k>.
  • add_instruction no longer takes cost and takes update and constraints as keyword arguments, and add_constraints takes a list.
  • act.taidl exports State instead of Constant, and importing Constant raises ImportError; the class's field const_name is now name.
  • generate_oracle raises NotImplementedError for semantics that TAIDL-TO v2.7 cannot lower, naming the instruction and writing nothing, and ValueError for semantics whose shapes or attributes disagree.
  • generate_backend raises ValueError, naming the instruction, for a construct that ACT-Backend v1.7 does not support, such as a constraint or machine state.
  • The release notes of TAIDL v2.4 to v2.13, TAIDL-TO v2.6 and v2.7, and ACT-Backend v1.7 have the details.

Compatibility:

ACT TAIDL TAIDL-TO ACT-Backend Docker image
v2.1 v2.13 v2.7 v1.7 devanshdvj/act:v2.1
  • ACT v2.1 moves the ecosystem to an environment of Ubuntu 24.04, Python 3.14 and JAX 0.11.2, with TAIDL v2.13, TAIDL-TO v2.7 and ACT-Backend v1.7.

This release:

  • The version is 2.1 in pyproject.toml and in act/__init__.py, and the README's install line names v2.1.
  • The ecosystem image devanshdvj/act:v2.1 comes in four tags: -amd64, -arm64, -cuda13-amd64 and -cuda13-arm64, each built on the devanshdvj/act-env:py3.14-jax0.11.2 image with the same suffix.
  • The four attached files list what each image tag contains: act-v2.1-amd64.txt, act-v2.1-arm64.txt, act-v2.1-cuda13-amd64.txt and act-v2.1-cuda13-arm64.txt.

ACT environment py3.14-jax0.11.2

Choose a tag to compare

@DEVANSH-DVJ DEVANSH-DVJ released this 15 Oct 23:04
9d27dfd

The environment image of the ACT ecosystem: Python 3.14 and JAX 0.11.2, on Ubuntu 24.04.

  • It holds Python 3.14, JAX 0.11.2, OR-Tools 9.12, Rust 1.99.0, the ANTLR 4.9.2 tool with Java 17, cmake, nanobind 2.8.0, and ruff 0.17.0, clang-format 23.1.3 and shfmt 3.14.1.
  • It pins no ACT package.
  • The CI of taidl, act-oracle and act-backend installs its own tree into it.
  • The cuda13 images add JAX's CUDA 13 runtime, allocate GPU memory on demand (XLA_PYTHON_CLIENT_PREALLOCATE=false), and need an NVIDIA driver of 580 or later.
  • To build one from this tag, run docker/build.sh --env --cpu or docker/build.sh --env --cuda13.
  • The tag is on the merge commit of #51, and the four images are built from it.
  • At this tag docker/build.sh with no --env still builds the ecosystem image on py3.14-jax0.10.2, the ACT_ENV_TAG of docker/act-env.env.
  • The four attached files list what each image tag holds: act-env-py3.14-jax0.11.2-amd64.txt, act-env-py3.14-jax0.11.2-arm64.txt, act-env-py3.14-jax0.11.2-cuda13-amd64.txt and act-env-py3.14-jax0.11.2-cuda13-arm64.txt.

Images on Docker Hub

Image Digest
devanshdvj/act-env:py3.14-jax0.11.2-amd64 sha256:18f1288893ce52ab2c18c0ada9055db1930d395179eb018e0098dc90b8b4da9c
devanshdvj/act-env:py3.14-jax0.11.2-arm64 sha256:419e76caec14e7258102507457dbb77f6caffeb0c078b2785bb7999bf4bf728e
devanshdvj/act-env:py3.14-jax0.11.2-cuda13-amd64 sha256:358b80461cf49a5ca72dfef150f6b7288de0dd94aa98afbf1d5b2fdd62efab24
devanshdvj/act-env:py3.14-jax0.11.2-cuda13-arm64 sha256:88aa95a4e80b10461f9b8d8dea12cb2364a3ea2beb123ef5859ad9097a64bf3a

Changes since py3.14-jax0.10.2

  • Moved the environment to Ubuntu 24.04 and JAX 0.11.2 (#51)

ACT v1.3

Choose a tag to compare

@DEVANSH-DVJ DEVANSH-DVJ released this 13 Oct 06:27
9cf9751

Changes since v1.2:

  • Minor typo fix (#17)
  • Updated PLDI tutorial docker script (#18)
  • Ensuring asplos26 and micro25 tutorials are still accessible (#19)
  • Synced with asplos26 and micro25 branches (#20)
  • Imported a generator only when it is called (#22)
  • Moved the image to Python 3.14 and jax 0.10.2 (#24)
  • Added the ANTLR 4.9.2 tool to the image (#26)
  • Formatted the tree with ruff, shfmt and prettier, single quotes for strings (#28)
  • Split the image into the environment and the ecosystem (#30)
  • Built cuda13 images beside the CPU ones, picked by the host's GPU (#32)
  • Cited the OOPSLA 2026 paper and named ACT and its backend one way (#33)
  • Stopped build.sh pruning the dangling images of the daemon (#35)
  • Let exec.sh, run.sh and cleanup.sh take --cpu and --cuda13 (#37)
  • Restored the caller's ownership of the files exec.sh writes (#41)
  • Pinned TAIDL-TO v2.5 and ACT-Backend v1.6 (#43)
  • Required Python 3.14 and a setuptools that reads the license (#46)
  • Tested the pins and one end-to-end run in a new CI workflow (#49)

Compatibility:

ACT TAIDL TAIDL-TO ACT-Backend Docker image
v1.3 v2.3 v2.5 v1.6 devanshdvj/act:v1.3
  • ACT v1.3 moves the ecosystem to Python 3.14 and JAX 0.10.2.

This release:

  • The version is 1.3 in pyproject.toml and in act/__init__.py, and the README's install line names v1.3.
  • The ecosystem image is devanshdvj/act:v1.3 in four tags: -amd64, -arm64, -cuda13-amd64 and -cuda13-arm64, each built on the devanshdvj/act-env:py3.14-jax0.10.2 image of the same tag.
  • The four attached files list what each image tag holds: act-v1.3-amd64.txt, act-v1.3-arm64.txt, act-v1.3-cuda13-amd64.txt and act-v1.3-cuda13-arm64.txt.

ACT environment py3.14-jax0.10.2

Choose a tag to compare

@DEVANSH-DVJ DEVANSH-DVJ released this 11 Oct 00:16
ca4ac4c

The environment image of the ACT ecosystem: Python 3.14 and JAX 0.10.2.

  • It holds Python 3.14.8, JAX 0.10.2, OR-Tools 9.12, Rust, the ANTLR 4.9.2 tool with Java 17, cmake and nanobind 2.8.0.
  • It pins no ACT package.
  • The CI of taidl, act-oracle and act-backend installs its own tree into it.
  • The cuda13 images add JAX's CUDA 13 runtime and need an NVIDIA driver of 580 or later.
  • To build one from this tag, run docker/build.sh --env --cpu or docker/build.sh --env --cuda13.
  • The attached .yml files list each image's exact packages.

Images on Docker Hub

Image Digest
devanshdvj/act-env:py3.14-jax0.10.2-amd64 sha256:d24c214dba3dbfffb1f8296fa16b1fb207e19a95131de1f29630f69bee240e64
devanshdvj/act-env:py3.14-jax0.10.2-arm64 sha256:61bccbf9bcb7c09fdec6ad63177fdf97ed50bd3dc45c7eca1bd37b8ce56950c0
devanshdvj/act-env:py3.14-jax0.10.2-cuda13-amd64 sha256:c3e3053e64344b763fd6bd92e1ae5bf2fef80b32c1418ef4d3236c89bf3740ce
devanshdvj/act-env:py3.14-jax0.10.2-cuda13-arm64 sha256:a3f6b81592be58ae2720e75be7e429d2a4504d717040a0614b36f51bade5aa7d

Changes behind this environment

  • Moved the image to Python 3.14 and jax 0.10.2 (#24)
  • Added the ANTLR 4.9.2 tool to the image (#26)
  • Split the image into the environment and the ecosystem (#30)
  • Built cuda13 images beside the CPU ones, picked by the host's GPU (#32)