Releases: gomlx/go-xla
Releases · gomlx/go-xla
Release list
v0.2.2: New `OptimizationBarrier` op, `pjrt.IsCPU()`
- StableHLO: added
OptimizationBarrier()op. - For
Value.OpName(): return "InputParameter" (stablehlo.InputParameterName) for input parameters instead of "nil". - Added pjrt.Plugin.IsCPU() method.
- Internal: fixed order of implemented ops in OpType enum.
v0.2.1 Small fix to NVidia drivers path
Merge pull request #29 from gomlx/fixed-nvidia-cuda-path - Fixed CUDA library paths -- it was hardcoded to a test directory.
v0.2.0: Dynamic Shapes; added `Call()`; Quantized shapes;
go.mod: updated to Go 1.25: needed forsynctest.- Fixed sub-byte types Int4, Int2, Uint4, Uint2 to assume packed storage; Added byte (
Uint8) toInt4bitcast test.
StableHLO
- Added
Call()op (thx @ajroetker). - Added
Value.OpName()for introspection. - Dynamic Shapes (thx @ajroetker) -- with and without dynamic bounds.
- Added
DimensionBoundsandEncodeBoundsfields toShapestruct - Added ops:
DynamicReshape,DynamicBroadcastInDim,DynamicIota,DynamicGather,
DynamicPad,DynamicConv.
- Added
- Quantization:
- Add Quantization field to shapes.Shape.
- Add i2, i4, ui2 and ui4 DTypes.
- Add UniformQuantize() and UniformDequantize() ops.
- Add Value.WithOutputElementType() to allow change of quantization parameters for operations.
- Functions:
- Ops choose the "innermost" scope of their operands -- meaning they are added the closure functions if they are operating on a value that is local to the closure.
PJRT
- Updated
DefaultCPUVersionto "v0.98.0" (pjrt-cpu-binariesversion) - Added
Client.IsCUDA()method. - Installation:
- prevent race condition of concurrent (auto-)installations (using flock, so it works cross-processes).
- Bumped XLA's
pjrt_c_api.hto version 0.98 - Added
Buffer.Bitcast.
v0.1.4
- Updated installer library/cli to support linux/arm64 and windows/amd64.
Generalized CPU installation. - linux and amazonlinux now use the same PJRT binary, built on a glibc-2.35 system (Ubuntu 22.04).
- Updated dependency to
pjrt-cpu-binariesv0.83.3.
v0.1.3
- Replaced GenPool by the
internal/pool.Pool: it simplifies a bit, a bit faster and one less
dependency.
v0.1.2 prjt_installer in its own module
- Removed external dependency to
github.com/charmbracelet/huh/spinnerfrompkg/installer. - Split
cmd/pjrt_installerinto its own module (its owngo.mod), to limit defaultgo-xla"apparent" dependencies. - Package
pkg/installer:- Spinner now limited to 1 line (truncates line to fit)
- Fixed GitHub CI tests: added missing
GH_TOKEN.
v0.1.1 Removed spurious debug message
Fixed spurious debug message.
go-xla = gomlx/gopjrt+gomlx/stablehlo; First release, updated docs.
v0.1.0 Merge stablehlo and pjrt into go-xla.
- Merge
stablehloandpjrtintogo-xla.- Changed install directory to
.../lib/go-xla(instead of.../lib/gomlx/pjrt). - Removed deprecated
xlabuilder. - Split PJRT CPU binary releases into https://github.com/gomlx/pjrt-cpu-binaries
- Changed install directory to
- Installation scripts also exported as a library.
- Added "installer.AutoInstall".
- Improvements:
- Fixed memory leaks on plugin destruction.
- Replaced sync.Pool by GenPool: this avoids frequent unnecessary freeing of arenas.
- Align with Google style:
- Removed
github.com/janpfeifer/mustdependencies - Removed
testifydependencies
- Removed