Skip to content

Releases: RESTGroup/rstsr

rstsr-v0.6.2

14 Nov 04:55

Choose a tag to compare

v0.6.2 -- 2025-11-15

MSRV specified to 1.82.0, written to Cargo.toml.

Functionality changes:

  • rstsr-core: asarray will not panic when layout is not compact if pass &[T] or &mut [T] to give view/mut-view tensor. However, pass Vec<T> to give owned tensor will still panic if layout is not compact.

rstsr-v0.6.0

03 Nov 04:12

Choose a tag to compare

v0.6.0 -- 2025-11-03

Refactor:

  • rstsr-core: Split tensor/manuplication.rs into a module with folder. (#67)

API breaking changes:

  • rstsr-core: Supporting type-promotion for assign. (#65)
  • rstsr-dtype-traits: Split previous dtype trait PromotionAPI to two parts DTypePromoteAPI and DTypeCastAPI. (#66)
  • Refactor of some dtype-related traits and impl. (#66)
  • rstsr-core: Add lifetime annotation to TensorRefAPI / TensorRefMutAPI (these two traits are currently not applied to any implementations). (#67)
  • rstsr-common: Added traceback in error-handling, which changed the fundamental data structure of Error of RSTSR. (#67)
  • rstsr-common: DimBaseAPI::const_ndims is method (with &self as argument) now. (#67)

Enhancements:

  • rstsr-dtype-traits: add function isclose. (#66)
  • rstsr-core: add function allclose. (#66)
  • rstsr-core: simplifies some trait bounds for obtaining view of tensor. (#66)
  • rstsr-core: Add macro tensor_from_nested! (similar to ndarray::array!). (#67)
  • rstsr-common: Added rstsr_unwrap to print unwrap with traceback. Added cargo feature traceback in many crates for printing traceback info of place of panic. (#67)
  • rstsr-common: Added normalize_axes_index for development (similar to numpy.normalize_axis_tuple). (#67)
  • rstsr-common: Added Option<i/usize> to AxesIndex trait implementation. (#67)
  • Some API documents updated. (#67)

Fixes:

  • Fixes some possible memory-safety problems of uninitialized_vec in reduce implementations in rstsr-native-impl. (#66)
  • Fix no_std. (#67)
  • Fixed rt::expand_dims and rt::flip in multiple axes cases (accordance to NumPy). (#67)

v0.6.0-alpha.1 -- 2025-09-30

This is not a completed version. May have other API breaking changes before v0.6.0 release.

API breaking changes:

  • Using DeviceRawAPI<MaybeUninit<T>> instead of DeviceRawAPI<T> for output types in device operator traits, changing both parameter types and trait bounds (#60).
  • Using ExtNum, ExtFloat, ExtReal for trait extensions to crate num. Removed previous traits (per-functionality) AbsAPI, ReImAPI, etc. This affects trait bounds (RESTGroup/rstsr/#63).
  • Using data type promotion rules in several common functions in CPU device, changing trait bounds (#64).

Enhancements:

  • Added TBLIS plugin (#60). Now Einstein summation is available from rt::tblis::einsum (with cargo feature rstsr/tblis enabled, and linkage of libtblis.so).
  • Added uninit, assume_init (#61).
  • Added take, all, any, count_nonzero, nextafter, reciprocal (#63).
  • Using data type promotion rules for several common functions in CPU device implementations (sin, greater, etc., making comparasion of different types, or sin to integer list be evaluatable) (#64).

Refactor:

  • Changed most internal device implementation that works with empty_impl to uninit_impl (#61).
  • Changed directory structure for device implementations (currently BLAS devices are categorized to directory crates-device) (#62).
  • Removed previous rstsr-book in this repository (#63).

Parts of API document also updated.

rstsr-v0.6.0-alpha.1

30 Sep 05:14

Choose a tag to compare

rstsr-v0.6.0-alpha.1 Pre-release
Pre-release

v0.6.0-alpha.1 -- 2025-09-30

This is not a completed version. May have other API breaking changes before v0.6.0 release.

API breaking changes:

  • Using DeviceRawAPI<MaybeUninit<T>> instead of DeviceRawAPI<T> for output types in device operator traits, changing both parameter types and trait bounds (#60).
  • Using ExtNum, ExtFloat, ExtReal for trait extensions to crate num. Removed previous traits (per-functionality) AbsAPI, ReImAPI, etc. This affects trait bounds (RESTGroup/rstsr/#63).
  • Using data type promotion rules in several common functions in CPU device, changing trait bounds (#64).

Enhancements:

  • Added TBLIS plugin (#60). Now Einstein summation is available from rt::tblis::einsum (with cargo feature rstsr/tblis enabled, and linkage of libtblis.so).
  • Added uninit, assume_init (#61).
  • Added take, all, any, count_nonzero, nextafter, reciprocal (#63).
  • Using data type promotion rules for several common functions in CPU device implementations (sin, greater, etc., making comparasion of different types, or sin to integer list be evaluatable) (#64).

Refactor:

  • Changed most internal device implementation that works with empty_impl to uninit_impl (#61).
  • Changed directory structure for device implementations (currently BLAS devices are categorized to directory crates-device) (#62).
  • Removed previous rstsr-book in this repository (#63).

Parts of API document also updated.

rstsr-v0.5.1

01 Sep 08:13

Choose a tag to compare

chore: Release package rstsr version 0.5.1

rstsr-v0.5.0

26 Aug 15:33

Choose a tag to compare

v0.5.0 -- 2025-08-26

API breaking changes:

  • Revert to non-default for dynamic loading (#57)

Fixes (with API breaking behavior change):

rstsr-v0.4.1

05 Aug 07:33
8906b42

Choose a tag to compare

v0.4.1 -- 2025-08-05

Enhancements:

  • Added CPU devices (backends) MKL (#48), BLIS (#49), AOCL (#51), KML (#53)

Possible API breaking change:

  • For conversion between CBLAS flags and RSTSR flags (defined in crate rstsr-common), previously CBLAS flags are in crate rstsr-lapack-ffi. Now those flags are defined in rstsr-cblas-base, and been applied in all FFI crates (at RESTGroup/rstsr-ffi).

Actions:

  • Added ARM support (#52)

rstsr-v0.4.0

25 Jul 06:37

Choose a tag to compare

v0.4.0 -- 2025-07-25

API breaking change: Supporting dynamic loading for OpenBLAS (#47)

  • Update rstsr-lapack-ffi and rstsr-openblas-ffi version to v0.4.
  • Default to dynamic_loading for using OpenBLAS.
  • Changes internal ways to call BLAS and LAPACK functions.

If compile time and disk usage becomes very large for rstsr-openblas-ffi, you may wish to set those options in Cargo.toml:

[profile.dev.package.rstsr-lapack-ffi]
opt-level = 0
debug = false

[profile.dev.package.rstsr-openblas-ffi]
opt-level = 0
debug = false

rstsr-v0.3.10

22 Jul 03:54

Choose a tag to compare

v0.3.10 -- 2025-07-22

Fix:

  • Fix unpack_tri signature
  • Fix gemm/syrk bug when k=0 (#46)

rstsr-v0.3.9

07 Jul 07:55

Choose a tag to compare

v0.3.9 -- 2025-07-07

Enhancements:

  • Feature with optional dependencies. Now in main crate rstsr, using feature faer and openblas along with linalg and sci should be ok, without explicitly declaring rstsr-linalg-traits and rstsr-sci-traits as dependencies.

rstsr-v0.3.8

04 Jul 08:06

Choose a tag to compare

v0.3.8 -- 2025-07-04

Bug Fix:

  • Tested complex linalgs for Faer and OpenBLAS devices.

Enhancements:

  • DeviceFaer: generalized eigen, triangular solve (#44)