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