上門編程教學課程內容
課程簡介
本課程專為希望快速掌握 NVIDIA CUDA 平行運算程式設計 的開發者設計。三小時內系統性理解 GPU 運算核心原理、執行模型與 CUDA 編程語法,並透過實際範例親手撰寫 GPU 加速程式。
CUDA(Compute Unified Device Architecture) 是由 NVIDIA 開發的平行運算平台與 API,能利用 GPU 的大規模並行架構,執行超越 CPU 效能的高效率計算工作,廣泛應用於 AI 深度學習、科學模擬、影像處理與資料分析。
本課程從硬體概念、運算流程到程式實作,協助學員理解 GPU 運算的本質,並能在實務專案中使用 CUDA 加速。
適合對象:
-
AI / 機器學習 / 深度學習工程師
-
資料科學家或高效能運算(HPC)研究者
-
熟悉 C / C++ 語言開發者
-
想深入了解 GPU 運算架構與資源調校者
學習成果:
-
理解 GPU 平行運算架構與 CUDA 思維模式
-
熟悉 CUDA 語法、執行緒模型與記憶體層級
-
能撰寫 CUDA Kernel 並呼叫 GPU 運算
-
熟悉 Host(CPU)與 Device(GPU)間的資料傳遞流程
-
建立簡單的 GPU 加速應用實作(矩陣運算或影像計算)
課程時長
3 小時(180 分鐘)
理論講解與實作比例約 3 : 7
課程大綱
第一部份:CUDA 與 GPU 運算基礎(30 分鐘)
-
CPU vs GPU 運算架構比較
-
CUDA 的角色與應用場景
-
GPU 多核心(Core)與執行緒(Threads)概念
-
CUDA 開發環境安裝(NVIDIA 驅動、CUDA Toolkit、nvcc 編譯器)
-
實作:檢測 GPU 裝置與 CUDA SDK 工具
第二部份:CUDA 語法與執行模型入門(40 分鐘)
第三部份:記憶體管理與資料傳輸(40 分鐘)
-
GPU 記憶體架構:Global、Shared、Constant、Local
-
主機與裝置間的記憶體分配與拷貝(cudaMalloc / cudaMemcpy)
-
效能瓶頸:記憶體延遲與資料移動優化
-
Shared Memory 的共同運算技巧
-
實作範例:使用 Shared Memory 進行矩陣乘法加速
第四部份:CUDA 程式除錯與優化實務(40 分鐘)
-
CUDA 程式開發常見錯誤與偵錯方法(cudaGetLastError())
-
效能分析工具(NVIDIA Nsight / Visual Profiler)
-
平行化效率提升策略(Thread Block 設計、Occupancy)
-
Kernel 最佳實務與 Launch Configuration 設計
-
實作練習:效能優化比較(GPU vs CPU 矩陣運算時間)
第五部份:延伸應用與 CUDA 生態系(30 分鐘)
-
CUDA 與 Python:Numba / CuPy / PyTorch 後端架構簡介
-
CUDA Libraries:cuBLAS、cuDNN、cuFFT
-
GPU 多裝置管理與異步執行(Streams)
-
延伸學習方向:CUDA Graph、TensorRT、OptiX、NVLink
-
綜合實作:建立簡單 GPU 加速的影像濾鏡應用
課程特色