hlo_return() accepts a token, e.g. to hand one on from a while body, and two token ValueTypes compare equal.
Bugfix: format_double() rounds an f32 constant to single precision once, instead of rounding a 9-digit decimal of it a second time.
stablehlo 0.5.0
Breaking changes
A Shape is now represented as an integer.
shape.Shape was removed.
The tensor generics and DataType now come from xlamisc, which absorbed tengen; stablehlo no longer depends on tengen.
Features
CustomOpBackendConfig() now accepts ConstantAttr items, so a custom call can carry array-valued attributes (what an XLA FFI handler decodes as Span<const T>) and not just scalars, booleans and strings.
hlo_custom_call() gained an output_operand_aliases argument, built with the new OutputOperandAlias(). XLA then hands the handler the same buffer for the aliased operand and result, which is what lets an in-place kernel avoid a copy.
Bug fixes
Fixed various bugs in the stablehlo inference functions.
Improved some error messages in the inference functions.
hlo_dot_general() gained a precision_config argument, which is either NULL or one or two of "DEFAULT", "HIGH" and "HIGHEST".
Breaking changes
Adopted tengen’s enum-style DataType. The BooleanType(), FloatType(), IntegerType() and UIntegerType() constructors were removed, use dtype() / as_dtype() instead.
The package now requires R >= 4.4.0.
Performance
The package was optimized w.r.t. runtime performance. This was achieved by reducing the number of classes that are used internally when creating Funcs. The hlo_<*> user API remains unaffected.
The hlo_* builders of common ops gained an output_types argument. When the output types are known ahead of time (e.g. from a lowering that ran type inference at trace time), passing them skips redundant inference and its input validation.
Bug fixes
emit width-correct hex for f64 NaN/Inf constants
hlo_reduce_window() now validates the shape of padding against its declared type instead of its R representation.
stablehlo 0.3.0
Features
Added support for CHLO ops, a higher-level companion dialect to stableHLO that is lowered to stableHLO during compilation. New ops: