Repository navigation
v0.3.4 — Smaller wheel: every CUDA kernel compiled once
sweep-solver 0.3.4
A packaging release on top of 0.3.3: the same solver in less than half the download. Upgrade with pip install -U sweep-solver; sweepx 0.3.4 requires it, so pip install -U sweepx brings it too.
Changed
- Smaller wheel: every CUDA kernel is compiled once. (#105)
- Size: the wheel drops from 93.1 to 42.4 MB, and the installed cores from 157.3 / 189.9 MB (cu12 / cu13) to 70.8 / 85.8 MB.
- Cause: a kernel template launched from a header was instantiated in every translation unit that included it -- an equation's forward and backward units, and every equation sharing a kernel family.
- Fix: each family is now instantiated once, in its
kernels.cu, and launched through a table of its stencil-order specializations. - Results are unchanged. The machine code of every kernel on every architecture is byte-identical to 0.3.3's. Records and gradients match 0.3.3 bitwise wherever 0.3.3 reproduces them run to run.
The CUDA cores are rebuilt (manylinux_2_28, ABI 2): cu12 67973271, cu13 efe981db.
Full changelog: v0.3.3...v0.3.4