8 个版本

0.3.0 2024年6月9日
0.2.1 2023年10月13日
0.1.6 2023年2月14日
0.1.5 2022年11月6日
0.1.1 2022年10月23日

#1001 in 数学

Download history 6/week @ 2024-04-23 13/week @ 2024-04-30 6/week @ 2024-05-07 1/week @ 2024-05-14 7/week @ 2024-05-21 3/week @ 2024-05-28 148/week @ 2024-06-04 43/week @ 2024-06-11 14/week @ 2024-07-02

579 每月下载量
用于 2 个 Crates (通过 graphblas_sparse_linear_a…)

CC-BY-NC-4.0

1MB
21K SLoC

包含 (静态库, 505KB) libgomp.a

suitesparse_graphblas_sys

Rust 对 SuiteSparse:GraphBLAS 的绑定。Crates 应当不直接使用这些绑定。相反,crate graphblas_sparse_linear_algebra 提供了一个安全且符合习惯的包装。

GraphBLAS 实现

suitesparse_graphblas_sys 包装了 SuiteSparse:GraphBLAS v8.2.0。由 Timothy A. Davis 实现的 GraphBLAS。此实现与 GraphBLAS 规范版本 2.0 大部分兼容。

要求

suitesparse_graphblas_sys 使用由 Timothy A. Davis 开发的 SuiteSparse:GraphBLAS GraphBLAS 实现。

默认情况下,graphblas_sparse_linear_algebra 会为 SuiteSparse:GraphBLAS 创建一个新的构建版本并将其作为静态依赖项链接。

Git

在构建时,suitesparse_graphblas_sys 会克隆 SuiteSparse:GraphBLAS 仓库。构建系统必须安装 Git 并连接到互联网。

C 编译器

suitesparse_graphblas_sys 包含一个构建脚本来从源代码构建 SuiteSparse:GraphBLAS。构建过程需要一个已安装的 C 编译器,例如 GCC

环境变量

suitesparse_graphblas_sys 的构建脚本读取以下环境变量

  • SUITESPARSE_GRAPHBLAS_SYS_COMPILER_PATH — 构建系统上 C 编译器的路径。例如,当在 Ubuntu 22.04 上使用 GCC11 时,请设置环境变量为: "/usr/lib/gcc/x86_64-linux-gnu/11"
  • SUITESPARSE_GRAPHBLAS_SYS_OPENMP_STATIC_LIBRARY_NAME — 要使用的 openmp 实现的名称。例如,当使用 GCC 时,请设置环境变量为 "gomp"

Bindgen 和 CMake

suitesparse_graphblas_sys 依赖于 bindgen,请确保构建系统满足其 要求

suitesparse_graphblas_sys 还需要在构建系统上安装 CMake

贡献

太棒了,欢迎贡献。suitesparse_graphblas_sys 和您的贡献可能会在未来重新授权并集成到商业软件中。因此,当您提交拉取请求时,您将被要求同意贡献者许可协议

许可

suitesparse_graphblas_sys 采用Creative Commons Attribution Non Commercial 4.0 International 许可。有关其他许可选项,请联系 Sam Dekker。

兼容性

已在 Ubuntu 22.04.1 LTS 上进行测试,使用的是发行版的标准 GCC 编译器。

无运行时依赖

~0–3MB
~64K SLoC