05/23
第一堂
|
(1) 硬體介紹:G80、G200、G400
(2) CUDA 安裝
(3) CUDA SDK 安裝與執行
(4) 標準執行流程
(5) 執行緒群組
(6) 在 LINUX 環境開發CUDA程式
(7) 效能量測
(8) 暫存器
(9) 計算版本
(10) 共享記憶體
|
範例:記憶體宣告、複製
範例:記憶體錯誤偵測
範例:devicequery、bandwidth test
範例:初識 kernel function(核心函式)
範例:取得執行緒 ID
範例:認識內建變數
範例:linearize index
範例:向量加法
範例:向量內積
範例:tree reduction
範例:unrolling loop
|
05/24
第二堂
|
(11) 執行緒同步
(12) 合併存取
(13) 進階編譯選項
(14) 混合編譯器
(15) 多GPU環境
(16) 材質記憶體
(17) 常數記憶體
(18) 記憶體總成
|
範例:矩陣轉置
範例:檢視暫存器及記憶體用量
範例:限制暫存器用量
範例:檢視 PTX code
範例:材質記憶體配置及使用
範例:常數記憶體配置及使用
範例:各種記憶體使用及比較
|
05/25
第三堂
|
(19) 合併存取最佳化
(20) 共享記憶體最佳化
(21) 常數記憶體最佳化
(22) 材質記憶體最佳化
(23) 內建函式介紹
(24) Occupancy
(25) Page-locked
(26) CUDA streams
(27) zero-copy
(28) 最佳化總成
(29) Fermi最佳化介紹
(30) 多GPU運算 |
範例:矩陣乘法應用(合併存取最佳化)
範例:矩陣乘法應用(共享記憶體最佳化)
範例:矩陣乘法應用(常數記憶體最佳化)
範例:2D texture配置及使用
範例:數學函式、原子函式
範例 : laplace 1D, 2D
範例 : page-locked mem 範例
範例:CUDA Occupancy Calculator
範例:CUDA streams 使用
範例:zero-copy 使用
範例:MPI / openMP + CUDA 使用 |