感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程簡介
GPU 運算與 CUDA 架構
- CPU 與 GPU 架構差異
- NVIDIA GPU 串流多處理器模型
- CUDA 程式設計模型概述
- 異構運算與主機-裝置範式
設定 CUDA 開發環境
- 安裝 CUDA Toolkit 13.x
- NVCC 編譯器與建構工作流程
- 透過裝置查詢驗證環境
- IDE 整合與開發工具
編寫與啟動 CUDA Kernel
- Kernel 函式語法與限定詞
- 啟動配置與執行
- 向量加法與基本資料平行模式
- CUDA 錯誤檢查巨集
CUDA 執行緒階層與執行模型
- Grid、Block 與執行緒組織
- 執行緒索引與全域 ID 計算
- Warp 執行與 SIMT 模型
- 佔用率與資源利用
GPU 記憶體架構與管理
- 記憶體類型:全域、共用、常數、暫存器
- 配置與釋放裝置記憶體
- 主機到裝置及裝置到主機的傳輸
- 透過共用記憶體進行 Block 內協作
統一記憶體與資料遷移
- 統一記憶體模型與受控配置
- 頁面遷移與按需分頁
- 使用 cudaMemPrefetchAsync 進行異步預取
- 存取模式的記憶體建議提示
使用 Nsight Systems 進行系統級分析
- Nsight Systems 時間軸分析
- 識別 CPU-GPU 同步點
- 可視化 Kernel 執行與記憶體傳輸
- 解讀系統層級的效能資料
使用 Nsight Compute 進行 Kernel 最佳化
- Nsight Compute 互動式 Kernel 分析
- 記憶體吞吐量與頻寬分析
- 運算利用率與 Warp 狀態統計
- 引導式分析與最佳化規則
並行 Stream 與異步作業
- CUDA Stream 與預設 Stream
- 透過重疊 Kernel 執行與資料傳輸提升效率
- Stream 同步與 CUDA Events
- 多 Stream 管線設計模式
錯誤處理與除錯工具
- CUDA API 錯誤碼與恢復策略
- Compute-sanitizer 用於記憶體存取檢查
- cuda-gdb 用於 Kernel 除錯
- 斷言與同步錯誤檢測
基於分析的優化工作流程
- 迭代分析方法
- 瓶頸識別與優先級排序
- 效能回歸測試
- 記錄最佳化決策
端到端加速應用程式專案
- 設計完整的 GPU 加速解決方案
- 在開發全程整合分析
- 效能基準測試與報告
- 生產環境的部署考量
最低要求
- 具備基本的 C/C++ 編程能力,包括變數類型、迴圈、條件語句、函式及陣列操作
- 熟悉從指令列編譯和執行程式
- 無需先前的 GPU 或 CUDA 編程經驗
受眾
- 尋求使用 GPU 加速 C/C++ 應用程式的軟體開發人員和工程師
- 從純 CPU 轉向異構運算的科學研究人員與 HPC 實踐者
- 評估生產環境 GPU 加速的技術主管
8 小時