感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程簡介
簡介
- 什麼是 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
- 查詢裝置資訊與能力
- 配置與釋放裝置記憶體
- 複製主機與裝置間的資料
- 啟動核心(kernels)與同步線程
- 處理錯誤與例外狀況
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 小時