14 个不稳定版本 (4 个破坏性更新)
0.8.1 | 2022年9月13日 |
---|---|
0.8.0 | 2022年9月11日 |
0.8.0-rc.1 | 2022年8月25日 |
0.4.1 | 2022年8月21日 |
0.1.0 | 2019年12月14日 |
#1233 in 数学
7,931 个月下载量
用于 71 个 Crates (通过 intel-mkl-src)
27KB
500 行
intel-mkl-src
crate | crate.io | docs.rs | master | 描述 |
---|---|---|---|---|
intel-mkl-src | Intel-MKL 的源 crate | |||
intel-mkl-sys | Intel-MKL 的 FFI(外部函数接口)用于向量数学和统计函数 | |||
intel-mkl-tool | 从文件系统中查找 Intel-MKL 库 |
用法
intel-mkl-src
crate 是一个 *-src
crate。它将 MKL 库链接到由 cargo 构建的程序,但不提供 Rust 绑定。请使用 blas-sys
、lapack-sys
或 fftw-sys
来使用 MKL 的 BLAS、LAPACK、FFTW 接口,例如。
[dependencies]
fftw-sys = { version = "0.4", features = ["intel-mkl"] }
由 intel-mkl-sys
crate 提供了对 MKL 特定功能的绑定。
如何查找系统中的 MKL 库
intel-mkl-tool
crate 按以下方式搜索由各种安装程序安装的系统 MKL 库:
- 使用
pkg-config
命令搜索 - 搜索
${MKLROOT}
目录 - 搜索默认安装路径
/opt/intel/mkl
(Linux)C:/Program Files (x86)/IntelSWTools/
和C:/Program Files (x86)/Intel/oneAPI
(Windows)
如果 intel-mkl-tool
找不到 MKL 库,则 intel-mkl-src
将尝试从 GitHub Container Registry (ghcr.io) 下载 MKL 二进制文件。
支持功能
有8个(=2x2x2)mkl-*-*-*
功能来指定如何链接MKL库。如果设置了任何功能,则默认为mkl-static-ilp64-iomp
。
链接类型(static
或dynamic
)
dynamic
表示MKL是动态链接的,即可执行文件不包含MKL库,在执行时将从文件系统中搜索它们。当MKL库由系统包管理器管理时,例如apt
,这是一个更好的选择。
static
表示MKL是静态链接的,即MKL二进制文件嵌入在可执行文件中。当创建可移植可执行文件时,这是一个更好的选择。
数据模型(lp64
或ilp64
)
这指定了数据模型
ilp64
表示int(i),
long(l)和指针(p)是64位的。
lp64
表示long(l)和指针(p)是64位的,
int是32位的。
线程管理(iomp
或seq
)
iomp
表示MKL使用Intel OpenMP运行时seq
表示顺序(单线程)执行
尚未支持使用GNU OpenMP运行时(libgomp
)。请参阅https://github.com/rust-math/intel-mkl-src/issues/97
许可证
MKL根据Intel(R) Math Kernel Library的Intel简化软件许可证进行分发,请参阅License.txt。一些包装代码根据MIT许可证授权(请参阅每个文件的标题)。
依赖项
~0.3–7.5MB
~46K SLoC