Intel Math Kernel Library (MKL)は代表的な最適化済みの数学ライブラリで、Intel Simplified Software Licenseに基づいて再配布が認められています。
これをRustからcrateとして使えるようにしたものがintel-mkl-srcです
※現在はWindowsは対応していません 0.4.0からwindowsも対応しました
使い方
このcrateは*-src
crateで、MKLをダウンロードしてリンクするだけです。BLASやLAPACK, FFTの機能を使うにはそれぞれblas-sys, lapack-sys, fftw-sysを使います。
[dependencies]
fftw-sys = { version = "0.4", features = ["intel-mkl"] }
このようにそれぞれのcrateでfeatureを使ってバックエンドが切り替えれるようになっているのでその機能を使います。あるいはより高次のライブラリであるndarray-linalgを使います。
[dependencies]
ndarray-linalg = { version = "*", features = ["intel-mkl"] }
ndarray-linalg自体の使い方はこちら:
rust-math
科学技術計算系のcrateのうち、ユーザーが居る気がするものをrust-mathに分けました。intel-mkl-srcのほかに二つ移行してあります。
- rust-fftw3: FFTW3 binding for Rust
- rust-sfmt: Rust implementation of SIMD-oriented Fast Mersenne Twister (SFMT) using stable SIMD
メンテが滞りがちなので、興味のある方は連絡ください。