聯繫我們

課程簡介

簡介

  • 什麼是 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 小時

人數


每位參與者的報價

即將到來的課程

課程分類