#open-blas #lapack #blas-lapack #pipeline #original #behavior #fork

已删除 openblas-build-buildtest

由Toshiki Teramura为测试流水线行为而创建的原始crate的分支

1个不稳定发布

0.10.8 2024年1月6日

#8 in #行为

Apache-2.0/MIT

31KB
726

openblas-src 包 文档 构建

该包通过OpenBLAS提供了BLASLAPACK的来源。

架构

配置

以下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工具链动态链接,安装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的交叉编译变量。它们可以作为环境变量设置,用于cargo build,使用OPENBLAS_前缀如下:OPENBLAS_CCOPENBLAS_FCOPENBLAS_HOSTCCOPENBLAS_TARGET

贡献

我们非常重视您的贡献。请随时提出问题或发起拉取请求。请注意,提交给项目以包含在内的任何贡献将根据LICENSE.md中给出的条款进行许可。

依赖项

~4–14MB
~214K SLoC