Rust bindings to SuiteSparse:GraphBLAS. Crates should not directly use these bindings. Instead, the crate graphblas_sparse_linear_algebra provides a safe and idiomatic wrapper.
suitesparse_graphblas_sys wraps the SuiteSparse:GraphBLAS v8.2.0. GraphBLAS implementation from Timothy A. Davis. This implementation is mostly compatible with the GraphBLAS specification version 2.0.
suitesparse_graphblas_sys uses the SuiteSparse:GraphBLAS GraphBLAS implementation developed by Timothy A. Davis.
By default, graphblas_sparse_linear_algebra makes a new build of SuiteSparse:GraphBLAS and links to it as a static dependency.
To install the required packages listed below on Ubuntu 24.04:
sudo apt install git build-essential pkg-config libssl-dev cmake clang
suitesparse_graphblas_sys clones the SuiteSparse:GraphBLAS repository upon build. The build system must have Git installed and an internet connection.
suitesparse_graphblas_sys includes a build script to build SuiteSparse:GraphBLAS from source. The build process requires an installed C compiler, for example GCC.
suitesparse_graphblas_sys' build script reads the following environment variables:
- SUITESPARSE_GRAPHBLAS_SYS_COMPILER_PATH with the path of the C compiler on the build system. For example, when using GCC11 on Ubuntu 22.04 please set the environment variable to: "/usr/lib/gcc/x86_64-linux-gnu/11"
- SUITESPARSE_GRAPHBLAS_SYS_OPENMP_STATIC_LIBRARY_NAME with the name of the openmp implementation to be used. For example, when using GCC please set the environment variable to "gomp"
suitesparse_graphblas_sys depends on bindgen, please make sure the build system meets its requirements
suitesparse_graphblas_sys also requires CMake installed on the build system.
Awesome, contributions are welcome. suitesparse_graphblas_sys and your contribution may be relicensed and integrated into commercial software in the future. Therefore, you will be asked to agree to the Contributor License Agreement when you make a pull request.
suitesparse_graphblas_sys is licensed under Creative Commons Attribution Non Commercial 4.0 International. For other licensing options, please contact Sam Dekker.
Tested on Ubuntu 22.04.1 LTS with the distribution standard GCC compiler.