Skip to content

FlatPPL alpha 5

Pre-release
Pre-release

Choose a tag to compare

@BJMCox BJMCox released this 10 Oct 12:44
· 289 commits to main since this release
flatppl-alpha.5
224274b

This alpha rebuilds the fork on upstream Enzyme-JAX a1dc5d5c. Branch flatppl-main carries the FlatPPL changes as one commit per feature, followed by the fork CI and packaging commits.

Native changes since alpha 4: product reductions differentiate exactly at zero factors, strided-slice adjoints and slice fusions keep their coordinates and extents, floating products keep their order during slice fusion, power simplification preserves domains, digamma and polygamma derivatives are corrected, active optimization barriers differentiate, static scatters are compacted and pruned, and unary CHLO operations batch without lane loops.

Wheels cover Python 3.12, 3.13 and 3.14 on macOS arm64, Linux x86_64 and Linux aarch64. Each wheel has its own native build for its Python version. JAX and jaxlib stay pinned to 0.11.2. provenance.json records each wheel's builder, source revision and native library hash. The Linux aarch64 wheels were added after the first upload.

Validation: all 1,495 lit tests pass on macOS arm64. The Enzyme Python tests pass on macOS arm64, Linux x86_64 and aarch64 CPUs, an A100 GPU and a GH200 GPU, apart from three test-fixture failures in x64 mode that the previous fork build shows too. Each release wheel was installed into a new environment and passed the focused Python tests. Derivative contracts pass in float32 and float64 on M4, A100 and GH200: 80 of 80, 80 of 80 and 118 of 118. The FlatPPL testsuite's StableHLO selection passes 228 of 228 tests.