感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程簡介
介紹
- 什麼是ROCm?
- 什麼是HIP?
- ROCm 與 CUDA 與 OpenCL
- ROCm 和 HIP 功能和體系結構概述
- 設置開發環境
開始
- 使用 Visual Studio 代碼創建新的 ROCm 專案
- 瀏覽項目結構和檔
- 編譯和運行程式
- 使用 printf 和 fprintf 顯示輸出
ROCm API
- 瞭解 ROCm API 在主機程式中的作用
- 使用 ROCm API 查詢設備資訊和功能
- 使用 ROCm API 分配和解除分配設備記憶體
- 使用 ROCm API 在主機和設備之間複製數據
- 使用 ROCm API 啟動內核和同步線程
- 使用 ROCm API 處理錯誤和異常
HIP 語言
- 瞭解 HIP 語言在設備程式中的作用
- 使用 HIP 語言編寫在 GPU 上執行的內核並操作數據
- 使用 HIP 數據類型、限定子、運算子和表示式
- 使用 HIP 內置函數、變數和庫執行常見任務和操作
ROCm 和 HIP 記憶體模型
- 瞭解主機和設備記憶體模型之間的差異
- 使用 ROCm 和 HIP 記憶體空間,例如全域、共用、常量和本地
- 使用 ROCm 和 HIP 記憶體物件,例如指標、陣列、紋理和表面
- 使用 ROCm 和 HIP 記憶體存存取模式,如唯讀、只寫、讀寫等。
- 使用 ROCm 和 HIP 記憶體一致性模型和同步機制
ROCm 和 HIP 執行模型
- 瞭解主機和設備執行模型之間的區別
- 使用 ROCm 和 HIP 線程、塊和網格來定義並行度
- 使用 ROCm 和 HIP 線程功能,例如 hipThreadIdx_x、hipBlockIdx_x、hipBlockDim_x 等。
- 使用 ROCm 和 HIP 塊功能,如 __syncthreads、__threadfence_block 等。
- 使用 ROCm 和 HIP 網格功能,例如 hipGridDim_x、hipGridSync、協作組等。
調試
- 瞭解 ROCm 和 HIP 程式中的常見錯誤和錯誤
- 使用 Visual Studio 代碼調試器檢查變數、斷點、調用堆疊等。
- 使用 ROCm 除錯器除錯 AMD 裝置上的 ROCm 和 HIP 程式
- 使用 ROCm Profiler 分析 AMD 設備上的 ROCm 和 HIP 程式
優化
- 了解影響 ROCm 和 HIP 程式性能的因素
- 使用 ROCm 和 HIP 合併技術提高記憶體輸送量
- 使用 ROCm 和 HIP 快取技術來減少記憶體延遲
- 使用 ROCm 和 HIP 共用記憶體和本地記憶體技術來優化記憶體訪問和頻寬
- 使用 ROCm 和 HIP 分析和分析工具來衡量和改進執行時間和資源利用率
總結和下一步
最低要求
- 瞭解 C/C++ 語言和並行程式設計概念
- 計算機體系結構和記憶體層次結構的基礎知識
- 具有命令行工具和代碼編輯器的經驗
觀眾
- 希望瞭解如何使用 ROCm 和 HIP 對 AMD GPU 進行程式設計並利用其並行性的開發人員
- 希望編寫可在不同 AMD 設備上運行的高性能和可擴展代碼的開發人員
- 希望探索 GPU 程式設計的低級方面並優化其代碼性能的程式師
28 時間: