【X開放日】演講嘉賓-張先軼老師演講速記:開源的高效能BLAS實現OpenBLAS
【X開放日】第七位嘉賓是中國科技院軟體研究所助理研究員,張先軼先生。
張先軼:謝謝各位,能夠有機會介紹我們OpenBLAS專案。這Blas到底是什麼呢?他就是這四個英文,Basic、Linear、Algebra、subprog。如果不理解Blas做什麼呢?就是向量乘向量。
就比如說一開始幾個報告在講CNN什麼這些東西,CNN有一部分的操作可以轉化成這種操作,就是用Blas庫來實現。Blas庫最重要的東西就是三點,效能、效能、效能,就是要快,比所有平臺上快我們就成功了。以目前來說,這位仁兄,這位是一個日本人,他做了一個GotoBlas特別出名。這位先生,在2010年的時候去了微軟,我去的時候就說微軟那邊錢比較多。在微軟沒有多麼久,去年的時候就去了另外一家公司。
因為2010年這個庫就停止了,我們在2011年又發起了OpenBLAS,主要是我們的長遠目標最好的Blas的開源實現。是不是真的能夠做到最後的Blas?我們後面有一些新聞圖支援我們這一點。
目前我們市場主要是三個人,張先軼、王茜、Werner Saar,這相當於是一個愛好者,是加入到我們開發團隊,我們現在是一個三人開發團隊來做這樣的事情。
主要做的事情是三個事情,一、X86平臺,二、龍芯3,三、ARM平臺。這就是支援我們的資料了,我們是不是可以真的做得很好,紅顏色的線是我們的結果,藍顏色是商業的結果。這個效能,縱軸是代表了效能,就是越高代表越好,可以看到我們紅色線和藍色線基本上是重合在一起,少部分情況下要比藍色線高一些,雖然我們只有3個人,我們的結果還不錯。
這是龍芯3A,我們做了一些專門的優化,我們不是很客氣了,我們在OpenBLAS達到了最高的效能,這是具體的各個數值圖,具體不給大家看了。
這是ARM品牌,這是一個A9處理器上做的結果,這個藍色的線是我們的結果,剩下兩條線是其他人做的結果,我們至少超過了接近10%,比第二個線。
在效能優化裡邊,效能有兩個大流派,一個是手工優化,手工優化要做大量的彙編。比如說GotoBlas,它在其他的行列上要寫上千行的彙編。我不知道大家有沒有寫過上千編的。
這一大特點,這個典型庫就是ATLAS,他在調的時候要花費一天的時間。我們能否把手工和自動結合起來,做一個第三條路,把手工的經驗儘量自動化,這裡邊實際上就解決了自動的一個生成高效彙編,我們通過AUGEM,生成高效的彙編。
怎麼做的呢?就是這四個步驟。輸入是一個C程式碼,C程式碼這一層做一次優化,我們在這一層會發現一些模板,再找到一些模組,最把這些資源優化作為一個結果。這是一個優化後的乘法,這裡面做了一些迴圈級的變化,包括迴圈的一些融合這些Blas的東西。
在尋找模板的時候,我們預定義了6個模板,不過多介紹。在每一個模板裡面我們要做SIMD,暫存器分配、指令選取,通過這三步,就可以把模板內的效能做到比較好的效能。你當時只是在模板裡做的效能,最後還要做一下彙編的轉換。結論,我們效能是最好的,大家只有記住這一點就可以了,我們效能是最好的。我們減輕了開發資本,可以給大家提供一個資料,我們這個平臺一開始是在因特爾舊的處理器裡做的,我們可能花了3天的時間。就是說可以看到,當你有一個很好的基準之後,新的處理器平臺做效能優化的時候,你負擔量在顯著的降低了,可以大大加快我們庫的開發速度。我們在這裡邊用了一些自動搜尋的技術,我們引數比較小,所以不用花一天的時間,我們大概只需要不到半個小時的時間,就可以把引數調好。好,就到這裡,謝謝各位!
互動環節:
Q:我想問一下,您的系統如果想商業化,它有哪些路徑呢?在這上面是如何考慮的?
A:實際上,沒有商業化,只能靠大家捐款。這是一個基礎的庫,單獨從庫來說不適合做商業化的。因為靠公司來說MPL賣錢的,但是MPL是非常龐大的庫,我這個是那裡邊其中一個模組的庫,我覺得單獨靠模組賣錢的話是不可以的。如果你想要做商業模式的話,就要再往上走一層,比如說其他的東西,但是核心還是這個.
相關文章
- 【X開放日】演講嘉賓-馮一村老師演講速記:讓大資料落地——資料視覺化大資料視覺化
- “VR技術開放日”演講資料彙總VR
- BSN全球夥伴大會於本週五召開在即,重磅嘉賓演講主題前瞻
- 蓋茨北大演講遭遇開源人士抗議
- 43位嘉賓+30場演講+大神答疑+黑客馬拉松,WAIC 開發者日倒數計時9天黑客AI
- 黃仁勳演講
- 遊戲人不容錯過的行業盛會,TGDC 2022演講嘉賓正在招募中!遊戲行業
- 演講稿 ---- 10年 測試開發
- 演講總結
- 開發者演講指南
- 活動演講稿
- 演講大師“魏斯曼”教你如何安排演講的結構
- 開放原子開源基金會理事長楊濤出席數字中國軟體開源分論壇並演講
- 技術演講那些事:如何不讓你的演講令人討厭
- 共享行業經驗,共議行業生態,TGDC 2022演講嘉賓招募進行時行業
- UDAD 使用者故事驅動的敏捷開發 – 演講實錄敏捷
- 開源SDN平臺的可擴充套件性與部署要點 丨FNDC演講實錄套件
- 一封Qlikview的演講稿View
- 第三波演講主題公佈 | Unreal Fest Shanghai 2024 | 虛幻引擎技術開放日UnrealAI
- 【X開放日】李志飛講述Google Glass上的中文語音搜尋Go
- 李開復廣外演講:多學習“多犯錯”
- 團隊介紹及演講
- 演算法講演錄[1]演算法
- 2019虛幻引擎技術開放日Unreal Open Day大會主旨演講及完整議程曝光Unreal
- 快取系統穩定性 - 架構師峰會演講實錄快取架構
- 李開復就中國移動開發者大會的演講總結移動開發
- 自由軟體,和Richard Stallman的演講
- 朱棣文演講的翻譯勘誤
- 十年再出發!阿里雲智慧總裁張建鋒演講全記錄阿里
- 陸奇演講:人工智慧精要人工智慧
- jvm系列(十一):JVM演講PPT分享JVM
- 王樹國校長演講共勉
- 團隊演講影片及其ppt展示
- 明智軟體開發——Ivar Jacobson博士上海英雄會演講的主要思想
- ChunJun Meetup演講分享 | 基於袋鼠雲開源框架的數倉一體化建設探索框架
- 美團網 MVVM 與 FRP 演講學習筆記MVVMFRP筆記
- 賈揚清、林詠華、劉威等嘉賓出席 Keynote 演講,AICon 於 5月17日落地北京,五大看點值得期待AI
- 張小龍內部演講:警惕KPI和流程,支援內部輪崗KPI