ROCm[1]은 GPU(그래픽 처리 장치) 프로그래밍을 위한 AMD(어드밴스트 마이크로 디바이시스) 소프트웨어 스택이다. ROCm은 GPGPU(그래픽 처리 장치)의 범용 컴퓨팅, HPC(고성능 컴퓨팅), 이기종 컴퓨팅 등 여러 영역에 걸쳐 있다. HIP(GPU 커널 기반 프로그래밍), OpenMP/MPI(메시지 전달 인터페이스)(지시 기반 프로그래밍) 및 OpenCL과 같은 여러 프로그래밍 모델을 제공한다.
ROCm은 무료이면서 자유 오픈 소스 소프트웨어(GPU 펌웨어 Blob 제외[2])이며 다양한 라이선스에 따라 배포된다. ROCm은 라데온 오픈 컴퓨트(Radeon Open Compute) 플랫폼의 약어이다.
ATI/AMD의 첫 번째 GPGPU 소프트웨어 스택은 스트림(Stream)이 된 클로즈 투 메탈(Close to Metal)이었다.
ROCm은 볼츠먼 이니셔티브(Boltzmann Initiative)[3]를 통해 2016년경에 출시되었다.[4] ROCm 스택은 이전 AMD GPU 스택을 기반으로 구축되며 일부 도구는 GPUOpen으로 거슬러 올라가고 다른 도구는 HSA(이기종 시스템 아키텍처)로 거슬러 올라간다.
HSAIL[5]은 적절한 종료자를 사용하여 최종 하드웨어(GPU, FPGA...)로 JIT 컴파일할 수 있는 중간 수준의 하드웨어 독립적 중간 표현을 생성하는 것을 목표로 했다. 이 접근 방식은 ROCm에서 삭제되었다. 이제 LLVM MLIR을 사용한 향상된 모듈성에 대한 연구는 여전히 진행 중이지만 LLVM과 업스트림된 AMDGPU 백엔드[6]를 사용하여 GPU 코드만 빌드한다.[7]
스택으로서의 ROCm은 커널 드라이버부터 최종 사용자 애플리케이션까지 다양하다. AMD는 학습 포털을 통해 AMD GCN 하드웨어[8] 및 ROCm 프로그래밍[9]에 대한 소개 비디오를 보유하고 있다.[10]
스택 및 ROCm/HIP 프로그래밍에 대한 최고의 기술 소개 중 하나는 현재까지 레딧(Reddit)에서 찾을 수 있다.[11]