XArith Changelog
All notable changes to XArith will be documented in this page.
[0.2.2] - 2026-08-25
Required SDK: 1.4.10
Added
VpeContextblocking allocation:waitAllocateBuffer,waitAllocateBuffersandwaitAllocateBuffersWithSizes. Prefer these to atryAllocateBuffersretry loop, which starves the peers it waits on.matmulexample: matrix multiply on the VPE, with task-parallel and A-row-tiled variants. See Matmul.
Changed
- Faster SRAM buffer allocation under contention, with no throughput collapse as tasks are added.
Fixed
- Examples no longer read stale kernel output; hosts read results back directly, with no
pxl::flushHostCacheof their own.
Removed
- BREAKING The
xarith_usage_pxccexamples tree and itsxarith-examples-pxcctarball;xarith_usageis itself the pxcc single-source tree now, and a singlexarith-examplestarball ships the examples.
[0.2.1] - 2026-07-24
Superseded build.
release-1784874488was built against SDK 1.4.8. Userelease-1785758904— the same 0.2.1, rebuilt against 1.4.9.libxarith-devships from the same build aslibxvector-dev.
Added
VpeContextscalar-vector ops:scalarAdd/scalarSub/scalarMul/scalarDiv/scalarXor/scalarDot.VpeContext::copy,fillZero, andfillOne.
[0.2.0] - 2026-06-25
Changed
- BREAKING Dimension is no longer bound to the
VpeContext. Buffers are now allocated by byte size (bytesForDimension()/allocateBuffer(byteSize)) and every operation takes an explicit per-calldimension, so a single context can serve multiple dimensions. - BREAKING
VpeContext::load/storeare now byte-basedvoid*signatures with the context’sDataTypeas the single source of truth for element width (replacing thefloat*/half*overloads). - Faster SRAM buffer allocation, especially under multi-task contention.
[0.1.4] - 2026-05-20
Added
- FP16 (half-precision) element support in
VpeContext
[0.1.3] - 2026-04-30
Added
VpeContext::dot2synchronous API that returns two scalars from a single fused operationdot2demo in the xarith basic example anddotvsdot2saturation sweep in the VPE benchmark example
[0.1.2] - 2026-04-07
Added
- Batch SRAM buffer allocation APIs (
tryAllocateBuffers,freeBuffers)
[0.1.1] - 2026-03-19
Changed
- Rename the package
[0.1.0] - 2026-03-05
Added
- Initial release