Skip to content

Cyclops v1.5.2

Compare
Choose a tag to compare
@solomonik solomonik released this 04 Jun 21:29
· 608 commits to master since this release

This release introduces new functionality and interface changes. The changes are consequential to performance, especially for sparse tensors and non-standard element types.

  1. data is now stored, accepted, and returned as an array of objects (i.e. created by new rather than malloc), read_local remains as before (memory should be released by free), but new routines have been introduced: get_local_data and get_local_pairs, which return data that should be released with delete
  2. as consequence of (1), more general object types are now supported for sequential execution
  3. via (2) it is now possible to leverage block sparsity, by defining a sparse tensor on MPI_COMM_SELF whose elements are dense tensors on MPI_COMM_WORLD (or any desired communicator), which yields bulk-synchronous execution of each block contraction and a memory-efficient block-sparse layout (see examples/block_sparse.cxx)
  4. QR and SVD are now available in C++ and Python, supporting real/complex in single/double precision
  5. the build system has been improved to fix bugs and improve robustness