Skip to content

Cyclops v1.5.4

Compare
Choose a tag to compare
@solomonik solomonik released this 24 Apr 23:55
· 296 commits to master since this release

Release includes bug fixes and a number of major functionality extensions:

  • CCSR layout (CSR with compression of row counts to nonzero rows) is now supported for sparse=sparse*dense contractions
  • TTTP (tensor times tensor product) is now supported, which enables efficient handling of contractions like V["ijk"] = U["ijk"]*A["jr"]*B["kr"], to arbitrary order with operands like A and B for any selection of modes in U
  • Cholesky and triangular solve are now directly interfaced to ScaLAPACK, also available on python layer
  • reshape functionality is now available at C++ level
  • sparse tensor I/O is now available
  • a randomized SVD routine has been added to C++ and Python level
  • option to threshold singular values has been added to regular SVD
  • SVD can now be called explicitly on tensors, with modes selected for the left and right singular vectors via strings
  • a light-weight contraction execution time model has been added
  • contraction of a sequence of tensors is now done in the best linear ordering for up to 8 tensors (this will be improved in the near future to the best tree ordering)
  • depending on the predicted sparsity of the output, sparse intermediates are now automatically defined and used within a sequence of contractions, including for sparse*dense contractions where the sparse tensor has fewer nonzeros than rows in the corresponding matrix unfolding
  • various bug fixed have been made to the python interface, in particular, sparsity is now maintained and scaling is handled more properly