返回課程
AI032
專業人士
程式設計大量平行處理器:實務導向方法
本課程提供對使用 CUDA C 環境進行 GPU 計算與並行程式設計的全面介紹。內容涵蓋 GPU 架構、資料平行性、線程管理、記憶體優化以及高階效能考量,並透過真實案例(如磁振造影重建與分子可視化)加以說明。
4.9
36.0h
569 學習者
12 堂課
0 讚好
人工智能
課程總覽
內容概要
本課程提供對使用 CUDA C 環境進行 GPU 計算與平行程式設計的全面介紹。內容涵蓋 GPU 架構、資料平行性、線程管理、記憶體優化以及進階效能考量,並透過如磁振造影重建與分子可視化等真實案例加以說明。
透過實用且動手導向的指南,掌握高效能平行運算的藝術,深入理解 CUDA 與 GPU 架構。
作者: David B. Kirk, Wen-mei W. Hwu
致謝: Ian Buck, John Nickolls, NVIDIA DevTech 團隊,Jensen Huang, David Luebke, Bill Bean, Simon Green, Mark Harris, Manju Hedge, Nadeem Mohammad, Brent Oster, Peter Shirley, Eric Young, 及 Cyril Zeller。
學習目標
- 区分多核心 CPU 與多核心 GPU 之間的設計哲學與效能發展路徑。
- 認識現代 GPU 架構中的關鍵組件,包括串流多處理器(SMs)與記憶體結構。
- 應用阿姆達爾定律(Amdahl's Law)計算理論加速比,並辨識順序瓶頸的影響。
- 對比 固定功能管线與可程式化統一處理器陣列之間的架構差異。
- 解釋 「GPGPU」作為中間階段的角色,以及早期著色器程式模型的限制。
- 分析 原生硬體功能(如原子操作、屏障同步與雙精確度支援)如何促成可擴展通用計算的轉變。
- 在矩陣-矩陣乘法演算法中辨識並利用資料平行性。
- 實作裝置記憶體管理,包含記憶體配置、主機與裝置間的資料傳輸,以及釋放。
- 使用適當的線程索引與格網/區塊組態,建構並啟動 CUDA 核心。
- 設計 多維度線程層次結構(格網與區塊),以將複雜資料結構映射至 GPU 硬體。