加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 一、Intel?MKL的小算盤(pán),免費(fèi)但不開(kāi)源
    • 二、OpenBLAS的優(yōu)勢(shì),開(kāi)源且性能還不錯(cuò)
    • 三、向西還是向東?
    • 結(jié)束語(yǔ)
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

OpenBLAS的目標(biāo)是做全球最好的矩陣計(jì)算庫(kù)

2022/07/27
5082
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

BLAS的全稱是Basic Linear Algebra Subprograms,中文可以叫做基礎(chǔ)線性代數(shù)子程序。它定義了一組應(yīng)用程序接口(API)標(biāo)準(zhǔn),如向量之間的乘法、矩陣之間的乘法等,是數(shù)值計(jì)算軟件必須具備的核心庫(kù)之一。BLAS也可以被稱為高性能計(jì)算、仿真、數(shù)據(jù)處理、人工智能的基石(當(dāng)之無(wú)愧的根技術(shù)),它的效率直接關(guān)系著計(jì)算的成本。

在科學(xué)計(jì)算領(lǐng)域,為了論述開(kāi)源和閉源的各自優(yōu)勢(shì),將以對(duì)比Intel的MKL庫(kù)和OpenBLAS開(kāi)源庫(kù)為例。順便提一句,包含BLAS庫(kù)還有acml,acl,EIGEN,Atlas等等。

* Intel的MKL庫(kù),針對(duì)自家特定的CPU平臺(tái)進(jìn)行針對(duì)性的優(yōu)化加速的數(shù)學(xué)核心庫(kù),其中包括了BLAS計(jì)算庫(kù),其他還有LAPACK、DFTs、VML、VSL等。

* OpenBLAS庫(kù),是一個(gè)基于GotoBLAS2 1.13 BSD許可(開(kāi)源)發(fā)行的優(yōu)化BLAS計(jì)算庫(kù),由張先軼于2011年7月20日發(fā)起,并獲得2016CCF科學(xué)技術(shù)獎(jiǎng)。

一、Intel?MKL的小算盤(pán),免費(fèi)但不開(kāi)源

Intel MKL對(duì)于自家的每一代處理器都預(yù)先做了深度優(yōu)化,還順便和OpenBLAS對(duì)比跑個(gè)分(實(shí)際通常是搶跑)。既然是x86指令集,AMD、海光處理器都可以拿去作為其芯片SDK的基礎(chǔ)軟件,許多軟件也集成MKL庫(kù)。但問(wèn)題來(lái)了:

Intel MKL庫(kù)運(yùn)行在自家的芯片上性能確實(shí)不錯(cuò),但在別家芯片上就不一定了(例如AMD)。這和即使同樣是x86指令集的處理器,但處理器架構(gòu)設(shè)計(jì)各有差異化有關(guān),MKL不會(huì)傻到幫敵人去針對(duì)性優(yōu)化。有個(gè)陰謀論是:MKL“幫助”其他芯片負(fù)優(yōu)化,作者沒(méi)有考證,懂的同學(xué)給說(shuō)一下哈。

Intel MKL庫(kù)只能運(yùn)行在x86體系上。尤其是在當(dāng)下,因?yàn)楫悩?gòu)計(jì)算的興起,如果你的軟件或算法希望可以在ARM、RISC-V,GPU,DSA架構(gòu)上運(yùn)行,靠MKL就沒(méi)戲了。MKL要是源代碼公開(kāi),適配其他芯片平臺(tái)難度就低許多了,不好意思,MKL庫(kù)不開(kāi)源。所以NVIDIA有了自己的cuBLAS,當(dāng)然同樣的道理,cuBLAS也是不開(kāi)源的,你家的GPU怎么辦呢?

Intel?MKL庫(kù)不開(kāi)源,如果你想針對(duì)性優(yōu)化你的軟件和硬件的適配,這將非常困難。這個(gè)問(wèn)題非常普遍,無(wú)論是深度學(xué)習(xí)算法、數(shù)據(jù)庫(kù)、數(shù)值計(jì)算軟件等,如果你還對(duì)性能和穩(wěn)定性有些追求,就一定會(huì)遇到。

二、OpenBLAS的優(yōu)勢(shì),開(kāi)源且性能還不錯(cuò)

開(kāi)源的優(yōu)勢(shì)。用戶可以自行使用、裁剪和針對(duì)自己的算法針對(duì)性優(yōu)化。

可以編譯后運(yùn)行在各種操作系統(tǒng),并支持幾乎市面所有主流處理器芯片。OpenBLAS可以在Windows,Android,iOS,Linux 和Mac OS等平臺(tái)上運(yùn)行,與各類硬件進(jìn)行了優(yōu)化適配x86_64, PowerPC, ARMV7, ARMV8, MIPS32, RISC-V,龍芯3A等硬件平臺(tái)。還支持為GPU、NPU定制OpenBLAS。

如果你需要獲得支持,可以通過(guò)社區(qū)交流,也可以直接聯(lián)系到張先軼博士。OpenBLAS應(yīng)該也非常希望中國(guó)的開(kāi)發(fā)者加入進(jìn)去,這種基礎(chǔ)軟件的迭代依然永無(wú)止境。

三、向西還是向東?

MATLAB默認(rèn)的底層數(shù)學(xué)庫(kù)就是MKL,MATLAB的開(kāi)源競(jìng)爭(zhēng)對(duì)手octave,采用的是OpenBLAS。

Intel視MKL為其核心基礎(chǔ)軟件,NVIDIA視其CUDA為其核心競(jìng)爭(zhēng)力(包含cuBLAS,cuFFT,cuDNN, cuSPARSE等)。而我國(guó)卻鮮有人知,原因是什么呢?

結(jié)束語(yǔ)

我聽(tīng)說(shuō)上一篇文章《嘴癢,說(shuō)一下“首款國(guó)產(chǎn)科學(xué)計(jì)算軟件研發(fā)成功”》引發(fā)了一些討論,但討論的標(biāo)的卻一度偏離了,如你所愿,本文將繼續(xù)附帶上該文。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
7774 1 Keystone Electronics Corp TAB Terminal,

ECAD模型

下載ECAD模型
$0.47 查看
P410QS333M300AH101 1 KEMET Corporation RC Network,

ECAD模型

下載ECAD模型
$1.83 查看
FDLL4148 1 onsemi High Conductance Fast Diode, 2500-REEL

ECAD模型

下載ECAD模型
$0.11 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

主要關(guān)注HPC、AI、RISC-V等領(lǐng)域,科技行業(yè)從業(yè)二十余載。洞悉前沿科技,擅長(zhǎng)戰(zhàn)略規(guī)劃。