AMD GPU Programming培訓
ROCm 是一個用於 GPU 程式設計的開源平臺,支援 AMD GPU,還提供與 CUDA 和 OpenCL 的相容性。ROCm 使程式師瞭解硬體細節,並完全控制並行化過程。但是,這也需要對設備架構、記憶體模型、執行模型和優化技術有很好的理解。
HIP 是一種 C++ 運行時 API 和內核語言,允許您編寫可在 AMD 和 NVIDIA GPU 上運行的可移植代碼。 HIP 在原生 GPU API(如 ROCm 和 CUDA)上提供了一個精簡的抽象層,並允許您利用現有的 GPU 庫和工具。
這種以講師為主導的現場培訓(現場或遠端)針對希望使用ROCm和HIP對AMD GPU進行程式設計並利用其並行性的初級到中級開發人員。
在培訓結束時,參與者將能夠:
- 設置包含 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 程式。
課程形式
- 互動講座和討論。
- 大量的練習和練習。
- 在現場實驗室環境中動手實施。
課程自定義選項
- 如需申請本課程的定製培訓,請聯繫我們進行安排。
課程簡介
介紹
- 什麼是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 程式設計的低級方面並優化其代碼性能的程式師
需要幫助選擇合適的課程嗎?
AMD GPU Programming培訓 - Enquiry
AMD GPU Programming - 咨詢詢問
咨詢詢問
相關課程
Developing AI Applications with Huawei Ascend and CANN
21 時間:Huawei Ascend 是一系列专为高性能推理和训练设计的AI处理器。
本课程为讲师指导的培训(线上或线下),面向中级AI工程师和数据科学家,旨在帮助他们使用华为的Ascend平台和CANN工具包开发和优化神经网络模型。
在本培训结束时,参与者将能够:
- 设置和配置CANN开发环境。
- 使用MindSpore和CloudMatrix工作流开发AI应用。
- 使用自定义运算符和分块优化Ascend NPU的性能。
- 将模型部署到边缘或云环境。
课程形式
- 互动讲座和讨论。
- 在示例应用中动手使用Huawei Ascend和CANN工具包。
- 专注于模型构建、训练和部署的指导练习。
课程定制选项
- 如需根据您的基础设施或数据集定制本课程,请联系我们安排。
Deploying AI Models with CANN and Ascend AI Processors
14 時間:CANN(面向Neural Networks的计算架构)是华为的AI计算堆栈,用于在昇腾AI处理器上部署和优化AI模型。
本课程为讲师指导的培训(线上或线下),面向中级AI开发者和工程师,旨在帮助他们使用CANN工具包及MindSpore、TensorFlow或PyTorch等工具,将训练好的AI模型高效部署到Huawei Ascend硬件上。
通过本课程,学员将能够:
- 了解CANN架构及其在AI部署流程中的作用。
- 将模型从流行框架转换并适配为昇腾兼容格式。
- 使用ATC、OM模型转换和MindSpore等工具进行边缘和云端推理。
- 诊断部署问题并优化昇腾硬件的性能。
课程形式
- 互动式讲座与演示。
- 使用CANN工具和昇腾模拟器或设备进行实操练习。
- 基于真实AI模型的实用部署场景。
课程定制选项
- 如需为本课程定制培训,请联系我们安排。
GPU Programming on Biren AI Accelerators
21 時間:Biren AI Accelerators are high-performance GPUs designed for AI and HPC workloads with support for large-scale training and inference.
This instructor-led, live training (online or onsite) is aimed at intermediate-level to advanced-level developers who wish to program and optimize applications using Biren’s proprietary GPU stack, with practical comparisons to CUDA-based environments.
By the end of this training, participants will be able to:
- Understand Biren GPU architecture and memory hierarchy.
- Set up the development environment and use Biren’s programming model.
- Translate and optimize CUDA-style code for Biren platforms.
- Apply performance tuning and debugging techniques.
Format of the Course
- Interactive lecture and discussion.
- Hands-on use of Biren SDK in sample GPU workloads.
- Guided exercises focused on porting and performance tuning.
Course Customization Options
- To request a customized training for this course based on your application stack or integration needs, please contact us to arrange.
Cambricon MLU Development with BANGPy and Neuware
21 時間:Cambricon MLUs (Machine Learning 单元) 是专为边缘和数据中心场景中的推理和训练优化的AI芯片。
本次由讲师指导的培训(线上或线下)面向中级开发者,旨在帮助他们使用BANGPy框架和Neuware SDK在Cambricon MLU硬件上构建和部署AI模型。
通过本次培训,参与者将能够:
- 设置和配置BANGPy和Neuware开发环境。
- 开发和优化基于Python和C++的模型,适用于Cambricon MLUs。
- 将模型部署到运行Neuware运行时的边缘和数据中心设备。
- 将ML工作流与MLU特定的加速功能集成。
课程形式
- 互动式讲座和讨论。
- 动手实践,使用BANGPy和Neuware进行开发和部署。
- 指导练习,专注于优化、集成和测试。
课程定制选项
- 如需根据您的Cambricon设备型号或使用场景定制本次培训,请联系我们安排。
Introduction to CANN for AI Framework Developers
7 時間:CANN for Edge AI Deployment
14 時間:華為的Ascend CANN工具包能夠在邊緣設備(如Ascend 310)上實現強大的AI推理。CANN提供了在計算和內存受限的環境中編譯、優化和部署模型的必要工具。
這項由講師指導的培訓(線上或線下)針對希望使用CANN工具鏈在Ascend邊緣設備上部署和優化模型的中級AI開發者和集成商。
在培訓結束時,參與者將能夠:
- 使用CANN工具為Ascend 310準備和轉換AI模型。
- 使用MindSpore Lite和AscendCL構建輕量級推理管道。
- 在計算和內存有限的環境中優化模型性能。
- 在實際邊緣用例中部署和監控AI應用程序。
課程形式
- 互動式講座和演示。
- 針對邊緣特定模型和場景的動手實驗。
- 在虛擬或物理邊緣硬件上的即時部署示例。
課程定制選項
- 如需為本課程定制培訓,請聯繫我們進行安排。
Understanding Huawei’s AI Compute Stack: From CANN to MindSpore
14 時間:Optimizing Neural Network Performance with CANN SDK
14 時間:CANN SDK(Neural Networks 的計算架構)是華為的 AI 計算基礎,允許開發者在 Ascend AI 處理器上微調和優化已部署的神經網絡性能。
這是一個由講師主導的培訓(線上或線下),旨在針對高級 AI 開發者和系統工程師,他們希望使用 CANN 的先進工具集(包括 Graph Engine、TIK 和自定義算子開發)來優化推理性能。
培訓結束時,參與者將能夠:
- 了解 CANN 的運行時架構和性能生命周期。
- 使用性能分析工具和 Graph Engine 進行性能分析和優化。
- 使用 TIK 和 TVM 創建和優化自定義算子。
- 解決內存瓶頸並提高模型吞吐量。
課程形式
- 互動式講座和討論。
- 實時性能分析和算子調優的實踐實驗室。
- 使用邊緣案例部署示例的優化練習。
課程定制選項
- 如需為此課程請求定制培訓,請聯繫我們進行安排。
CANN SDK for Computer Vision and NLP Pipelines
14 時間:CANN SDK(Neural Networks 的计算架构)为计算机视觉和自然语言处理(NLP)中的实时AI应用提供了强大的部署和优化工具,特别是在Huawei Ascend硬件上。
本课程为讲师指导的培训(线上或线下),面向中级AI从业者,旨在帮助他们使用CANN SDK构建、部署和优化视觉与语言模型,以应对实际生产用例。
培训结束后,学员将能够:
- 使用CANN和AscendCL部署和优化CV与NLP模型。
- 使用CANN工具转换模型并将其集成到实时管道中。
- 优化检测、分类和情感分析等任务的推理性能。
- 为边缘或云端部署场景构建实时CV/NLP管道。
课程形式
- 互动讲座与演示。
- 动手实验:模型部署与性能分析。
- 使用真实CV和NLP用例设计实时管道。
课程定制选项
- 如需为本课程定制培训,请联系我们进行安排。
Building Custom AI Operators with CANN TIK and TVM
14 時間:CANN TIK (Tensor Instruction Kernel) 和 Apache TVM 能够为 Huawei Ascend 硬件实现 AI 模型算子的高级优化和定制。
这门由讲师指导的培训(线上或线下)面向希望使用 CANN 的 TIK 编程模型和 TVM 编译器集成来构建、部署和调优 AI 模型自定义算子的高级系统开发者。
培训结束后,参与者将能够:
- 使用 TIK DSL 为 Ascend 处理器编写和测试自定义 AI 算子。
- 将自定义算子集成到 CANN 运行时和执行图中。
- 使用 TVM 进行算子调度、自动调优和基准测试。
- 调试和优化自定义计算模式的指令级性能。
课程形式
- 互动讲座和演示。
- 使用 TIK 和 TVM 管道进行算子编码实践。
- 在 Ascend 硬件或模拟器上进行测试和调优。
课程定制选项
- 如需为此课程定制培训,请联系我们安排。
Migrating CUDA Applications to Chinese GPU Architectures
21 時間:中國的GPU架構,如Huawei Ascend、Biren和Cambricon MLU,提供了專為本地AI和HPC市場量身定制的CUDA替代方案。
這項由講師指導的培訓(線上或線下)旨在為高級GPU程式設計師和基礎設施專家提供遷移和優化現有CUDA應用程序,以便在中國硬件平台上部署的能力。
培訓結束後,參與者將能夠:
- 評估現有CUDA工作負載與中國芯片替代方案的兼容性。
- 將CUDA代碼庫移植到華為CANN、Biren SDK和Cambricon BANGPy環境中。
- 比較性能並識別跨平台的優化點。
- 解決跨架構支持和部署中的實際挑戰。
課程形式
- 互動式講座和討論。
- 實踐代碼翻譯和性能比較實驗。
- 專注於多GPU適應策略的指導練習。
課程定制選項
- 如需根據您的平台或CUDA項目定制培訓,請聯繫我們安排。
Performance Optimization on Ascend, Biren, and Cambricon
21 時間:Ascend、Biren 和 Cambricon 是中國領先的 AI 硬體平台,各自提供獨特的加速和性能分析工具,用於生產規模的 AI 工作負載。
這項由講師指導的培訓(線上或線下)針對高級 AI 基礎設施和性能工程師,旨在優化跨多個中國 AI 晶片平台的模型推理和訓練工作流程。
在培訓結束時,參與者將能夠:
- 在 Ascend、Biren 和 Cambricon 平台上進行模型基準測試。
- 識別系統瓶頸和記憶體/計算效率低下的問題。
- 應用圖層級、核心層級和操作層級的優化。
- 調整部署管道以提高吞吐量和減少延遲。
課程形式
- 互動式講座和討論。
- 在每個平台上實際使用性能分析和優化工具。
- 專注於實際調整情境的指導練習。
課程定制選項
- 如需根據您的性能環境或模型類型定制此課程,請聯繫我們安排。