#mkl #intel #find #vector-math #intel-mkl #seek #blas-lapack

构建 intel-mkl-tool

从系统中查找 Intel(R) MKL 库

14 个不稳定版本 (4 个破坏性更新)

0.8.1 2022年9月13日
0.8.0 2022年9月11日
0.8.0-rc.12022年8月25日
0.4.1 2022年8月21日
0.1.0 2019年12月14日

#1233 in 数学

Download history 2219/week @ 2024-03-14 2644/week @ 2024-03-21 2892/week @ 2024-03-28 3249/week @ 2024-04-04 3695/week @ 2024-04-11 3437/week @ 2024-04-18 3020/week @ 2024-04-25 2208/week @ 2024-05-02 2070/week @ 2024-05-09 2523/week @ 2024-05-16 1666/week @ 2024-05-23 1929/week @ 2024-05-30 1994/week @ 2024-06-06 2003/week @ 2024-06-13 2082/week @ 2024-06-20 1488/week @ 2024-06-27

7,931 个月下载量
用于 71 个 Crates (通过 intel-mkl-src)

MIT 许可证

27KB
500

intel-mkl-src

crate crate.io docs.rs master 描述
intel-mkl-src crate docs.rs crate Intel-MKL 的源 crate
intel-mkl-sys Crate docs.rs Crate Intel-MKL 的 FFI(外部函数接口)用于向量数学和统计函数
intel-mkl-tool Crate docs.rs Crate 从文件系统中查找 Intel-MKL 库

用法

intel-mkl-src crate 是一个 *-src crate。它将 MKL 库链接到由 cargo 构建的程序,但不提供 Rust 绑定。请使用 blas-syslapack-sysfftw-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

dynamic表示MKL是动态链接的,即可执行文件不包含MKL库,在执行时将从文件系统中搜索它们。当MKL库由系统包管理器管理时,例如apt,这是一个更好的选择。

static表示MKL是静态链接的,即MKL二进制文件嵌入在可执行文件中。当创建可移植可执行文件时,这是一个更好的选择。

数据模型(lp64ilp64

这指定了数据模型

  • ilp64表示int(i),long(l)和指针(p)是64位的。
  • lp64表示long(l)和指针(p)是64位的,int是32位的。

线程管理(iompseq

  • 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