Repository navigation
ACT-Backend v1.9
Changes since v1.8, how a compile ends and what it writes:
- Reported a dropped candidate with the allocator's reason (#144)
- Ended a compile that finds no assembly with status 1 and one line on stderr (#146)
- Prepared the output path first and wrote the output only when complete (#150)
- Named every limit of a compile and reported which one ended it (#153)
- Exited 1 when a required flag is missing (#155)
- Made an unreadable kernel end the compile with the no-assembly line (#157)
- Read each kernel attribute by name and refused what the reader cannot read (#163)
- Made a strided slice or clashing shapes end the compile with the no-assembly line (#166)
- Read a kernel's root from its ROOT mark (#168)
- Made a kernel line the reader cannot split end the compile with the no-assembly line (#170)
- Extracted the last e-graph after the iteration limit (#172)
- Kept the log directory private to its compile and out of the assembly's header (#177)
- Printed the search's progress only under --verbose (#179)
This release:
- The version is 1.9 in
pyproject.toml, inact_backend/__init__.pyand in the README's install line, and 1.9.0 in the generated crate'sCargo.tomlandCargo.lock. - A compile that finds no assembly, including one with an unreadable kernel or a failing cost model, ends with one line on stderr that says why, exits with status 1 as a usage error does, and leaves no output.
- The usage errors and that line are lowercase after
Error:, with no final period. - A usage error leaves an earlier output untouched, and an output path or log directory that the backend cannot write ends the compile before its search.
- A compile prints on stdout only the candidates it drops unless given
--verbose, and ends its search after one second, or sooner once the time since the start exceeds ten times the time of its best candidate; its no-assembly line says which limit ended it. - The kernel reader reads each attribute by name, the root from its ROOT mark, and a rank-0 value as one element, declared as
()in the assembly, and it ends the compile with a message naming anything it cannot read. - A compile given no
--logkeeps its candidates in its own directory, which it leaves in place, and one given--logwrites into that directory and removes nothing in it. - The assembly's header names the kernel's path.
- The two examples compile
attention.hloto the same assembly as in v1.8, except for the header's# Input file:line. - Its 324 tests run against the installed wheel in
devanshdvj/act-env:py3.14-jax0.11.2with TAIDL-TO v2.6, on amd64 and arm64.