6 个版本

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.1.1 2021年1月30日

#103 in 构建工具

Download history 4290/week @ 2024-04-08 3550/week @ 2024-04-15 5015/week @ 2024-04-22 4831/week @ 2024-04-29 3037/week @ 2024-05-06 5775/week @ 2024-05-13 5463/week @ 2024-05-20 5975/week @ 2024-05-27 4087/week @ 2024-06-03 3152/week @ 2024-06-10 3950/week @ 2024-06-17 3714/week @ 2024-06-24 3453/week @ 2024-07-01 2759/week @ 2024-07-08 3336/week @ 2024-07-15 3193/week @ 2024-07-22

13,124 每月下载量
80 个crate中使用(通过 openblas-src

Apache-2.0/MIT

34KB
805

openblas-src 软件包 文档 构建

该软件包通过 OpenBLAS 提供BLAS和LAPACK的源代码。

架构

配置

以下Cargo特性被支持:

  • cache 在共享目录中构建而不是在 target 中(见下文),
  • cblas 构建 CBLAS(默认启用),
  • lapacke 构建 LAPACKE(默认启用),
  • static 将 OpenBLAS 静态链接,以及
  • system 跳过构建捆绑的 OpenBLAS。

缓存

cache 特性允许在不同 target 目录的crate之间重用OpenBLAS构建产品。这避免了不必要的OpenBLAS重建。然而,这也防止了命令正常工作,因为上述构建产品不会被该命令删除。

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工具链的动态链接,安装openblasx64-windows三元组

vcpkg install openblas --triplet x64-windows

要静态链接OpenBLAS,为x64-windows-static-md三元组安装openblas

vcpkg install openblas --triplet x64-windows-static-md

要静态链接OpenBLAS和C运行时(CRT),为x64-windows-static三元组安装openblas

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_前缀的环环境变量,如下所示:OPENBLAS_CCOPENBLAS_FCOPENBLAS_HOSTCC,和OPENBLAS_TARGET

贡献

您的贡献非常受重视。请随时提出问题或发起pull请求。请注意,提交给项目的任何贡献都将根据LICENSE.md中给出的条款进行授权。

依赖项

~4–13MB
~200K SLoC