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