ROCm/rocm-examples

A collection of examples for the ROCm software stack

해결하는 문제

이 저장소는 ROCm과 HIP에 대한 입문을 돕는 포괄적인 코드 예제 모음입니다. 기본 기능부터 고급 GPU 가속 기법까지 다양한 예제를 제공하며, CUDA에서 HIP로 전환하는 개발자나 AMD 하드웨어에서 GPU 프로그래밍을 처음 시작하는 개발자들에게 다리 역할을 합니다.

작동 방식

이 프로젝트는 다음과 같은 카테고리의 예제로 구성되어 있습니다:

  • HIP-Basic: 메모리 대역폭, 행렬 곱셈, 스트림과 같은 런타임 기능을 위한 자체 포함형 레시피.
  • Applications: 비토닉 정렬, 이산 컨볼루션, 몬테카를로 방법을 통한 $\pi$ 추정과 같은 실제 알고리즘의 GPU 가속 구현.
  • Libraries: ROCm 라이브러리를 사용한 고수준 기능 예제.
  • AI: Torch-MIGraphX를 사용하여 양자화된 모델을 실행하는 방법과 예제.
  • Systems: hipFile를 통한 GPU-직접 스토리지 I/O를 포함한 ROCm 시스템 예제.
  • HIP-Doc: 공식 HIP 문서와 함께 제공되는 코드 예제.

대상 사용자

  • HIP을 배우기 시작하려는 신규 ROCm 사용자.
  • GPU 가속의 고급 예제를 찾는 경험 많은 GPU 개발자.
  • 기존 NVIDIA 기반 코드를 AMD GPU로 이식하고자 하는 CUDA 개발자 (hipify 같은 도구 사용).

주요 특징

  • 크로스 플랫폼 지원: Linux 및 Windows(Visual Studio 또는 CMake를 통해)에서 빌드 가능.
  • CUDA 호환성: ROCM_EXAMPLES_GPU_LANGUAGE 옵션을 사용해 HIP 또는 CUDA 플랫폼 모두에서 컴파일 가능.
  • 컨테이너화된 설정: 전제 조건 설치를 간소화하는 Dockerfiles 제공.
  • 광범위한 알고리즘 커버리지: 접두사 합, 광학 흐름, Floyd-Warshall 최단 경로와 같은 일반적인 GPU 패턴의 구현 포함.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트