1、Intel MKL簡介
Intel數學核心函數庫(MKL)是一套高度優化、線程安全的數學例程、函數,面向高性能的工程、科學與財務應用。英特爾 MKL 的集群版本包括 ScaLAPACK 與分布式內存快速傅立葉轉換,並提供了線性代數 (BLAS、LAPACK 和Sparse Solver)、快速傅立葉轉換、矢量數學 (Vector Math) 與隨機號碼生成器支持。
主要包括:
① LAPACK (線形代數工具linear algebra package)
② DFTs (離散傅立葉變換 Discrete Fourier transforms)
③ VML (矢量數學庫Vector Math Library)
④ VSL (矢量統計庫Vector Statistical Library)
2、MKL的主要功能
1)BLAS 和 LAPACK
在英特爾處理器中部署經過高度優化的基本線性代數例程BLAS(Basic Linear Algebra Subroutines)和 線性代數包LAPACK(Linear Algebra Package) 例程,它們提供的性能改善十分顯著。
2)ScaLAPACK
ScaLAPACK是一個並行計算軟件包,適用於分布存儲的MIMD並行機。ScaLAPACK提供若干線性代數求解功能,具有高效、可移植、可伸縮、高可靠性的特點,利用它的求解庫可以開發出基於線性代數運算的並行應用程序。
ScaLAPACK 的英特爾? MKL 實施可提供顯著的性能改進,遠遠超出標准 NETLIB 實施所能達到的程度。
3)PARDISO稀疏矩陣解算器
利用 PARDISO 直接稀疏矩陣解算器解算大型的稀疏線性方程組,該解算器獲得了巴塞爾大學的授權,是一款易於使用、具備線程安全性、高性能的內存高效型軟件庫。英特爾? MKL 還包含共軛梯度解算器和 FGMRES 迭代稀疏矩陣解算器。
4)快速傅立葉變換 (FFT)
充分利用帶有易於使用的新型 C/Fortran 接口的多維 FFT 子程序(從 1 維至 7 維)。英特爾? MKL 支持采用相同 API 的分布式內存集群,支持將工作負載輕松地分布到大量處理器上,從而實現大幅的性能提升。此外,英特爾? MKL 還提供了一系列 C 語言例程(“wrapper”),這些例程可模擬 FFTW 2.x 和 3.0 接口,從而支持當前的 FFTW 用戶將英特爾? MKL 集成到現有應用中。
5)矢量數學庫(VML)
矢量數學庫(Vector Math Library)借助計算密集型核心數學函數(冪函數、三角函數、指數函數、雙曲函數、對數函數等)的矢量實施顯著提升應用速度。
6)矢量統計庫—隨機數生成器(VSL)
利用矢量統計庫(Vector Statistical Library)隨機數生成器加速模擬,從而實現遠遠高於標量隨機數生成器的系統性能提升。