Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
课程大纲
介绍
- 什么是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 编程的低级方面并优化其代码性能的程序员
28 小时
客户评论 (2)
与各种示例非常互动,在培训开始和结束之间的复杂性进展良好。
Jenny - Andheo
课程 - GPU Programming with CUDA and Python
机器翻译
培训师精力充沛,幽默风趣。
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
课程 - NVIDIA GPU Programming - Extended
机器翻译