ROCm for Windows 培训
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 程序。
课程形式
- 互动讲座和讨论。
- 大量的练习和练习。
- 在现场实验室环境中动手实施。
课程自定义选项
- 如需申请本课程的定制培训,请联系我们进行安排。
课程大纲
介绍
- 什么是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 程序
- 使用合并技术提高内存吞吐量
- 使用缓存和预取技术来减少内存延迟
- 使用共享内存和本地内存技术来优化内存访问和带宽
- 使用分析和分析工具来衡量和改进执行时间和资源利用率
总结和下一步
要求
- 了解 C/C++ 语言和并行编程概念
- 计算机体系结构和内存层次结构的基础知识
- 具有命令行工具和代码编辑器的经验
- 熟悉 Windows 操作系统和 PowerShell
观众
- 希望了解如何在 Windows 上安装和使用 ROCm 对 AMD GPU 进行编程并利用其并行性的开发人员
- 希望编写可在不同 AMD 设备上运行的高性能和可扩展代码的开发人员
- 希望探索 GPU 编程的低级方面并优化其代码性能的程序员
需要帮助选择合适的课程吗?
ROCm for Windows 培训 - 询价
ROCm for Windows - 问询
问询
即将举行的公开课程
相关课程
使用Huawei Ascend和CANN开发AI应用程式
21 小时Huawei Ascend 是一系列专为高性能推理和训练设计的AI处理器。
本课程为讲师指导的培训(线上或线下),面向中级AI工程师和数据科学家,旨在帮助他们使用华为的Ascend平台和CANN工具包开发和优化神经网络模型。
在本培训结束时,参与者将能够:
- 设置和配置CANN开发环境。
- 使用MindSpore和CloudMatrix工作流开发AI应用。
- 使用自定义运算符和分块优化Ascend NPU的性能。
- 将模型部署到边缘或云环境。
课程形式
- 互动讲座和讨论。
- 在示例应用中动手使用Huawei Ascend和CANN工具包。
- 专注于模型构建、训练和部署的指导练习。
课程定制选项
- 如需根据您的基础设施或数据集定制本课程,请联系我们安排。
使用CANN和Ascend AI处理器部署AI模型
14 小时CANN(Neural Networks计算架构)是华为的AI计算堆栈,用于在Ascend AI处理器上部署和优化AI模型。
本次由讲师指导的培训(线上或线下)面向中级AI开发人员和工程师,旨在帮助他们使用CANN工具包及MindSpore、TensorFlow或PyTorch等工具,将训练好的AI模型高效部署到Huawei Ascend硬件上。
通过本次培训,学员将能够:
- 了解CANN架构及其在AI部署流程中的作用。
- 将来自流行框架的模型转换为与Ascend兼容的格式。
- 使用ATC、OM模型转换和MindSpore等工具进行边缘和云端推理。
- 诊断部署问题并优化Ascend硬件上的性能。
课程形式
- 互动式讲座和演示。
- 使用CANN工具和Ascend模拟器或设备进行动手实验。
- 基于真实AI模型的实际部署场景。
课程定制选项
- 如需为本课程定制培训,请联系我们安排。
GPU Programming 关于Biren AI加速器
21 小时Biren AI 加速器是专为 AI 和高性能计算(HPC)工作负载设计的高性能 GPU,支持大规模训练和推理。
本课程为讲师主导的培训(线上或线下),面向中级到高级开发者,旨在教授如何使用 Biren 的专有 GPU 栈进行编程和优化,并与基于 CUDA 的环境进行实际对比。
在本课程结束时,学员将能够:
- 理解 Biren GPU 架构和内存层次结构。
- 搭建开发环境并使用 Biren 的编程模型。
- 转换并优化基于 CUDA 的代码以适用于 Biren 平台。
- 应用性能调优和调试技术。
课程形式
- 互动式讲座与讨论。
- 在示例 GPU 工作负载中实践使用 Biren SDK。
- 专注于移植和性能调优的指导练习。
课程定制选项
- 如需根据您的应用栈或集成需求定制本课程,请联系我们安排。
Cambricon MLU Development with BANGPy and Neuware
21 小时Cambricon MLUs(Machine Learning单元)是专为边缘和数据中心场景中的推理和训练优化的AI芯片。
本次由讲师指导的培训(线上或线下)面向中级开发者,旨在帮助他们使用BANGPy框架和Neuware SDK在Cambricon MLU硬件上构建和部署AI模型。
通过本次培训,参与者将能够:
- 设置和配置BANGPy与Neuware开发环境。
- 为Cambricon MLUs开发和优化基于Python和C++的模型。
- 将模型部署到运行Neuware运行时的边缘和数据中心设备。
- 将机器学习工作流与MLU特定的加速功能集成。
课程形式
- 互动式讲座和讨论。
- 动手实践BANGPy和Neuware进行开发和部署。
- 专注于优化、集成和测试的指导练习。
课程定制选项
- 如需根据您的Cambricon设备型号或使用场景定制本课程,请联系我们安排。
CANN AI 框架开发者入门
7 小时CANN(Neural Networks的计算架构)是华为的AI计算工具包,用于在Ascend AI处理器上编译、优化和部署AI模型。
本次由讲师指导的培训(线上或线下)面向初级的AI开发者,旨在帮助他们了解CANN如何融入从训练到部署的模型生命周期,以及它如何与MindSpore、TensorFlow和PyTorch等框架协作。
在培训结束时,参与者将能够:
- 理解CANN工具包的用途和架构。
- 搭建包含CANN和MindSpore的开发环境。
- 将简单的AI模型转换并部署到Ascend硬件上。
- 为未来的CANN优化或集成项目打下基础。
课程形式
- 互动式讲座和讨论。
- 实践实验,包含简单模型部署。
- 逐步讲解CANN工具链和集成点。
课程定制选项
- 如需定制本课程,请联系我们安排。
CANN 用于 Edge AI 部署
14 小时华为的Ascend CANN工具包能够在边缘设备(如Ascend 310)上实现强大的AI推理。CANN提供了在计算和内存受限的环境中编译、优化和部署模型所需的必要工具。
本次由讲师指导的培训(线上或线下)面向希望使用CANN工具链在Ascend边缘设备上部署和优化模型的中级AI开发人员和集成人员。
培训结束后,学员将能够:
- 使用CANN工具为Ascend 310准备和转换AI模型。
- 使用MindSpore Lite和AscendCL构建轻量级推理管道。
- 在计算和内存受限的环境中优化模型性能。
- 在实际边缘用例中部署和监控AI应用。
课程形式
- 互动讲座与演示。
- 针对边缘特定模型和场景的实践操作。
- 在虚拟或物理边缘硬件上进行实时部署示例。
课程定制选项
- 如需为本课程定制培训,请联系我们进行安排。
理解华为AI计算堆叠:从CANN到MindSpore
14 小时华为的AI技术栈——从底层的CANN SDK到高层的MindSpore框架——提供了一个紧密集成的AI开发和部署环境,专为Ascend硬件优化。
本次由讲师指导的培训(线上或线下)面向初级到中级的技术专业人员,旨在帮助他们理解CANN和MindSpore组件如何协同工作,以支持AI生命周期管理和基础设施决策。
培训结束后,学员将能够:
- 理解华为AI计算栈的分层架构。
- 了解CANN如何支持模型优化和硬件级部署。
- 评估MindSpore框架和工具链,并与行业替代方案进行比较。
- 将华为的AI技术栈定位到企业或云/本地环境中。
课程形式
- 互动讲座与讨论。
- 实时系统演示和基于案例的讲解。
- 可选的指导实验,涵盖从MindSpore到CANN的模型流程。
课程定制选项
- 如需为本课程定制培训,请联系我们安排。
使用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用例设计实时管道。
课程定制选项
- 如需为本课程定制培训,请联系我们进行安排。
使用CANN TIK和TVM构建自定义AI算子
14 小时CANN TIK(张量指令内核)和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 平台上进行模型基准测试。
- 识别系统瓶颈和记忆体/计算效率低下的问题。
- 应用图层级、核心层级和操作层级的优化。
- 调整部署管道以提高吞吐量和减少延迟。
课程形式
- 互动式讲座和讨论。
- 在每个平台上实际使用性能分析和优化工具。
- 专注于实际调整情境的指导练习。
课程定制选项
- 如需根据您的性能环境或模型类型定制此课程,请联系我们安排。