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 数学

Download history 2479/week @ 2024-03-14 4148/week @ 2024-03-21 5261/week @ 2024-03-28 4037/week @ 2024-04-04 3970/week @ 2024-04-11 4655/week @ 2024-04-18 5090/week @ 2024-04-25 4158/week @ 2024-05-02 4794/week @ 2024-05-09 5490/week @ 2024-05-16 5766/week @ 2024-05-23 5605/week @ 2024-05-30 4173/week @ 2024-06-06 2967/week @ 2024-06-13 4513/week @ 2024-06-20 3374/week @ 2024-06-27

15,671 每月下载量
用于 100 个包 (49 直接)

Apache-2.0/MIT

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

vcpkg install openblas --triplet x64-windows

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

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

要静态链接OpenBLAS和C运行时(CRT),安装openblasx64-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_CCOPENBLAS_FCOPENBLAS_HOSTCCOPENBLAS_TARGET

贡献

您的贡献非常受欢迎。不要犹豫,随时可以打开一个问题或pull request。请注意,任何提交到项目中以供包含的贡献都将根据LICENSE.md中给出的条款进行许可。

依赖关系

~0–1.5MB
~22K SLoC