ROCm

덤프버전 :

분류


AMD Radeon Graphics
둘러보기

[ 펼치기 · 접기 ]
GPU 마이크로아키텍처
TeraScale
GCN
RDNA
CDNA
그래픽 카드 제품군
가속기 제품군
RADEON RX
RADEON PRO
INSTINCT
드라이버 및 소프트웨어
Radeon Software
ROCm
GPUOpen
기술
Video Core Next
CrossFire
Eyefinity
FreeSync
Fluid Motion
FidelityFX




ROCm
Radeon Open Compute platform

파일:AMD ROCm logo.webp
기업
파일:AMD 로고.svg
출시
리눅스: 2016년 11월
윈도우: 2023년 7월 27일
최신 버전
리눅스: 5.6 (2023년 6월 28일)
윈도우: 5.5 (2023년 7월 27일)
플랫폼
파일:Linux 로고.svg[[파일:Linux 로고 화이트.svg | 파일:Windows 로고.svg[[파일:Windows 로고 화이트.svg
웹페이지
파일:홈페이지 아이콘.svg홈페이지 | 파일:홈페이지 아이콘.svg윈도우 전용

1. 개요
2. 역사
3. 특징



1. 개요[편집]


파일:ROCM.png

공식 소개소개2 하드웨어배틀의 소개
AMD가 2016년에 발표한 GPGPU 소프트웨어 및 HPC 플랫폼. NVIDIA의 CUDA에 대응된다. 현재 최신 버전은 5.6.1이다.


2. 역사[편집]


ATI 시절에는 Close to Metal 이라는 GPGPU API가 있었으나 금방 사장되었고, 이후에는 FireStream이라는 전용 그래픽카드[1]를 내놓으며 ATI Stream이라는 SDK를 등장시켰다. 이는 CAL(저수준), Brook+(고수준)의 두 가지 언어로 이루어져 있었다.
이후 2011년부터 ATI APP Software Development Kit의 2.5 버전에서부터 OpenCL을 지원하기 시작하며 다시 사장되었다. 그러나 OpenCL 생태계가 많이 지지부진해지며 AMD는 2015년 11월에 개최된 SC15에서 볼츠만 계획(Boltzmann Initiative)을 발표하였고 이에 따라 # 2016년에 런칭된 플랫폼이 ROCm이다.


3. 특징[편집]


HIP(Heterogeneous-Compute Interface for Portability)라는 언어를 기반으로 하며, HCC(Heterogeneous Compute Compiler)라는 컴파일러를 사용한다. 기존 시장의 풍부한 생태계를 가진 CUDA를 의식한 듯이 코드의 문법과 사용법이 CUDA와 매우 유사하여 단순 매크로로 재정의만 해도 어지간하면 CUDA코드를 HIP코드로 바꿔 쓸 수 있을 정도이며[2] 이렇게 HIP으로 작성된 코드는 HCC를 사용해 CUDA바이너리 트랜스컴파일을 지원해 기존 CUDA 플랫폼과의 호환성을 갖추었다. 또한 OpenCL과도 호환되어 좋은 호환성을 자랑한다. 그러나 문제는 ROCm이 출시된 지 거의 7년 반 동안 윈도우를 지원하지 않았기 때문에, 비 Linux 환경에서 라데온을 사용해 GPGPU 프로그램을 구동하려는 경우 OpenCL만을 사용할 수밖에 없었다. 그래서 지지부진한 OpenCL 환경과 마찬가지로, 아니 어쩌면 더 시장에서 존재감이 없다.

C++의 병렬 코드에서는 hip 코드로의 변경이 필요하나, Tensorflow, Pytorch, Caffe 프레임워크에서는 기존의 코드를 그대로 사용할수 있도록 배려되어 있다. 심지어 pytorch 에는 cuda 객체도 포함되어 이식성을 높였다.

2023년 7월 27일, ROCm 5.5 에서 드디어 윈도우 지원이 추가되었다.

[1] 그러나 항상 돈이 부족했던 ATi/AMD의 절약 사상 특성상 한가지 칩으로 여러가지 돌려막기를 했었기 때문에 일반 그래픽카드를 사서 드라이버만 바꿔도 FireStream이 되었다. 반면 당시 엔비디아는 같은 아키텍처에서도 다르게 컷한 그래픽 칩을 사용했고, 나중에는 아키텍처 사이에 Volta등의 연산 전용 아키텍처가 등장하기 시작했다. 결국 AMD 또한 RDNA 세대부터 게이밍용 RDNA와 연산용 CDNA를 분리하여 취급한다.[2] CUDA코드의
cu
,
cuda
심볼 prefix를
hip
으로 바꾸기만 해도 어지간하면 컴파일이 된다.


파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r32 판{{{#!wiki style="display: inline; display: 2.2;"
, 2.2번 문단}}}에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r32 판{{{#!wiki style="display: inline; display: 2.2;"
, 2.2번 문단}}} (이전 역사)
문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)




파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r168 판{{{#!wiki style="display: inline; display: 4.7.1;"
, 4.7.1번 문단}}}에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r168 판{{{#!wiki style="display: inline; display: 4.7.1;"
, 4.7.1번 문단}}} (이전 역사)
문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)



파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-02 08:58:33에 나무위키 ROCm 문서에서 가져왔습니다.