Course Code: rocmwindows
Duration: 21 hours
Prerequisites:
  • 瞭解 C/C++ 語言和並行程式設計概念
  • 計算機體系結構和記憶體層次結構的基礎知識
  • 具有命令行工具和代碼編輯器的經驗
  • 熟悉 Windows 作業系統和 PowerShell

觀眾

  • 希望瞭解如何在 Windows 上安裝和使用 ROCm 對 AMD GPU 進行程式設計並利用其並行性的開發人員
  • 希望編寫可在不同 AMD 設備上運行的高性能和可擴展代碼的開發人員
  • 希望探索 GPU 程式設計的低級方面並優化其代碼性能的程式師
Overview:

ROCm 是一個用於 GPU 程式設計的開源平臺,支援 AMD GPU,還提供與 CUDA 和 OpenCL 的相容性。ROCm 使程式師瞭解硬體細節,並完全控制並行化過程。但是,這也需要對設備架構、記憶體模型、執行模型和優化技術有很好的理解。

ROCm for Windows 是最近開發的一項發展,允許使用者在 Windows 操作系統上安裝和使用 ROCm,廣泛用於個人和專業目的。ROCm for Windows 使用戶能夠將 AMD GPU 的強大功能用於各種應用,例如人工智慧、遊戲、圖形和科學計算。

這種以講師為主導的現場培訓(現場或遠端)面向希望在Windows上安裝和使用ROCm以程式設計AMD GPU並利用其並行性的初級到中級開發人員。

在培訓結束時,參與者將能夠:

  • 在 Windows 上設置包含 ROCm 平臺、AMD GPU 和 Visual Studio 代碼的開發環境。
  • 創建一個基本的 ROCm 程式,該程式對 GPU 執行向量加法並從 GPU 記憶體中檢索結果。
  • 使用 ROCm API 查詢設備資訊、分配和釋放裝置記憶體、在主機和設備之間複製數據、啟動內核和同步線程。
  • 使用 HIP 語言編寫在 GPU 上執行的內核並操作數據。
  • 使用 HIP 內置函數、變數和庫來執行常見任務和操作。
  • 使用 ROCm 和 HIP 記憶體空間(如全域、共用、常量和本地)來優化數據傳輸和記憶體訪問。
  • 使用 ROCm 和 HIP 執行模型來控制定義並行度的線程、塊和網格。
  • 使用 ROCm Debugger 和 ROCm Profiler 等工具調試和測試 ROCm 和 HIP 程式。
  • 使用合併、緩存、預取和分析等技術優化 ROCm 和 HIP 程式。

課程形式

  • 互動講座和討論。
  • 大量的練習和練習。
  • 在現場實驗室環境中動手實施。

課程自定義選項

  • 如需申請本課程的定製培訓,請聯繫我們進行安排。
Course Outline:

介紹

  • 什麼是ROCm?
  • 什麼是HIP?
  • ROCm 與 CUDA 與 OpenCL
  • ROCm 和 HIP 功能和體系結構概述
  • ROCm for Windows 與 ROCm 的 Linux

安裝

  • 在 Windows 上安裝 ROCm
  • 驗證安裝並檢查設備相容性
  • 在 Windows 上更新或卸載 ROCm
  • 常見安裝問題疑難解答

開始

  • 在 Windows 上使用 Visual Studio 代碼創建新的 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、合作組等。

調試

  • 在 Windows 上調試 ROCm 和 HIP 程式
  • 使用 Visual Studio 代碼調試器檢查變數、斷點、調用堆疊等。
  • 使用 ROCm 除錯器除錯 AMD 裝置上的 ROCm 和 HIP 程式
  • 使用 ROCm Profiler 分析 AMD 設備上的 ROCm 和 HIP 程式

優化

  • 在 Windows 上優化 ROCm 和 HIP 程式
  • 使用合併技術提高記憶體輸送量
  • 使用緩存和預取技術來減少記憶體延遲
  • 使用共用記憶體和本地記憶體技術來優化記憶體訪問和頻寬
  • 使用分析和分析工具來衡量和改進執行時間和資源利用率

總結和下一步

Sites Published:

United Arab Emirates - ROCm for Windows

Qatar - ROCm for Windows

Egypt - ROCm for Windows

Saudi Arabia - ROCm for Windows

South Africa - ROCm for Windows

Brasil - ROCm for Windows

Canada - ROCm for Windows

中国 - ROCm for Windows

香港 - ROCm for Windows

澳門 - ROCm for Windows

台灣 - ROCm for Windows

USA - ROCm for Windows

Österreich - ROCm for Windows

Schweiz - ROCm for Windows

Deutschland - ROCm for Windows

Czech Republic - ROCm for Windows

Denmark - ROCm for Windows

Estonia - ROCm for Windows

Finland - ROCm for Windows

Greece - ROCm for Windows

Magyarország - ROCm for Windows

Ireland - ROCm for Windows

Luxembourg - ROCm for Windows

Latvia - ROCm for Windows

España - ROCm for Windows

Italia - ROCm for Windows

Lithuania - ROCm for Windows

Nederland - ROCm for Windows

Norway - ROCm for Windows

Portugal - ROCm for Windows

România - ROCm for Windows

Sverige - ROCm for Windows

Türkiye - ROCm for Windows

Malta - ROCm for Windows

Belgique - ROCm for Windows

France - ROCm for Windows

日本 - ROCm for Windows

Australia - ROCm for Windows

Malaysia - ROCm for Windows

New Zealand - ROCm for Windows

Philippines - ROCm for Windows

Singapore - ROCm for Windows

Thailand - ROCm for Windows

Vietnam - ROCm for Windows

India - ROCm for Windows

Argentina - ROCm for Windows

Chile - ROCm for Windows

Costa Rica - ROCm for Windows

Ecuador - ROCm for Windows

Guatemala - ROCm for Windows

Colombia - ROCm for Windows

México - ROCm for Windows

Panama - ROCm for Windows

Peru - ROCm for Windows

Uruguay - ROCm for Windows

Venezuela - ROCm for Windows

Polska - ROCm for Windows

United Kingdom - ROCm for Windows

South Korea - ROCm for Windows

Pakistan - ROCm for Windows

Sri Lanka - ROCm for Windows

Bulgaria - ROCm for Windows

Bolivia - ROCm for Windows

Indonesia - ROCm for Windows

Kazakhstan - ROCm for Windows

Moldova - ROCm for Windows

Morocco - ROCm for Windows

Tunisia - ROCm for Windows

Kuwait - ROCm for Windows

Oman - ROCm for Windows

Slovakia - ROCm for Windows

Kenya - ROCm for Windows

Nigeria - ROCm for Windows

Botswana - ROCm for Windows

Slovenia - ROCm for Windows

Croatia - ROCm for Windows

Serbia - ROCm for Windows

Bhutan - ROCm for Windows

Nepal - ROCm for Windows

Uzbekistan - ROCm for Windows