ROCm

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]

같이 보기

각주

  1. “Question: What does ROCm stand for? · Issue #1628 · RadeonOpenCompute/ROCm”. 《Github.com》. 2022년 1월 18일에 확인함. 
  2. “Debian -- Details of package firmware-amd-graphics in buster”. 《Packages.debian.org》. 2022년 1월 18일에 확인함. 
  3. “AMD @ SC16: Radeon Open Compute Platform (ROCm) 1.3 Released, Boltzmann Comes to Fruition”. 《anandtech.com》. 2022년 1월 19일에 확인함. 
  4. “AMD @ SC15: Boltzmann Initiative Announced - C++ and CUDA Compilers for AMD GPUs”. 《anandtech.com》. 2022년 1월 19일에 확인함. 
  5. “HSA Programmer's Reference Manual: HSAIL Virtual ISA and Programming Model, Compiler Writer, and Object Format (BRIG)” (PDF). HSA Foundation. 2018년 5월 2일. 2023년 8월 1일에 확인함. 
  6. “User Guide for AMDGPU Backend — LLVM 13 documentation”. 《Llvm.org》. 2022년 1월 18일에 확인함. 
  7. “The LLVM Compiler Infrastructure”. 《GitHub》. 2022년 1월 19일. 
  8. “Introduction to AMD GPU Hardware” – www.youtube.com 경유. 
  9. “Fundamentals of HIP Programming”. 2023년 2월 7일에 원본 문서에서 보존된 문서. 
  10. “ROCm™ Learning Center”. 《AMD》. 
  11. “AMD ROCm / HCC programming: Introduction”. 2018년 12월 26일. 

외부 링크

  • “ROCm official documentation”. AMD. 2022년 2월 10일. 
  • “ROCm Learning Center”. AMD. 2022년 1월 25일. 
  • “ROCm official documentation on the github super-project”. AMD. 2022년 1월 25일. 
  • “ROCm official documentation - pre 5.0”. AMD. 2022년 1월 19일. 
  • “GPU-Accelerated Applications with AMD Instinct Accelerators & AMD ROCm Software” (PDF). AMD. 2022년 1월 25일. 
  • “AMD Infinity Hub”. AMD. 2022년 1월 25일.  — Docker containers for scientific applications.
  • v
  • t
  • e
AMD 기술
소프트웨어플랫폼
  • 스파이더
  • 드래곤
  • 호루스
기술
명령어
  • v
  • t
  • e
일반
병렬화 수준
스레드
이론
구성 요소
조정
프로그래밍
하드웨어
API
문제
  • v
  • t
  • e
구조
ISA 유형
ISA
워드 크기
실행
병렬 레벨
멀티스레딩
플린 분류
CPU 성능
코어 카운트
유형
구성 요소
전원 관리
하드웨어
보안
관련 항목
  • v
  • t
  • e
핵심
문제
하드웨어
소프트웨어
  • MATLAB
  • 기본 선형대수 서브프로그램(BLAS)
  • LAPACK
  • 라이브러리
  • 범용 소프트웨어