정의
ROCm(Radeon Open Compute)은 AMD가 제공하는 오픈 소스 GPU 컴퓨팅 플랫폼이다. x86‑64 및 ARM 기반 시스템에서 고성능 컴퓨팅(HPC), 인공지능(AI), 머신러닝 워크로드를 실행할 수 있도록 설계되었다.
주요 구성 요소
| 구성 요소 | 설명 |
|---|---|
| ROCm Driver | Linux 커널에 통합된 AMD GPU용 디바이스 드라이버. HSA(모바일 컴퓨팅용 하드웨어 스페시피케이션)와 호환된다. |
| ROCm Runtime | 기계어 수준에서 GPU와 CPU 사이의 작업 스케줄링 및 메모리 관리 기능을 제공한다. |
| ROCm Runtime Library (ROCR) | HIP(Heterogeneous‑Compute Interface for Portability)와 같은 고수준 API가 GPU 코드를 실행하도록 지원한다. |
| ROCm Math Libraries | rocBLAS, rocFFT, rocSOLVER 등 과학·공학 계산에 최적화된 수학 라이브러리. |
| ROCm Compiler Stack | LLVM 기반 컴파일러(clang, clang++)와 hipcc를 포함해 C/C++ 및 HIP 코드를 AMD GPU용 바이너리로 변환한다. |
| ROCm Toolchain | 프로파일링(rocprof), 디버깅(rocgdb), 성능 분석(rocTracer) 도구를 제공한다. |
지원 하드웨어
ROCm는 AMD의 Vega, Navi, Instinct MI 시리즈 GPU를 중심으로 지원한다. 각 GPU 모델별로 요구되는 최소 드라이버 버전과 ROCm 릴리즈가 지정되어 있다.
소프트웨어 호환성
- 운영 체제: Ubuntu (18.04, 20.04, 22.04), CentOS/RHEL 7·8, SLES 등 Linux 배포판. 일부 버전은 Red Hat Enterprise Linux 9 및 Windows Subsystem for Linux(WSL)에서도 제한적으로 동작한다.
- 프레임워크: TensorFlow, PyTorch, MxNet 등 주요 딥러닝 프레임워크는 ROCm용 빌드를 제공한다.
- 언어: C, C++, Fortran, Python 등 표준 언어와 HIP API를 통한 포팅이 가능하다.
역사와 배경
AMD는 2016년부터 Heterogeneous Compute Architecture(HCA) 기반의 오픈 컴퓨팅 전략을 발표했으며, ROCm은 그 연장선상에 있다. 초기 버전은 “ROC”(Radeon Open Compute)라는 이름으로 시작했으며, 이후 “ROCm”으로 명명되어 현재까지 지속적으로 업데이트되고 있다. 주요 릴리즈는 연간 혹은 그 이상 주기로 제공되며, 새로운 GPU 아키텍처와 Linux 커널 버전에 맞춰 호환성을 확대한다.
주요 활용 사례
- 과학·공학 시뮬레이션: 기후 모델링, 분자 동역학, 고성능 선형 대수 연산 등
- 인공지능 학습·추론: 대규모 신경망 학습, 실시간 이미지·음성 인식 등
- 데이터 분석: 대용량 행렬 연산, 그래프 처리 등
관련 프로젝트 및 커뮤니티
- HIP(Heterogeneous‑Compute Interface for Portability): CUDA 코드를 최소 수정으로 ROCm 환경에 이식할 수 있게 하는 런타임 및 컴파일러 인터페이스.
- MIOpen: AMD GPU 전용 딥러닝 연산 라이브러리.
- ROCm Documentation: 공식 문서와 예제 코드가 GitHub 및 AMD 개발자 포털에 공개되어 있으며, 활발한 오픈 소스 커뮤니티가 유지·보수한다.
참고
ROCm에 대한 최신 정보는 AMD 공식 웹사이트(https://rocmdocs.amd.com)와 GitHub 저장소(https://github.com/ROCm)에서 확인할 수 있다. 최신 릴리즈는 하드웨어 및 운영 체제와의 호환성을 명시적으로 기술하고 있으므로, 실제 설치·운용 시 해당 문서를 참고하는 것이 권장된다.