본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 23. 03:24

Native Vulkan을 통해 구형 AMD RX 580 (8GB)에서 Flux Schnell (12B) 및 LLM 실행하기 — 전체 아키텍처

요약

AMD RX 580과 같은 구형 GPU에서 Vulkan을 활용해 Flux Schnell 및 LLM을 실행하는 기술적 방법을 분석합니다. ROCm이나 CUDA 없이도 하이브리드 메모리 세분화를 통해 제한된 VRAM 환경에서 AI 모델을 구동하는 아키텍처를 제시합니다.

핵심 포인트

  • Vulkan 네이티브 빌드를 통해 ROCm 지원이 끊긴 Polaris 아키텍처 활용 가능
  • 하이브리드 메모리 세분화로 VRAM 초과 모델을 CPU/GPU에 분산 배치
  • DirectML의 OpaqueTensorImpl 오류를 우회하는 기술적 대안 제시
  • Flux Schnell 구동 시 VAE 및 T5XXL의 CPU 할당이 필수적임

대부분의 사람들은 2026년에 RX 580이 AI용으로는 수명이 다했다고 들었습니다. CUDA 전용 생태계, v5.x 버전부터 Polaris 지원을 중단한 ROCm, 그리고 성숙하기도 전에 버려진 DirectML 때문입니다. 이것은 우리가 그 생각이 틀렸음을 증명한 전체 기술적 분석입니다.

하드웨어 설정
GPU: AMD RX 580 2048SP — 8GB GDDR5 VRAM (Vulkan 1.x native)
CPU: Intel Xeon E5-2690 v3 — 12c/24t @ 3.5GHz boost
RAM: 32GB DDR4 REG ECC Quad Channel
Storage: NVMe 1TB — 결정적인 병목 현상 해결책
OS: Windows 10 Pro + WSL2 Ubuntu 22.04.5

다른 모든 방법이 실패한 이유

솔루션상태이유
CUDANvidia 전용
ROCmv5.x에서 Polaris 지원 중단
DirectMLCLIPTextEncode에서 OpaqueTensorImpl 충돌 발생
OpenVINOForge에서 ldm/sgm 모듈 누락

DirectML의 치명적인 오류: NotImplementedError: Cannot access storage of OpaqueTensorImpl. 드라이버가 메모리를 OpaqueTensorImpl로 래핑(wrap)하여 ComfyUI의 어텐션(attention) 백엔드가 읽을 수 없습니다. 이는 막다른 길입니다.

해결책 — 이중 아키텍처 (Dual Architecture)

경로 1 — GPU Vulkan (RX 580 가속)
-DGGML_VULKAN=ON으로 컴파일된 stable-diffusion.cpp의 네이티브 빌드. ggml 엔진은 ROCm이나 CUDA 없이 GPU에 직접 매핑됩니다. SD 1.5 GGUF 모델은 약 72초 만에 렌더링됩니다.

경로 2 — CPU Xeon (SOTA 헤비 모델)
FLUX.1 Schnell은 16GB를 사용하여 물리적 VRAM을 초과합니다. ComfyUI는 WSL2 내부에서 CPU를 통해 실행되며, 안정적인 가상 VRAM으로서 ECC RAM을 사용합니다. 전체 768x768 생성에 약 24분이 소요됩니다.

Flux (12B Q4_K)를 위한 하이브리드 메모리 세분화 (Hybrid Memory Segmentation)

구성 요소파일할당크기
Diffusion Modelflux1-schnell-q4_k.ggufGPU VRAM~6.5GB
VAEae.safetensorsCPU RAM~160MB
CLIP Lclip_l.safetensorsGPU VRAM~235MB
T5XXLt5xxl_fp16.safetensorsCPU RAM~9.3GB

실행 명령 (Production command)
sd-server.exe --listen-ip 0.0.0.0 --listen-port 7860 \ --diffusion-model "E:\models\flux1-schnell-q4_k.gguf" \ --vae "E:\models\ae.safetensors" \ --clip_l "E:\models\clip_l.safetensors" \ --t5xxl "E:\models\t5xxl_fp16.safetensors" \ --cfg-scale 1.0 --steps 4 --clip-on-cpu --vae-on-cpu --vae-tiling

--vae-on-cpu--vae-tiling은 타협할 수 없는 필수 사항입니다. 이것들이 없으면 즉시 DeviceMemoryAllocation 충돌이 발생합니다.

작업 부하 (Workload)백엔드 (Backend)결과 (Result)
LLM 텍스트 추론 (LLM text inference)CPU 전용 (CPU only)3–5 tokens/s ❌
LLM 텍스트 추론 (LLM text inference)RX 580 Vulkan15–16 tokens/s ✅
SD 1.5 20 stepsDirectML~450s + 충돌 (crash) ❌
SD 1.5 20 stepsVulkan native~72s ✅
Flux 1024x1024Xeon CPU WSL2~24 min ✅

NVMe의 영향: 모델 로드 시간이 25분(HDD)에서 4분(NVMe)으로 단축되었습니다. Flux 16GB의 경우: 25분에서 약 30초로 단축되었습니다. 저장 장치는 연산 장치만큼이나 중요합니다.

서비스 맵 (Service Map)
OpenWebUI Docker :3000
├── llama-server.exe :8081 (Vulkan — RX 580)
├── sd-server.exe :7860 (Vulkan — RX 580)
└── ComfyUI :8188 (CPU — Xeon WSL2)

리소스 (Resources)
전체 문서, .bat 오케스트레이션 스크립트, 컴파일된 바이너리 및 모델 설정: 👉 https://setup-ia-local-rx580-vulkan.firebaseapp.com/

하드웨어는 죽지 않습니다. 올바른 소프트웨어를 통해 해방될 뿐입니다. 구형 AMD 카드를 사용 중이신가요? 여러분의 버퍼 할당(buffer allocation) 및 커맨드 큐 지연 시간(command queue latency) 조사 결과를 댓글로 공유해 주세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0