{{위키데이터 속성 추적}}
[[파일:ROCm logo.png|섬네일]]
'''ROCm'''<ref>{{웹 인용|url=https://github.com/RadeonOpenCompute/ROCm/issues/1628|title=Question: What does ROCm stand for? · Issue #1628 · RadeonOpenCompute/ROCm|website=Github.com|access-date=January 18, 2022}}</ref>은 GPU([[그래픽 처리 장치]]) 프로그래밍을 위한 AMD([[어드밴스트 마이크로 디바이시스]]) 소프트웨어 스택이다. ROCm은 [[GPGPU]](그래픽 처리 장치)의 범용 컴퓨팅, HPC([[고성능 컴퓨팅]]), [[이기종 컴퓨팅]] 등 여러 영역에 걸쳐 있다. HIP(GPU 커널 기반 프로그래밍), OpenMP/MPI([[메시지 전달 인터페이스]])([[지시 기반 프로그래밍]]) 및 [[OpenCL]]과 같은 여러 프로그래밍 모델을 제공한다.

ROCm은 무료이면서 자유 오픈 소스 소프트웨어(GPU 펌웨어 Blob 제외<ref>{{웹 인용|url=https://packages.debian.org/buster/firmware-amd-graphics|title=Debian -- Details of package firmware-amd-graphics in buster|website=Packages.debian.org|access-date=January 18, 2022}}</ref>)이며 다양한 라이선스에 따라 배포된다. ROCm은 라데온 오픈 컴퓨트(Radeon Open Compute) 플랫폼의 약어이다.

== 배경 ==
[[ATI 테크놀로지스|ATI]]/AMD의 첫 번째 GPGPU 소프트웨어 스택은 스트림(Stream)이 된 클로즈 투 메탈(Close to Metal)이었다.

ROCm은 볼츠먼 이니셔티브(Boltzmann Initiative)<ref>{{웹 인용|url=https://www.anandtech.com/show/10831/amd-sc16-rocm-13-released-boltzmann-realized|title=AMD @ SC16: Radeon Open Compute Platform (ROCm) 1.3 Released, Boltzmann Comes to Fruition|website=anandtech.com|access-date=January 19, 2022}}</ref>를 통해 2016년경에 출시되었다.<ref>{{웹 인용|url=https://www.anandtech.com/show/9792/amd-sc15-boltzmann-initiative-announced-c-and-cuda-compilers-for-amd-gpus|title=AMD @ SC15: Boltzmann Initiative Announced - C++ and CUDA Compilers for AMD GPUs|website=anandtech.com|access-date=January 19, 2022}}</ref> ROCm 스택은 이전 AMD GPU 스택을 기반으로 구축되며 일부 도구는 GPUOpen으로 거슬러 올라가고 다른 도구는 HSA([[이기종 시스템 아키텍처]])로 거슬러 올라간다.

=== 이기종 시스템 아키텍처 중급 언어 ===
HSAIL<ref>{{웹 인용|publisher=HSA Foundation |date=May 2, 2018 |title=HSA Programmer's Reference Manual: HSAIL Virtual ISA and Programming Model, Compiler Writer, and Object Format (BRIG) |url=http://hsafoundation.com/wp-content/uploads/2021/02/HSA-PRM-1.2.pdf |access-date=August 1, 2023}}</ref>은 적절한 종료자를 사용하여 최종 하드웨어(GPU, FPGA...)로 JIT 컴파일할 수 있는 중간 수준의 하드웨어 독립적 중간 표현을 생성하는 것을 목표로 했다. 이 접근 방식은 ROCm에서 삭제되었다. 이제 [[LLVM]] MLIR을 사용한 향상된 모듈성에 대한 연구는 여전히 진행 중이지만 LLVM과 업스트림된 AMDGPU 백엔드<ref>{{웹 인용|url=https://llvm.org/docs/AMDGPUUsage.html|title=User Guide for AMDGPU Backend — LLVM 13 documentation|website=Llvm.org|access-date=January 18, 2022}}</ref>를 사용하여 GPU 코드만 빌드한다.<ref name="The LLVM Compiler Infrastructure">{{웹 인용|url=https://github.com/ROCmSoftwarePlatform/llvm-project-mlir|title=The LLVM Compiler Infrastructure|website=[[GitHub]]|date=January 19, 2022}}</ref>

== 프로그래밍 능력 ==
스택으로서의 ROCm은 커널 드라이버부터 최종 사용자 애플리케이션까지 다양하다. AMD는 학습 포털을 통해 AMD GCN 하드웨어<ref>{{웹 인용|url=https://www.youtube.com/watch?v=uu-3aEyesWQ|title=Introduction to AMD GPU Hardware|via=www.youtube.com}}</ref> 및 ROCm 프로그래밍<ref>{{웹 인용|url=https://developer.amd.com/resources/rocm-learning-center/fundamentals-of-hip-programming/ |title=Fundamentals of HIP Programming |archive-url=https://web.archive.org/web/20230207141707/https://developer.amd.com/resources/rocm-learning-center/fundamentals-of-hip-programming/ |archive-date=2023-02-07 |url-status=dead }}</ref>에 대한 소개 비디오를 보유하고 있다.<ref>{{웹 인용|url=https://developer.amd.com/resources/rocm-learning-center/|title=ROCm™ Learning Center|website=AMD}}</ref>

스택 및 ROCm/HIP 프로그래밍에 대한 최고의 기술 소개 중 하나는 현재까지 레딧(Reddit)에서 찾을 수 있다.<ref>{{웹 인용|url=http://www.reddit.com/r/Amd/comments/a9tjge/amd_rocm_hcc_programming_introduction/|title=AMD ROCm / HCC programming: Introduction|date=December 26, 2018}}</ref>

== 같이 보기 ==
* [[어드밴스트 마이크로 디바이시스]]
* [[GPUOpen]]
* [[AMD 라데온 소프트웨어]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{웹 인용|url=https://docs.amd.com|publisher=[[AMD]]|title=ROCm official documentation|date=February 10, 2022}}
* {{웹 인용|url=https://developer.amd.com/resources/rocm-learning-center/|publisher=[[AMD]]|title=ROCm Learning Center|date=January 25, 2022}}
* {{웹 인용|url=https://github.com/radeonopencompute/rocm|publisher=[[AMD]]|title=ROCm official documentation on the github super-project|date=January 25, 2022}}
* {{웹 인용|url=https://rocmdocs.amd.com/en/latest/index.html|publisher=[[AMD]]|title=ROCm official documentation - pre 5.0 |date=January 19, 2022}}
* {{웹 인용|url=https://www.amd.com/system/files/documents/gpu-accelerated-applications-catalog.pdf|publisher=[[AMD]]|title=GPU-Accelerated Applications with AMD Instinct Accelerators & AMD ROCm Software|date=January 25, 2022}}
* {{웹 인용|url=https://www.amd.com/fr/technologies/infinity-hub|publisher=[[AMD]]|title=AMD Infinity Hub|date=January 25, 2022}} — [[Docker (software)|Docker containers]] for scientific applications.

{{AMD 기술}}
{{그래픽 처리 장치}}
{{병렬 컴퓨팅}}
{{프로세서 기술}}
{{수치선형대수학}}
{{전거 통제}}

[[분류:AMD 소프트웨어]]
[[분류:API]]
[[분류:병행 컴퓨팅]]
[[분류:GPGPU]]
[[분류:GPGPU 라이브러리]]
[[분류:그래픽 카드]]
[[분류:그래픽 하드웨어]]
[[분류:이기종 컴퓨팅]]
[[분류:기계 학습]]
[[분류:병렬 컴퓨팅]]
[[분류:슈퍼컴퓨터]]