19个版本
0.8.1 | 2022年9月13日 |
---|---|
0.8.0-rc.1 | 2022年8月25日 |
0.7.0+mkl2020.1 | 2022年7月29日 |
0.6.0+mkl2020.1 | 2020年6月23日 |
0.2.5 | 2017年9月14日 |
在数学分类中排名#82
每月下载量8,232
在92个crate中使用 (直接使用36个)
15KB
100 行
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。这个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}
目录 - 查找默认安装路径
- Linux上的
/opt/intel/mkl
- Windows上的
C:/Program Files (x86)/IntelSWTools/
和C:/Program Files (x86)/Intel/oneAPI
- Linux上的
如果intel-mkl-tool
找不到MKL库,则intel-mkl-src
尝试从GitHub容器注册表 (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
许可证
根据Intel(R) Math Kernel Library的Intel简化软件许可证分发MKL。请参阅License.txt。一些包装代码由MIT许可证授权(请参阅每个文件的标题)。
依赖项
~0–2MB
~32K SLoC