ROCm 10.1.0 공개: WSL2 기술 미리 보기 및 신규 라이브러리 3종 추가
요약
AMD가 ROCm 10.1.0 버전을 공개하며 WSL2 지원의 기술 미리 보기 기능을 처음으로 탑재했습니다. 이는 기존에 소스 빌드가 필요했던 Windows 환경에서의 GPU 컴퓨팅 진입 장벽을 크게 낮춘 중요한 발전입니다. 또한, hipThreads와 libhipcxx 같은 신규 라이브러리 3종이 추가되어 개발 편의성이 향상되었습니다.
핵심 포인트
- WSL2 지원 기술 미리 보기 탑재로 Windows 환경 접근성 대폭 개선
- 소스 빌드 없이도 WSL2에서 GPU 컴퓨팅 가능해짐
- hipThreads, libhipcxx 등 신규 라이브러리로 C++ 개발 편의성 증대
- ROCm 10.1.0은 짧은 주기로 발전하며 생태계 성장을 예고
이 기사의 핵심 포인트
- 무엇이 발생했는가: AMD가 ROCm 10.1.0을 공개했으며, WSL2 지원의 기술 미리 보기(Technical Preview), hipThreads, libhipcxx, RPP 세 가지 라이브러리 추가, PyTorch 2.14.0 및 vLLM 0.29.0 업데이트를 포함합니다.
- 왜 중요한가: CUDA에 대한 ROCm의 약점이었던 Windows 지원이 TheRock 빌드에 처음으로 포함되었으며, 소스 빌드 없이도 WSL2 상에서 GPU 컴퓨팅이 가능해졌습니다.
- 개발자에게 미치는 영향: ROCprofiler-SDK의 kernel replay 베타 및 온디맨드(on-demand) 도구 설정 덕분에 PyTorch 및 Triton 워크로드를 프로파일링하는 것이 실제 운영 수준에 가까워졌습니다.
- 다음으로 주목할 점: ROCm 10.0.0부터 40일 만에 도착한 10.1.0의 변경 폭은 6주 간격의 릴리스 사이클이 ROCm의 발전 속도를 바꿀 수 있는 가능성을 시사합니다.
WSL2가 기술 미리 보기로 처음 탑재되다
ROCm 10.1.0에서 가장 눈에 띄는 것은 WSL2 지원의 최초 탑재입니다.
이전까지 Windows에서 ROCm의 GPU 컴퓨팅 기능을 사용하려면, WSL2용 드라이버 인터페이스 라이브러리(librocdxg)를 직접 소스에서 빌드해야 했습니다. 10.1.0에서는 TheRock (ROCm 7.14부터 채택된 빌드/릴리스 시스템)의 빌드 산출물에 librocdxg가 포함되어, 추가적인 수고 없이 WSL2에서 ROCm 워크로드를 실행할 수 있게 되었습니다.
ROCr 런타임이 /dev/dxg 장치의 유무를 통해 WSL2 환경을 자동으로 감지하고 librocdxg을 로드하는 메커니즘 덕분에, 일반적으로는 수동 설정도 필요하지 않습니다.
기술 미리 보기 단계이며 몇 가지 제약 사항이 있습니다. 대상은 Ubuntu의 .deb 패키지와 Python wheel에 한정되며, RPM 패키지는 제외됩니다. 프로파일링, 디버깅, KFD 의존 도구군은 WSL2 상에서는 작동하지 않습니다.
더불어 AMD SMI (GPU 모니터링/관리 도구)에도 기술 미리 보기로 WSL2 백엔드가 추가되었습니다. 온도, 전력, 메모리 사용량, 클럭 속도 등의 텔레메트리(원격 측정 데이터)를 WSL2 환경에서 가져올 수 있습니다. 관리 및 설정 작업이나 프로세스별 GPU 사용률은 가져올 수 없지만, GPU 상태 모니터링이 WSL2 상에서도 가능해졌습니다.
CUDA에 대한 ROCm의 약점으로 오랫동안 지적되어 온 'Windows에서 사용할 수 없다'는 문제가 드디어 움직이기 시작한 모습입니다. 기술 미리 보기라는 주석은 붙어 있지만, 소스 빌드가 필요 없어진 것만으로도 진입 장벽이 크게 낮아졌습니다.
신규 라이브러리 3종이 ROCm Core SDK에 합류하다
10.1.0에서는 세 가지 라이브러리가 새로 ROCm Core SDK에 추가되었습니다.
hipThreads(버전 1.0.0)는 C++의 std::thread와 유사한 API를 GPU 커널 내에서 사용할 수 있도록 하는 라이브러리입니다. hip::wthread, hip::mutex, hip::lock_guard, hip::condition_variable 등의 프리미티브를 제공하여, 기존 CPU 스레드 코드를 ROCm이나 CUDA의 완전한 재작성 없이 GPU 위에서 구동할 수 있는 길을 열어줍니다. Linux/Windows 양방향에 대응하며, Radeon 및 Ryzen GPU에서 이용 가능합니다.
libhipcxx(버전 3.0.2)는 C++ 표준 라이브러리를 HIP의 호스트(host) 코드와 디바이스(device) 코드 모두에서 사용할 수 있도록 만든 것입니다. atomics, 타입 특성(type traits), 컨테이너 등 표준 라이브러리 기능을 HIP 커널 내에서 그대로 호출할 수 있어, 디바이스 측 구현을 직접 작성해야 하는 수고가 줄어듭니다. Instinct, Radeon, Ryzen의 모든 플랫폼에 대응합니다.
RPP(ROCm Performance Primitives, 버전 3.2.0)는 AI 학습/추론 파이프라인용으로 2D/3D 이미지의 확장 처리를 GPU에서 고속화하는 컴퓨터 비전 라이브러리입니다. Linux의 Instinct 및 Radeon GPU에서 이용 가능합니다.
이들 모두 ROCm 에코시스템이 'GPU를 사용하려면 전부 재작성해야 한다'는 진입 장벽을 낮추는 방향으로 움직이고 있음을 보여주는 추가라고 할 수 있습니다.
AI 프레임워크 업데이트와 TensorFlow 2.19.1 종료
프레임워크 지원이 전면적으로 상향되었습니다. PyTorch 2.14.0, JAX 0.11.1, vLLM 0.29.0, SGLang 0.5.18, MIGraphX 2.18가 지원되며, 각각 이전 버전(PyTorch 2.11.0, vLLM 0.27.0 등)을 대체합니다.
한편, TensorFlow 2.19.1의 지원이 종료되었습니다. 10.0.0 시점에 포함되었던 TF 2.19.1이 대상에서 제외되었습니다. 다만 AI 에코시스템 지원 표에는 TensorFlow 2.21/2.20이 계속 기재되어 있어(gfx950/gfx942 등의 제한적 GPU), TensorFlow 자체의 지원이 완전히 사라진 것은 아닙니다.
ROCm 10.1.0 AI 프레임워크 업데이트
| 프레임워크 | 10.0.0 | 10.1.0 |
|---|---|---|
| PyTorch | 2.13.0 | 2.14.0 |
| ... | ||
| ※TensorFlow 2.21/2.20은 일부 GPU에 한해 지속됩니다. 10.0.0 열은 이전 버전의 최신 지원판입니다. |
PyTorch 2.14.0은 ROCm 10.1.0에서 Windows 대응도 포함하고 있으며, Python 3.14까지 대응합니다. vLLM 0.29.0은 Instinct, Radeon, Ryzen APU까지 폭넓은 GPU에서 사용 가능하여, 추론 서버의 실사용 환경에서 ROCm을 선택할 때의 선택지가 넓어졌습니다.
프로파일러 실용성 대폭 개선
프로파일링 도구군에는 은근하지만 중요한 개선들이 집중되었습니다.
ROCprofiler-SDK에 **커널 리플레이(kernel replay)**가 베타로 도입되었습니다. GPU 하드웨어의 제약으로 인해 1회 커널 실행으로 수집할 수 있는 성능 카운터의 개수에는 상한이 있습니다. 종전에는 카운터 그룹별로 애플리케이션 전체를 재시작하는 '애플리케이션 리플레이'가 필요하여, 시작 비용이 과도하게 발생했습니다. kernel replay는 커널 단위로 재실행하며, 재실행 전에 디바이스 메모리의 스냅샷을 찍어 패스 간에 복원하기 때문에, 각 그룹이 동일한 입력을 관측합니다.
정보의 등대(灯台)가 확인한 바에 따르면, ROCprofiler-SDK의 릴리스 노트에는 온디맨드 도구 설정/초기화도 추가되었습니다. 프로파일러 도구를 애플리케이션 실행 중 임의의 타이밍에 활성화/비활성화할 수 있게 되었습니다. PyTorch의 Kineto 백엔드나 Triton의 Proton 프로파일러처럼, 인터프리터나 런타임 초기화 후에 프로파일러를 시작하는 프레임워크 내장형 프로파일러가 주된 이점을 얻습니다.
PyTorch와의 공존 문제도 수정되었습니다. 종전에는 PyTorch에 번들된 ROCprofiler-SDK가 rocprofv3와 동시에 초기화될 경우, 코드 객체 트레이싱의 충돌로 인해 rocprofv3 출력 생성 시 크래시가 발생하여, PyTorch나 Triton 워크로드의 프로파일링이 사실상 불가능했습니다. 10.1.0에서는 이 문제가 해소되었습니다.
시그널 핸들링도 재검토되었습니다. 기존 ROCprofiler-SDK는 시그널 핸들러 내에서 메모리 할당이나 락, I/O를 수반하는 파이널라이제이션 처리를 실행하여, 데드락, 출력 중간 끊김, 프로세스 강제 종료 불가라는 세 가지 장애를 유발했습니다. 10.1.0에서는 파이널라이제이션을 전용 워커 스레드로 옮겨 이러한 문제들을 해결했습니다.
파괴적 변경: ROCm SMI가 빌드에서 제거됨
10.1.0의 유일한 파괴적 변경은 기존 ROCm SMI(rocm-smi-lib)가 표준 빌드에서 제거된 것입니다. 비권장 상태였던 ROCm SMI는 10.1.0부터 TheRock 빌드에서 빌드도 설치도 되지 않게 되었습니다. 후속 AMD SMI 라이브러리와 그 CLI(amd-smi)로의 마이그레이션이 필수적이 되었습니다.
AMD SMI는 이번 릴리스에서 PyPI 휠(wheel)로도 공개되어, pip install amd-smi로 설치할 수 있게 되었습니다. ROCm 전체 설치 없이 GPU 모니터링 도구를 도입할 수 있어, 컨테이너 환경이나 CI/CD 파이프라인에서의 사용이 편리해졌습니다.
기타 주요 변경 사항
GPU 지원에서는 AMD Radeon AI PRO R9600이 추가되었습니다. OS 지원에서는 Ubuntu 26.04.1(커널 7.0 GA)과 Ubuntu 24.04.5가 추가되어, 각각 26.04와 24.04.4를 대체합니다.
가상화 지원도 확대되어, MI355X/MI350X의 KVM SR-IOV를 통해 Ubuntu 26.04 호스트-게스트 구성이 추가되었으며, MI350P의 ESXi SR-IOV 대응도 포함되었다.
hipSPARSE 라이브러리에는 배치 SDDMM(샘플付き密行列-밀행렬 곱)과 SpGEAM(희소행렬-희소행렬 덧셈)의 제네릭 API가 추가되어, 희소 연산의 적용 범위가 넓어졌다. hipFFT에는 로드/스토어 콜백을 JIT(Just-In-Time, 실행 시 컴파일)으로 FFT 커널에 통합하는 기능이 추가되어, 기존 함수 포인터 방식으로는 불가능했던 커널과 콜백의 통합 최적화가 가능해졌다.
ROCm 10.0.0이 '10년의 이정표'로서 큰 방향성을 제시했다면, 10.1.0은 그 방향을 따라 실제로 구현한(손을 움직인) 릴리스처럼 보인다. WSL2 지원, 신규 라이브러리, 프로파일러의 실용성 개선 등이다. 단 6주 만에 이 정도 폭넓은 변경 사항을 내놓았다는 것은, 릴리스 사이클 단축이 기능하고 있다는 하나의 증거가 된다. ROCm 10.2.0이 어떤 방향을 더 깊게 파고들지는 아직 알 수 없다.
본 기사는 정보의 등대에서 처음 공개되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기