COpenBlas

一个 Swift 封装库,用于 C 语言库 libopenblas-devliblapacke-dev。 它们提供了各种矩阵和硬件加速的线性代数运算。 在 MacOS 上,此功能由 Accelerate 提供。 然而,Accelerate 无法在 Linux 环境中运行。 因此有了 COpenBlas。 目前,COpenBlas 仅支持 64 位 arm Linux 环境。 我没有其他机器可以测试,所以如果你下载后无法编译,可能是 module.modulemap 需要添加一个包含适用于你的环境的正确头文件的条目。

安装

在 Mac 上,无需安装。 使用编译器指令检查 Accelerate 是否可用,如果可用则不要导入 COpenBlas。

在 Linux 上,运行 apt-get install libopenblas-devapt-get install liblapacke-dev (注意 'lapacke' 中的 'e')。 现在你应该可以构建 COpenBlas 了。

使用

#if os(macOS)
import Accelerate
#else
import COpenBlas
// Optional
private typealias __CLPK_integer = Int32
#endif

Accelerate 只存在于 Mac 上,而 COpenBlas 只存在于 Linux 上。 __CLPK_integer 类型别名由 Accelerate 定义。 如果你使用它,你可能需要自己定义它。 警告:认为 Int32 是正确的类型,但它可能取决于环境,所以我不太确定。