실행 프로그램과 확장

ROCm과 Radeon 로컬 AI: 지원 조합과 실행 경로 읽기

Radeon 지원 여부는 GPU 이름 하나가 아니라 GPU·OS·드라이버·ROCm·프레임워크의 조합으로 확인합니다.

Radeon으로 로컬 AI를 실행하기 전 ROCm1 소프트웨어 스택과 HIP2 소스 포팅의 의미를 구분하고, 현재 통합 문서의 지원표에서 정확한 하드웨어·운영체제 조합을 확인하는 방법을 설명합니다. Windows 네이티브, WSL, Linux는 서로 다른 실행 경로이며 Vulkan도 ROCm과 별도 백엔드입니다.

실행 조건과 핵심 내용
  • 기존 CUDA 실행 파일은 Radeon에서 그대로 실행되지 않으며, HIP/HIPIFY는 소스 포팅을 돕는 경로입니다.
  • 정확한 GPU, 운영체제와 커널, 드라이버, ROCm 및 프레임워크를 하나의 공식 지원 조합으로 확인합니다.
  • Radeon과 Instinct는 별도 제품군 표를 확인하고, Windows·WSL·Linux 절차를 서로 바꿔 적용하지 않습니다. Vulkan은 ROCm이 아닌 별도 실행 백엔드입니다.

ROCm은 소프트웨어 스택이고 HIP은 포팅 경로입니다

Radeon에서 PyTorch3 이미지 작업 하나를 실행하려면 먼저 정확한 GPU4와 운영체제를 확인한 다음, AMD의 호환성 표에서 둘이 함께 지원되는 조합을 찾으세요. 이 가이드는 이미 가진 Radeon 한 대에서 공식 실행 경로를 찾아 작은 작업을 시험하는 순서로 진행합니다. ROCm은 실행에 필요한 소프트웨어 스택이고 HIP은 소스 코드를 포팅하는 경로입니다. CUDA5 실행 파일을 그대로 복사해 AMD GPU에서 돌릴 수는 없습니다. 서버용 Instinct는 별도 제품군이므로 여기서는 소비자용 Radeon만 다룹니다.

ROCm은 AMD GPU에서 계산하도록 드라이버와 런타임6, 컴파일러, 수학 라이브러리, 프레임워크 연결부를 묶은 소프트웨어 스택입니다. PyTorch를 실행할 때는 PyTorch 빌드와 ROCm 구성요소, GPU 커널7 지원까지 이어져야 합니다. 따라서 문서에 “ROCm 지원”이라고 적혀 있어도 모든 PyTorch 버전과 모든 Radeon 모델이 지원된다는 뜻은 아닙니다. 실제 설치 판단의 단위는 문서가 명시한 GPU, 운영체제, 드라이버, ROCm 릴리스와 프레임워크 조합입니다.

여기서 CUDA와 비슷해 보이는 HIP라는 이름이 나옵니다. HIP은 C++ 런타임 API8와 GPU 커널 언어이고, HIPIFY9는 CUDA 소스의 일부 API 호출과 표기를 HIP 형태로 바꾸는 작업을 돕습니다. 코드를 옮길 수 있다는 것과 이미 컴파일한 CUDA 프로그램 파일을 그대로 실행할 수 있다는 것은 다릅니다. CUDA 실행 파일에는 NVIDIA GPU를 대상으로 만든 코드와 라이브러리 연결이 들어 있을 수 있습니다. 이를 Radeon에 복사한다고 AMD용 코드로 바뀌지 않습니다. 소스가 공개된 프로젝트라도 HIP 포팅이나 ROCm용 빌드, 필요한 라이브러리의 AMD 지원이 있어야 합니다. 자동 변환은 시작을 돕지만 빠진 기능이나 기기별 동작까지 검증하지 않습니다.

코드처럼 보이는 표시가 있는 펼친 노트, 그래픽카드와 따로 포장된 디스크가 나무 책상 위에 놓여 있습니다.
HIP는 CUDA 코드를 옮길 때 돕는 API이지, 기존 CUDA 바이너리가 Radeon에서 그대로 실행된다는 뜻은 아닙니다.

지원 여부는 제품군별 표의 한 조합으로 확인합니다

따라서 첫 선택은 GPU끼리의 성능 비교가 아니라 지원 문서의 범위입니다. AMD 문서에는 Radeon, Instinct, Ryzen APU가 각기 다른 경로로 다뤄집니다. 이 가이드에서 보는 소비자용 Radeon GPU는 ROCm on Radeon 표를 확인합니다. Instinct는 데이터센터용 가속기 제품군이므로 서버 배포판과 커널, 소프트웨어 조합이 별도로 정리됩니다. 한 제품군의 표에서 GPU가 보인다는 이유로 다른 제품군에서도 지원된다고 추측하지 마세요. 표가 알려 주는 것은 정해진 소프트웨어 구성에서의 지원 범위이지, 모든 작업의 속도 비교가 아닙니다.

AMD는 ROCm Core SDK 7.13.0부터 지원 하드웨어 문서를 통합했으며, 현재 10.0 문서는 그 통합 호환성 안내를 사용합니다. 릴리스 개요만으로 특정 Radeon이 지원된다고 판단하지 말고, 표에서 내 GPU·운영체제·드라이버·ROCm·프레임워크가 한 조합으로 제시되는지 확인하세요. 서로 다른 행이나 문서 주기에서 버전을 조합하지 않는 것이 핵심입니다.

서로 다른 두 그래픽카드가 종이와 달력 옆에 각각 놓인 나무 작업대입니다.
GPU 이름만 맞아도 충분하지 않습니다. OS와 드라이버, ROCm, 프레임워크 조합까지 확인해야 합니다.

OS와 앱이 실제 제공하는 경로를 먼저 고릅니다

운영체제 선택도 중요합니다. Linux는 배포판·커널과 드라이버를 직접 맞추는 경로이고, Windows 네이티브 Radeon 경로는 문서에 명시된 PyTorch 구성과 도구 범위가 제한될 수 있습니다. WSL은 Windows 네이티브와 같지 않고 ROCDXG 등 별도 구성과 전용 지원표를 따릅니다. 세 경로를 서로 대체 가능한 설치법으로 보지 말고, 내가 익숙한 개발 환경과 사용할 앱의 공식 배포 경로가 겹치는 쪽을 선택하세요. 예컨대 Windows 앱의 ROCm 지원이 특정 버전의 PyTorch에만 있다면 Linux용 안내를 가져와 그대로 적용하지 않는 것이 우선입니다.

가령 지금 쓰는 Windows PC를 그대로 두고 PyTorch 이미지 작업을 시험하려 한다고 가정해 보겠습니다. 앱이 Windows용 AMD 패키지를 제공하면 그 경로부터 확인하면 됩니다. Linux용 설치법만 제공한다면 WSL 지원도 별도로 확인해야 합니다. WSL에서 쓸 수 있다는 안내가 없는데 Linux 명령을 복사해 넣는 것만으로 같은 환경이 되지는 않습니다. 반대로 이미 Linux를 쓰는 사람에게 Windows로 바꾸는 것이 선행 조건은 아닙니다. 지금의 운영체제에서 앱과 GPU를 함께 지원하는 조합을 찾는 것이 먼저입니다.

Docker 이미지가 있으면 이 과정을 건너뛸 수 있을까요? 컨테이너는 앱과 Python 라이브러리를 정리해 주지만, 호스트의 GPU와 드라이버까지 새로 만들어 주지는 않습니다. 공식 컨테이너 안내에 나오는 호스트 요구사항과 GPU 전달 설정도 맞춰야 합니다. 패키지 설치는 끝났는데 컨테이너 안에서 GPU를 찾지 못한다면 모델 파일을 다시 받기 전에 그 연결부터 점검해야 합니다. 컨테이너로 실행했다는 사실과 지원되지 않던 GPU가 공식 지원 대상이 됐다는 말은 다릅니다.

화면에 풍경이 보이는 노트북과 두 대의 데스크톱 컴퓨터가 작업대 한쪽에 나란히 놓여 있습니다.
Windows, WSL, Linux는 설치와 지원 조건이 다르므로 한쪽의 절차를 다른 쪽에 그대로 적용하지 마세요.

PyTorch의 CUDA 이름이 NVIDIA만 뜻하지는 않습니다

쓰려는 프로그램이 CUDA 전용이라면 ROCm이 실행 파일을 알아서 AMD용으로 바꾸지는 않습니다. 프로그램이 공개 소스와 ROCm 또는 HIP 빌드를 제공하는지 확인하세요. PyTorch 코드에 .to("cuda")가 있다는 이유만으로 NVIDIA 전용이라고 단정할 필요는 없습니다. PyTorch ROCm은 API 호환을 위해 torch.cuda 이름공간과 "cuda" 장치 표기를 유지하는 부분이 있으므로, 실제 설치 빌드를 torch.version.hip으로 구분해야 합니다. 반대로 이름이 CUDA라고 ROCm 지원을 단정할 수도 없습니다. 앱이 공식적으로 지원하는 실행 경로와 설치 안내를 기준으로 판단하세요.

이 차이를 알아 두면 오류를 읽는 순서도 달라집니다. PyTorch에서 GPU를 찾지 못하는 단계라면 설치 빌드와 장치 연결을 먼저 봅니다. GPU는 보이는데 특정 이미지 앱만 실행되지 않는다면, 앱이 요구하는 별도 연산이나 확장 패키지가 있는지 확인할 차례입니다. PyTorch의 기본 연산이 성공해도 앱이 직접 불러오는 CUDA 확장까지 AMD에서 동작한다는 뜻은 아닙니다. 앱 설명에 ROCm 설치법과 필요한 확장 패키지의 지원 여부가 함께 있는지를 봐야 하는 이유입니다.

Vulkan은 ROCm과 다른 실행 백엔드입니다

ROCm 외에 Vulkan을 선택하는 프로그램도 있습니다. 예를 들어 llama.cpp는 Vulkan 백엔드로 빌드할 수 있습니다. 하지만 Vulkan은 ROCm 런타임이 아니므로 PyTorch ROCm wheel을 설치하는 단계와 드라이버, 빌드 옵션, 기능 지원이 다릅니다. 어떤 앱이 Vulkan으로 Radeon GPU를 사용한다고 해서 ROCm이 설치된 것은 아니고, ROCm 표의 PyTorch 지원을 Vulkan 경로에 적용할 수도 없습니다. 먼저 쓸 앱이 어떤 백엔드를 지원하는지 확인하세요.

그래서 같은 Radeon에서도 앱에 따라 선택지가 달라집니다. 목적이 GGUF10 모델과 대화하는 것이라면 llama.cpp의 Vulkan 경로로 필요한 기능을 쓸 수 있는지 확인할 수 있습니다. 반면 PyTorch 기반 이미지 작업을 실행하려는 사람에게는 그 성공 사례만으로 답이 되지 않습니다. 실행할 모델 파일과 앱, 사용하려는 기능이 먼저이고 백엔드는 그 작업을 실제로 수행하는 경로입니다. 서로 다른 백엔드의 속도를 비교할 때도 모델·양자화11·입력 조건을 맞춰야 합니다.

구매 전에는 앱의 설치 경로와 GPU 모델을 함께 맞춥니다

이미 Radeon을 갖고 있다면 우선 비용을 더 쓰지 말고, 사용할 앱의 공식 지원 경로에서 작은 작업 하나를 끝까지 실행해 보세요. 모델을 읽은 뒤 원하는 결과가 나오는지, 앱을 닫았다 다시 열어도 반복되는지를 확인합니다. 여기까지 되면 다음 문제는 지원 여부가 아니라 메모리와 실행시간입니다. 입력이나 해상도를 올렸을 때 부족한 부분이 무엇인지 보고 설정을 조절하면 됩니다. 시작부터 최신 그래픽카드를 고르는 것보다 지금 장비에서 막히는 단계를 확인하는 편이 다음 판단에 도움이 됩니다.

새 GPU를 살 예정이라면 판단 순서를 반대로 잡지 않는 것이 중요합니다. 먼저 사용할 앱과 모델을 정하고, 그 앱이 문서화한 Radeon 실행 경로에서 구매 후보를 확인합니다. VRAM12이 더 큰 카드라도 필수 확장 모듈을 실행할 수 없다면 하려던 작업에는 쓸 수 없습니다. 아직 공식 지원이 없는 조합은 커뮤니티의 성공 사례를 참고할 수 있지만, 설정을 고치고 유지할 부담까지 함께 고려해야 합니다. 그 과정을 맡고 싶지 않다면 앱이 지원하는 다른 GPU나 백엔드를 선택하는 것도 합리적입니다. Radeon을 살지 말지보다, 내가 하려는 작업을 어떤 경로로 실행할지가 먼저 정해져야 합니다.

용어 각주

  1. ROCm — AMD GPU에서 AI와 고성능 계산을 실행하는 소프트웨어 플랫폼입니다. 지원 여부는 GPU 모델뿐 아니라 운영체제·드라이버·프레임워크 버전의 조합으로 확인합니다.

    본문으로 돌아가기
  2. HIP — GPU용 C++ 코드를 여러 플랫폼으로 옮기는 데 쓰는 API와 실행 환경입니다. CUDA 코드 이식을 돕지만, 모든 라이브러리·연산의 호환성이나 같은 속도를 보장하지 않습니다.

    본문으로 돌아가기
  3. PyTorch — AI 모델을 만들고 실행하는 소프트웨어 프레임워크입니다. 모델과 함께 호환되는 PyTorch 버전 및 하드웨어 지원도 확인해야 합니다.

    본문으로 돌아가기
  4. GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.

    본문으로 돌아가기
  5. CUDA — NVIDIA GPU에서 범용 계산을 실행하기 위한 소프트웨어 플랫폼입니다. CUDA용으로 만든 프로그램은 다른 GPU에서 그대로 동작한다고 보장되지 않습니다.

    본문으로 돌아가기
  6. 런타임 — 프로그램이 실행될 때 필요한 기능을 제공하는 소프트웨어 환경입니다. 로컬 AI에서는 모델을 실행하는 엔진을 가리키기도 하며, GPU 런타임 라이브러리와 완성된 서빙 앱은 서로 다른 구성요소입니다.

    본문으로 돌아가기
  7. GPU 커널 — GPU에서 실행되는 연산 함수입니다. 운영체제 커널과는 다른 뜻이며, 같은 연산도 GPU 구조와 구현에 따라 속도가 달라집니다.

    본문으로 돌아가기
  8. API — 프로그램의 기능을 다른 코드에서 호출하기 위한 약속된 인터페이스입니다. API라는 말만으로 외부 서버 전송을 뜻하지는 않습니다.

    본문으로 돌아가기
  9. HIPIFY — CUDA 소스 코드의 API 호출 등을 HIP 형태로 변환하는 도구입니다. 자동 변환 뒤에도 빌드·결과 검증과 성능 조정이 필요할 수 있습니다.

    본문으로 돌아가기
  10. GGUF — 모델 정보를 담는 파일 형식으로 llama.cpp 계열 도구에서 널리 사용됩니다. 파일 형식만으로 특정 하드웨어 호환성이나 속도가 보장되지는 않습니다.

    본문으로 돌아가기
  11. 양자화 — 모델의 수치를 더 적은 비트로 표현하는 방법입니다. 메모리 사용량과 함께 정확도나 실행 속도도 달라질 수 있으며, 영향은 형식과 구현에 따릅니다.

    본문으로 돌아가기
  12. VRAM — 그래픽카드의 GPU가 사용하는 메모리입니다. 모델 가중치와 계산 중간값을 저장하며 시스템 RAM과 구분됩니다.

    본문으로 돌아가기