1个不稳定发布
0.10.8 | 2024年1月6日 |
---|
#8 in #行为
31KB
726 行
openblas-src
该包通过OpenBLAS提供了BLAS和LAPACK的来源。
架构
配置
以下Cargo特性得到支持
cache
用于在共享目录中构建,而不是在target
中(见下文),cblas
用于构建CBLAS(默认启用),lapacke
用于构建LAPACKE(默认启用),static
用于静态链接到OpenBLAS,以及system
用于跳过构建捆绑的OpenBLAS。
缓存
cache
特性允许在具有不同target
目录的crate之间重用OpenBLAS构建产品。这避免了不必要地重新构建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的交叉编译变量。它们可以作为环境变量设置,用于cargo build
,使用OPENBLAS_
前缀如下:OPENBLAS_CC
、OPENBLAS_FC
、OPENBLAS_HOSTCC
和OPENBLAS_TARGET
。
贡献
我们非常重视您的贡献。请随时提出问题或发起拉取请求。请注意,提交给项目以包含在内的任何贡献将根据LICENSE.md中给出的条款进行许可。
依赖项
~4–14MB
~214K SLoC