[發明專利]一種深度學習匯編優化中的寄存器沖突避免方法有效
| 申請號: | 201611132248.9 | 申請日: | 2016-12-09 |
| 公開(公告)號: | CN106598688B | 公開(公告)日: | 2019-10-18 |
| 發明(設計)人: | 許建衛;竇曉光;劉立 | 申請(專利權)人: | 曙光信息產業(北京)有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京德恒律治知識產權代理有限公司 11409 | 代理人: | 章社杲;盧軍峰 |
| 地址: | 100193 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 深度 學習 匯編 優化 中的 寄存器 沖突 避免 方法 | ||
本發明公開了一種深度學習匯編優化中的寄存器沖突避免方法,該寄存器沖突避免方法解決的技術問題在于:提供一種規則簡單、能夠合理使用不同bank中的寄存器從而提高效率的深度學習匯編優化中的寄存器沖突避免方法;采用的技術方案為:一種深度學習匯編優化中的寄存器沖突避免方法,所述深度學習采用Kepler顯卡進行加速,匯編優化時,包括以下步驟:將兩條以上的計算指令與一條數據傳輸指令均勻混合在一起,以隱藏訪存時間;進行矩陣乘法計算時,從四個或三個寄存器存儲體內進行取數。
技術領域
本發明屬于深度學習算法的技術領域,具體涉及一種深度學習匯編優化中的寄存器沖突避免方法。
背景技術
深度學習是機器學習研究中的一個新的領域,其動機在于建立、模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數據,例如圖像,聲音和文本。其概念由Hinton等人于2006年提出。基于深度置信網絡(DBN)提出非監督貪心逐層訓練算法,為解決深層結構相關的優化難題帶來希望,隨后提出多層自動編碼器深層結構。此外Lecun等人提出的卷積神經網絡是第一個真正多層結構學習算法,它利用空間相對關系減少參數數目以提高訓練性能,圖1為卷積神經網絡的計算流程示意圖。
深度學習的應用越來越廣泛,算法也越來越成熟。各種開源軟件框架被開發出來,如Caffe、Neon、TensorFlow、Theano、Torch等。各種算法的基本思路都大同小異,關鍵還在于性能。我們知道,深度學習是一種計算密集型的應用,而且用于訓練的數據往往都是海量數據,因此,如果采用普通的CPU串行程序來計算一個實際問題,則往往耗費大量時間,數日甚至數月。因此,采用GPU(圖形處理器,Graphics Processing Unit)等眾核加速器進行加速,則成為了唯一的選擇。現在主流的深度學習開發訓練平臺一般都用NVIDIA的顯卡。為了加快訓練速度,一般選擇在配備多個GPU的高性能計算機或集群上面進行訓練。
對深度學習的GPU程序并行化是一項非常常見的工作,其并行方式分為模型并行和數據并行,目前較多見的是數據并行。GPU上代碼要達到較好的加速比,必須進行細致的優化,常用的優化方法有:a、優化GPU各級存儲使用方法以及方式,盡量保證訪問對齊與合并,減小訪存開銷;b、盡可發掘并行度,使用較多的線程塊和線程,能夠隱藏訪存,提高計算峰值;c、使用流處理,特別是batch(批處理)模式的卷積神經網絡天然就具有這種流式特點。但是即便使用了上述所有優化,一般而言,計算的峰值性能也很難超過百分之五十。這是由于再優化的方法也必須通過編譯器去生成指令流,而這顯然是開發者難以控制的,從而導致任何CUDA(Compute Unified Device Architecture,由NVIDIA推出的運算平臺)層面的優化無法控制指令的實時運行情況。因此,為了進一步提高性能,越來越多的開發者直接從GPU產生的匯編代碼層面上去進行優化。例如Nervana Systems開發團隊,就針對Maxwell顯卡做了匯編級優化,峰值性能從百分之五十左右提高到了百分之九十八。
Maxwell是目前最為前沿的GPU卡,深度學習的GPU加速程序在該卡上得到了極大的加速。但是目前市面上,較為多見的還是Kepler卡,而且硬件的升級可能仍然需要一段時間,但是這種匯編優化的工作在Kepler上卻是空白。
發明內容
針對相關技術中存在的不足,本發明所要解決的技術問題在于:提供一種規則簡單、能夠合理使用不同bank中的寄存器從而提高效率的深度學習匯編優化中的寄存器沖突避免方法。
為解決上述技術問題,本發明采用的技術方案為:一種深度學習匯編優化中的寄存器沖突避免方法,所述深度學習采用Kepler顯卡進行加速,匯編優化時,包括以下步驟:將兩條以上的計算指令與一條數據傳輸指令均勻混合在一起,以隱藏訪存時間;進行矩陣乘法計算時,從四個或三個寄存器存儲體內進行取數。
優選地,所述計算指令為FFMA指令。
優選地,所述數據傳輸指令為LDS指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于曙光信息產業(北京)有限公司,未經曙光信息產業(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611132248.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種腳本預熱方法和裝置
- 下一篇:一種中文通用編碼方法





