全域性儲存器優化
3.3 全域性儲存器優化
在CUDA的儲存器結構中,全域性儲存器是最慢的,其延遲在幾百個時鐘,但是其容量是最大的,我們使用cudaMalloc函式分配的指標都是指向全域性儲存器空間的,我們不可能避開它們的使用。這兩個因素使得全域性儲存器的使用對CUDA 程式的效能至關重要。
3.3.1 合併訪問
為了提高訪問全域性儲存器的效率,CUDA 提供了一種稱為合併訪問的機制來加速全域性儲存器的訪問。在計算能力1.0和1.1的裝置上,合併訪問能夠在一次儲存器訪問中訪問最多達16個資料;在計算能力1.2和1.3的裝置上,合併訪問一次最多能夠訪問32個資料。另外執行緒間的切換也能夠隱藏全域性儲存器的訪問延遲。
所謂合併訪問就是儘量要求相鄰的執行緒訪問相鄰的地址空間,當然在不同計算能力的裝置上,其具體要求有所差別,在1.0和1.1的裝置上,合併訪問要求第k個執行緒訪問對齊的第k個儲存地址,必須對齊,不能交叉,而1.2以上的裝置沒有此要求。
對於不同的資料型別,合併訪問的頻寬不相同,一般而言使用四位元組的資料型別比較好,但是並不絕對,在某些情況下,使用8位元組或16位元組的資料效能可能會更好,尤其是在滿足1.0和1.1裝置的合併訪問條件下。
在設計的時候要考慮到全域性儲存器的合併訪問,並以此為要求來設計,比如在必要的時候對矩陣進行轉置。對資料的組織方式加以改變。
在CUDA的儲存器結構中,全域性儲存器是最慢的,其延遲在幾百個時鐘,但是其容量是最大的,我們使用cudaMalloc函式分配的指標都是指向全域性儲存器空間的,我們不可能避開它們的使用。這兩個因素使得全域性儲存器的使用對CUDA 程式的效能至關重要。
3.3.1 合併訪問
為了提高訪問全域性儲存器的效率,CUDA 提供了一種稱為合併訪問的機制來加速全域性儲存器的訪問。在計算能力1.0和1.1的裝置上,合併訪問能夠在一次儲存器訪問中訪問最多達16個資料;在計算能力1.2和1.3的裝置上,合併訪問一次最多能夠訪問32個資料。另外執行緒間的切換也能夠隱藏全域性儲存器的訪問延遲。
所謂合併訪問就是儘量要求相鄰的執行緒訪問相鄰的地址空間,當然在不同計算能力的裝置上,其具體要求有所差別,在1.0和1.1的裝置上,合併訪問要求第k個執行緒訪問對齊的第k個儲存地址,必須對齊,不能交叉,而1.2以上的裝置沒有此要求。
對於不同的資料型別,合併訪問的頻寬不相同,一般而言使用四位元組的資料型別比較好,但是並不絕對,在某些情況下,使用8位元組或16位元組的資料效能可能會更好,尤其是在滿足1.0和1.1裝置的合併訪問條件下。
在設計的時候要考慮到全域性儲存器的合併訪問,並以此為要求來設計,比如在必要的時候對矩陣進行轉置。對資料的組織方式加以改變。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23057064/viewspace-664344/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 非易失性儲存器MRAM的兩大優點
- Vue註冊的全域性元件配置物件儲存的位置Vue元件物件
- 貝葉斯全域性優化(LightGBM調參)優化
- 前端基於瀏覽器儲存的AJAX效能優化前端瀏覽器優化
- 非易失性儲存器EEPROM
- 儲存服務質量優化優化
- 小談mysql儲存引擎優化MySql儲存引擎優化
- Everspin MRAM非易失性儲存器的五大優勢
- 非易失性儲存器平衡方法
- Android 儲存優化 —— MMKV 整合與原理Android優化
- Redis儲存優化--小物件壓縮Redis優化物件
- Greenplum 效能優化之路 --(二)儲存格式優化
- 《MySQL 效能優化》之 InnoDB 儲存引擎MySql優化儲存引擎
- 滴滴Ceph分散式儲存系統優化之鎖優化分散式優化
- Laravel-自定義全域性函式-ChinaCircle 優化版Laravel函式優化
- 運籌優化(十七)--儲存論基礎及其最優化求解優化
- Oracle優化案例-儲存過程的優化思路(二十三)Oracle優化儲存過程
- mysql優化 | 儲存引擎,建表,索引,sql的優化建議MySql優化儲存引擎索引
- 鐵電儲存器FRAM的優劣勢
- 儲存器
- 騰訊雲物件儲存COS新品釋出——智慧分層儲存,自動優化您的儲存成本物件優化
- matlab最優化問題的函式(fminbnd),fmincon,globalsearch,multistart(全域性區域性最優)Matlab優化函式
- 易失性儲存器SRAM基礎知識
- Hive的壓縮儲存和簡單優化Hive優化
- Fujitsu鐵電儲存器(FRAM)技術優點
- MySQL優化---儲存過程和儲存函式-1-轉自部落格園MySql優化儲存過程儲存函式
- 非易失性儲存器Flash和EEPROM之間的差異與優缺點
- Flutter持久化儲存之檔案儲存Flutter持久化
- 主儲存器
- 外部儲存器
- 非易失性儲存器NV-SRAM的關鍵屬性
- 淺談儲存器的進化歷程
- 幾種非易失性儲存器的比較
- 非易失性儲存器MRAM技術介紹
- 最新IP資料庫 儲存優化 查詢效能優化 每秒解析上千萬資料庫優化
- 傳統儲存器和新興儲存器應用
- Flutter持久化儲存之資料庫儲存Flutter持久化資料庫
- Flutter持久化儲存之key-value儲存Flutter持久化
- Redis持久化儲存Redis持久化