19 个版本
0.10.9 | 2024年2月3日 |
---|---|
0.10.8 | 2023年1月14日 |
0.10.7 | 2022年12月25日 |
0.10.5 | 2022年8月27日 |
0.5.0 | 2016年5月23日 |
#106 in 数学
15,671 每月下载量
用于 100 个包 (49 直接)
20KB
305 行
openblas-src

该软件包通过 OpenBLAS 提供BLAS和LAPACK的源代码。
架构
配置
支持以下 Cargo 功能
cache
在共享目录中构建,而不是在target
中构建(见下文),cblas
构建 CBLAS(默认启用),lapacke
构建 LAPACKE(默认启用),static
静态链接到 OpenBLAS,以及system
跳过构建捆绑的 OpenBLAS。
缓存
OpenBLAS的cache
特性允许OpenBLAS构建产物在具有不同target
目录的crate之间重用。这避免了不必要地重新构建OpenBLAS。然而,这也阻止了cargo clean
命令正常工作,因为上述构建产物不会被该命令删除。
OpenBLAS二进制文件将放置在${XDG_DATA_HOME}/openblas_build/[构建配置对象哈希]
。例如,带有LAPACK的构建和无LAPACK的构建将放置在不同的目录中。如果您将OpenBLAS构建为共享库,则需要将上述目录添加到LD_LIBRARY_PATH
(对于Linux)或DYLD_LIBRARY_PATH
(对于macOS)。由于Windows不支持从源码构建(参见下一节),因此该特性也不支持。
Windows和vcpkg
在Windows上,openblas-src
依赖于vcpkg来查找OpenBLAS。在构建之前,您必须为目标三元组和链接类型安装正确的OpenBLAS。例如,为x86_64-pc-windows-msvc
工具链动态链接,安装openblas
的x64-windows
三元组
vcpkg install openblas --triplet x64-windows
要静态链接OpenBLAS,安装openblas
的x64-windows-static-md
三元组
vcpkg install openblas --triplet x64-windows-static-md
要静态链接OpenBLAS和C运行时(CRT),安装openblas
的x64-windows-static
三元组
vcpkg install openblas --triplet x64-windows-static
并使用+crt-static
选项构建
RUSTFLAGS='-C target-feature=+crt-static' cargo build --target x86_64-pc-windows-msvc
请参阅Rust参考中的“静态和动态C运行时”以获取详细信息。
交叉编译
除了向--target
选项传递cargo build
之外,还需要指定OpenBLAS的交叉编译变量。它们可以用OPENBLAS_
前缀作为环境变量设置,用于cargo build
,如下所示:OPENBLAS_CC
、OPENBLAS_FC
、OPENBLAS_HOSTCC
和OPENBLAS_TARGET
。
贡献
您的贡献非常受欢迎。不要犹豫,随时可以打开一个问题或pull request。请注意,任何提交到项目中以供包含的贡献都将根据LICENSE.md中给出的条款进行许可。
依赖关系
~0–1.5MB
~22K SLoC