Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
課程簡介
介紹
- 什麼是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 時間:
客戶評論 (2)
與各種示例非常互動,在培訓開始和結束之間的複雜性進展良好。
Jenny - Andheo
Course - GPU Programming with CUDA and Python
機器翻譯
培訓師精力充沛,幽默風趣。
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Course - NVIDIA GPU Programming - Extended
機器翻譯