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
  • 项目