ROCm/rocm-examples
A collection of examples for the ROCm software stack
解决的问题
本仓库提供了一套全面的代码示例,帮助用户快速入门 ROCm 和 HIP,涵盖从基础功能到高级 GPU 加速技术的各个方面。它为从 CUDA 迁移到 HIP 的开发者,或初次接触 AMD 硬件 GPU 编程的开发者提供了桥梁。
工作原理
该项目按多个类别组织示例:
- HIP-Basic:包含运行时功能的自包含示例(如内存带宽、矩阵乘法和流)。
- Applications:真实世界中 GPU 加速的算法实现,例如位序排序、离散卷积和蒙特卡洛估算 $\pi$。
- Libraries:展示如何使用 ROCm 库实现更高层次功能的示例。
- AI:使用 Torch-MIGraphX 执行量化模型的说明和示例。
- Systems:ROCm 系统示例,包括通过 hipFile 实现的 GPU 直接存储 I/O。
- HIP-Doc:与官方 HIP 文档配套的代码示例。
适用人群
- 想要学习 HIP 的 新 ROCm 用户。
- 寻找 GPU 加速高级示例的 资深 GPU 开发者。
- 希望使用 hipify 等工具将现有 NVIDIA 代码移植到 AMD GPU 的 CUDA 开发者。
亮点
- 跨平台支持:可在 Linux 和 Windows(通过 Visual Studio 或 CMake)上构建。
- CUDA 兼容性:使用
ROCM_EXAMPLES_GPU_LANGUAGE选项,可编译为 HIP 或 CUDA 平台。 - 容器化设置:提供 Dockerfiles 以简化前置依赖的安装。
- 广泛的算法覆盖:包含前缀和、光流、Floyd-Warshall 最短路径等常见 GPU 模式实现。
相关
- 项目
- 项目
- 项目
- Dispatch
- 项目