cuBool 1.0.0
cuBool project source code for the version 1.0.0.
Summary
cuBool is a sparse linear Boolean algebra for Nvidia Cuda computations. Library provides C compatible API, the core of the library is written on C++ with CUDA C/C++ API and Thrust for Cuda related computations. Library also supports CPU backend for non-Cuda devices. Pycubool Python package is shipped with the library source code and it provides high-level safe and efficient access to the library within Python runtime.
Features
- Cuda backend
- Sequential (CPU) backend
- Sparse matrix support
- Matrix creation (empty, from data, with random data)
- Matrix-matrix operations (multiplication, element-wise addition, kronecker product)
- Matrix operations (equality, transpose, reduce to vector, extract sub-matrix)
- Matrix data extraction (as lists, as list of pairs)
- Matrix syntax sugar (pretty string printing, slicing, iterating through non-zero values)
- IO (import/export matrix from/to
.mtx
file format) - GraphViz (export single matrix or set of matrices as a graph with custom color and label settings)
- Debug (matrix string debug markers, logging, operations time profiling)