Repository navigation
Releases
Releases · act-compiler/act
ACT v2.4
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
dotandconcatenateats2andu2. - 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_apartandset_no_partial_overlapamong 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.tomland inact/__init__.py, and the README's install line namesv2.4. - The ecosystem image
devanshdvj/act:v2.4comes in four tags, each built on thedevanshdvj/act-env:py3.14-jax0.11.2image with the same suffix:-amd64-arm64-cuda13-amd64-cuda13-arm64
- The attached file
act-v2.4-<tag>.txtlists what each image tag contains.
ACT v2.3
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,broadcastanddotof 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
s8identity. - ACT-Backend v1.12 no longer refuses an instruction with an input marked by
set_inplaceat 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.tomland inact/__init__.py, and the README's install line namesv2.3. NOTICEnames the copyright of the ACT contributors and the software developed at the University of Illinois Urbana-Champaign.- The ecosystem image
devanshdvj/act:v2.3comes in four tags:-amd64,-arm64,-cuda13-amd64and-cuda13-arm64, each built on thedevanshdvj/act-env:py3.14-jax0.11.2image 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.txtandact-v2.3-cuda13-arm64.txt.
ACT v2.2
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,absandtanh. - 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.tomland inact/__init__.py, and the README's install line namesv2.2. - The ecosystem image
devanshdvj/act:v2.2comes in four tags:-amd64,-arm64,-cuda13-amd64and-cuda13-arm64, each built on thedevanshdvj/act-env:py3.14-jax0.11.2image 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.txtandact-v2.2-cuda13-arm64.txt.
ACT v2.1
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-formatandshfmtinstead ofpylint,autopep8andflake8. - TAIDL v2.13 reads an
ENTRYline without a name and refers to input k as%In<k>. add_instructionno longer takescostand takesupdateandconstraintsas keyword arguments, andadd_constraintstakes a list.act.taidlexportsStateinstead ofConstant, and importingConstantraisesImportError; the class's fieldconst_nameis nowname.generate_oracleraisesNotImplementedErrorfor semantics that TAIDL-TO v2.7 cannot lower, naming the instruction and writing nothing, andValueErrorfor semantics whose shapes or attributes disagree.generate_backendraisesValueError, 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.tomland inact/__init__.py, and the README's install line namesv2.1. - The ecosystem image
devanshdvj/act:v2.1comes in four tags:-amd64,-arm64,-cuda13-amd64and-cuda13-arm64, each built on thedevanshdvj/act-env:py3.14-jax0.11.2image 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.txtandact-v2.1-cuda13-arm64.txt.
ACT environment py3.14-jax0.11.2
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-oracleandact-backendinstalls its own tree into it. - The
cuda13images 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 --cpuordocker/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.shwith no--envstill builds the ecosystem image onpy3.14-jax0.10.2, theACT_ENV_TAGofdocker/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.txtandact-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
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.tomland inact/__init__.py, and the README's install line namesv1.3. - The ecosystem image is
devanshdvj/act:v1.3in four tags:-amd64,-arm64,-cuda13-amd64and-cuda13-arm64, each built on thedevanshdvj/act-env:py3.14-jax0.10.2image 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.txtandact-v1.3-cuda13-arm64.txt.
ACT environment py3.14-jax0.10.2
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-oracleandact-backendinstalls its own tree into it. - The
cuda13images 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 --cpuordocker/build.sh --env --cuda13. - The attached
.ymlfiles 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 |