感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程簡介
簡介
- 什麼是 ROCm?
- 什麼是 HIP?
- ROCm vs CUDA vs OpenCL
- ROCm 和 HIP 功能與架構概述
- ROCm for Windows vs ROCm for Linux
安裝
- 在 Windows 上安裝 ROCm
- 驗證安裝並檢查裝置相容性
- 更新或卸載 Windows 上的 ROCm
- 排除常見安裝問題
入門
- 使用 Visual Studio Code 在 Windows 上建立新的 ROCm 專案
- 探索專案結構與檔案
- 編譯並執行程式
- 使用 printf 和 fprintf 顯示輸出
ROCm API
- 在主機程式中使用 ROCm API
- 查詢裝置資訊與功能
- 配置和釋放裝置記憶體
- 在主机與裝置間複製資料
- 啟動核心並同步執行緒
- 處理錯誤與例外狀況
HIP 語言
- 在裝置程式中使用 HIP 語言
- 編寫可在 GPU 上執行的核心並操作資料
- 使用資料類型、限定詞、運算子及表達式
- 使用內建函數、變數及程式庫
ROCm 和 HIP 記憶體模型
- 使用不同的記憶體空間,如全域、共用、常數和本地
- 使用不同的記憶體物件,如指標、陣列、紋理及表面
- 使用不同的記憶體存取模式,如唯讀、寫入及讀寫等
- 使用記憶體一致性模型和同步機制
ROCm 和 HIP 執行模型
- 使用不同的執行模型,如執行緒、區塊及網格
- 使用執行緒函數,如 hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x 等
- 使用區塊函數,如 __syncthreads, __threadfence_block 等
- 使用網格函數,如 hipGridDim_x, hipGridSync, cooperative groups 等
除錯
- 在 Windows 上除錯 ROCm 和 HIP 程式
- 使用 Visual Studio Code 除錯器檢查變數、中斷點、呼叫堆疊等
- 使用 ROCm Debugger 在 AMD 裝置上除錯 ROCm 和 HIP 程式
- 使用 ROCm Profiler 分析 AMD 裝置上的 ROCm 和 HIP 程式
最佳化
- 在 Windows 上最佳化 ROCm 和 HIP 程式
- 使用合併存取技術提升記憶體頻寬
- 使用快取和預取技術降低記憶體延遲
- 使用共用記憶體和本地記憶體技術最佳化記憶體存取與頻寬
- 使用效能分析及分析工具來測量並改善執行時間與資源利用率
總結與下一步
最低要求
- 具備 C/C++ 語言及平行程式設計概念的知識
- 具備電腦架構及記憶體階層的基本知識
- 有使用命令列工具和程式碼編輯器的經驗
- 熟悉 Windows 作業系統和 PowerShell
適合對象
- 希望學習如何在 Windows 上安裝和使用 ROCm,對 AMD GPU 進行程式設計並發揮其平行運算能力的開發人員。
- 希望編寫能在不同 AMD 裝置上運行的高效能、可擴展程式碼的開發人員。
- 希望探索 GPU 程式設計的底層面向並最佳化程式碼效能的程式設計師。
21 小時