WIPIVERSE

ROCm

정의
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)에서 확인할 수 있다. 최신 릴리즈는 하드웨어 및 운영 체제와의 호환성을 명시적으로 기술하고 있으므로, 실제 설치·운용 시 해당 문서를 참고하는 것이 권장된다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기