mkl相關介紹

2021-12-29 22:49:28 字數 1811 閱讀 3599



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)隨機數生成器加速模擬,從而實現遠遠高於標量隨機數生成器的系統效能提公升。

編譯引數說明: -lmkl_intel_c -lmkl_intel_thread -lmkl_core –lpthread

-- 鏈結intel mkl 需要包括下面的幾個庫檔案:

1:介面庫函式。

2: 執行緒庫函式。( 指定多執行緒的mkl, 還單執行緒的mkl庫)。

3. 優化核心庫。

4. 多執行緒的支援庫。

-lmkl_intel_c: 介面庫函式,使用c 方式呼叫的介面。

-lmkl_intel_thread: 使用多執行緒的mkl 庫。

-lmkl_core: mkl 核心優化函式。

-lpthread: 多執行緒函式庫。

MKL鏈結選項問題

最近用下mkl,看了下文件,沒看見mkl鏈結的選項。關於mkl的鏈結選型,可以通過如下檢視 icc help如下圖 可知 mkl就行,至於標頭檔案的話,可以去看mkl的文件,在原始檔新增了,以上是icc icpc的編譯器,因此利用使用mkl的步驟如下 1.原始檔新增mkl相應的標頭檔案 2.編譯 i...

MKL學習 矩陣向量操作

前面介紹的blas level 1是向量 向量的操作,而這裡的blas level 2主要還是對矩陣 向量之間的操作。命名規則與前面的一樣,主要記住定義的是資料型別 s實數域,單精度 c複數域,單精度 d實數域,雙精度 z複數域,雙精度 也可結合起來,比如sc代表實數域和複數域的單精度型別,dz代表...

HQL join fetch相關介紹

join用法 主要有inner join 及 outer join 最常用的 預設是inner select 要選擇的字段 from 主要資料表 inner join 的主要精神就是 exclusive 叫它做排他性吧 就是講 join 規則不相符的資料就會被排除掉,譬如講在 product 中有一...