Repository navigation
ACT-Backend v1.6
Changes since v1.5, clean failures at generation:
- Removed what an earlier generation or build left behind (#60)
- Raised on a template fragment's key that is missing or unknown (#62)
- Left an instruction with no semantics out of the backend (#64)
- Refused a spec name the generated backend cannot carry (#66)
- Refused an operation the selector lacks and mapped concatenate (#69)
- Refused the semantics values a rule cannot be written from (#74)
- Refused the inputs and attributes a rule cannot be written from (#79)
- Wrote an empty access list and refused unaddressable operands (#83)
- Let the search run ten times as long as its best candidate took (#85)
- Described a cost model as evaluating a candidate (#86)
- Cited the OOPSLA 2026 paper in place of the arXiv preprint (#87)
This release:
- The version is 1.6 in
pyproject.toml, inact_backend/__init__.pyand in the README's install line, and 1.6.0 in the generated crate'sCargo.tomlandCargo.lock. - Generation now raises
ValueError, naming what is refused, where it built a backend that panicked, misaddressed an operand or failed in the build: for a name the generated code cannot carry, an operation or a value count the selector lacks, a value or an input a rule cannot be written from, and an operand the allocator cannot address. - A size written with
//is refused by name where its build failed: the division a size is written with is/. - A semantics may use
concatenate, an instruction with no semantics is left out of the backend, a generation that fails leaves no earlier binary, and a build by hand makes the allocator's build tree anew. - A compile runs ten times as long as it took to find its best candidate, where it ran twice as long, so it evaluates more of a kernel's candidates.
- This release still pins TAIDL v2.3, and QKV and QKV_new compile to the assembly they compiled to at v1.5, byte for byte.
- Its 170 tests run in
devanshdvj/act-env:py3.14-jax0.10.2on TAIDL-TO v2.5, on amd64 and arm64, on the installed wheel.