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で線形代数 (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

メンテが滞りがちなので、興味のある方は連絡ください。

广告
将在 10 秒后关闭
bannerAds