ROCm/hip
HIP: C++ Heterogeneous-Compute Interface for Portability
해결하는 문제
다양한 하드웨어 벤더 간 GPU 가속을 위한 통합된 프로그래밍 인터페이스의 부재를 해결합니다. 특히 기존 NVIDIA CUDA 코드를 AMD GPU에서 실행할 수 있도록 이식하는 과정을 단순화하여 개발자의 노력과 하드웨어 종속성을 줄입니다.
작동 방식
HIP는 NVIDIA CUDA 프로그래밍 인터페이스를 모방하는 C++ 런타임 API와 커널 언어를 제공합니다. 유사한 구문과 API를 통해 개발자는 다양한 GPU 아키텍처 간에 포터블한 코드를 작성할 수 있습니다.
대상 사용자
포터블한 GPU 가속 애플리케이션을 개발하고자 하거나, 기존 CUDA 기반 소프트웨어를 AMD 하드웨어로 마이그레이션하고자 하는 개발자들입니다.
주요 특징
- AMD GPU 전용 C++ 런타임 API 및 커널 언어.
- 포터빌리티를 고려해 설계되어 AMD 및 NVIDIA 하드웨어 모두에서 실행 가능.
- NVIDIA CUDA와 높은 호환성으로 이식이 간편합니다.
관련
- 프로젝트
ROCm/rocm-examplesA collection of examples and tutorials for the ROCm platform, providing code for HIP runtime functionality, GPU-accelerated applications, and AI model execution.
- 프로젝트
ROCm/HIPIFYHIPIFY는 주로 `hipify-clang`를 사용하여 CUDA C++ 코드를 포터블한 HIP 코드로 자동 변환하는 명령줄 도구를 제공하며, 동일한 소스 코드를 AMD 및 NVIDIA GPU에서 실행할 수 있게 합니다. 또한 HIP에서 지원하는 CUDA에서 HIP로의 API 매핑에 대한 Markdown 또는 CSV 문서를 생성할 수 있습니다.
- 프로젝트
AdaptiveCpp/AdaptiveCppCPU와 주요 벤더(Intel, NVIDIA, AMD, Apple)의 GPU를 대상으로 하는 C++ 이종 프로그래밍을 위한 커뮤니티 주도 플랫폼입니다. 단일 바이너리로 다양한 하드웨어에서 실행 가능합니다.
- 프로젝트
kunzmi/managedCudaNVIDIA의 CUDA Driver API 및 라이브러리용 .NET 래퍼로, C# 및 Visual Basic 개발자가 애플리케이션에 GPU 가속 기능을 통합할 수 있도록 합니다.
- 프로젝트