본문으로 건너뛰기

© 2026 Molayo

Reddit요약2026. 05. 06. 19:07

Warpdrv - 내 오픈소스 Llama.cpp 스타터, Strix Halo + RTX Pro 에서 Qwen 35b + 27b 일상 구동용

요약

이 기술 기사는 로컬 환경에서 대규모 언어 모델(LLM)을 구동하기 위한 오픈소스 애플리케이션 'Warpdrv'를 소개합니다. 이 앱은 사용자가 CUDA (RTX Pro 5000)와 Strix Halo (ROCm) 등 다양한 하드웨어 조합에서 Qwen 35b 및 27b 같은 대형 모델을 효율적으로 실행할 수 있도록 도와줍니다. 특히, 코딩 작업에 최적화된 로컬 모델 라우터 기능과 여러 LLM 서버 인스턴스를 관리하는 편의 기능을 제공합니다. 또한, Strix Halo와 같은 새로운 아키텍처에서 ROCm 환경을 성공적으로 설정하고 `llama.cpp`를 빌드하기 위한 상세한 단계별 가이드(커널 설치, GRUB 파라미터 수정 등)도 포함하여, 고급 사용자들에게 실질적인 도움을 제공합니다.

핵심 포인트

  • Warpdrv는 로컬 LLM 구동을 위한 오픈소스 스타터 앱으로, 다양한 하드웨어 환경에서 모델 관리를 용이하게 합니다.
  • CUDA (NVIDIA RTX Pro 5000)와 ROCm (Strix Halo) 등 이종 아키텍처를 통합하여 대형 언어 모델(Qwen 35b/27b)을 구동할 수 있습니다.
  • 앱은 코딩 작업에 특화된 로컬 모델 라우터, 도구 호출 기능 등을 제공하며, 여러 LLM 서버 인스턴스를 관리하는 인터페이스 역할을 합니다.
  • Strix Halo에서 ROCm 환경을 구축하기 위한 상세한 가이드가 포함되어 있으며, 커널 및 GRUB 파라미터 설정 등 고급 시스템 지식이 요구됩니다.

내 설정에서 로컬로 LLM 실행하기 위해 만든 오픈소스 앱을 공유하고 싶습니다.

내 설정

하드웨어

  • FEVM FAEX1 (128GB)
  • RTX Pro 5000 Blackwell (48GB), OCuLink 를 통해 연결됨
  • Aoostar AG02
  • raid-0 로 mdadm 를 사용하여 2x2TB 내부 m.2 드라이브.

소프트웨어: Ubuntu 25.10, cuda + vulkan, rocm 을 위한 llama.cpp 소스 빌드.

이 앱을 어떻게 사용하는가

나는 일반적으로 CUDA 에서 Qwen3.6 27b UD-Q6-KXL 또는 NVFP4 와 Strix Halo 통합 메모리에서 Qwen3.6 35b A3B UD-Q6-KXL 을 동시에 실행합니다. 대부분 opencode 를 사용하여 코딩에 사용합니다. 내장 모델 라우터가 유용합니다.

이 앱은 무엇을 더 할 수 있는가

어떤 llama.cpp 래퍼도 할 수 있는 기본 작업 + 기타 작업. 전체적으로 목적에 따라 llama-server 인스턴스를 시작하기 위한 편의 앱입니다. 그리고 오픈소스입니다.

  • MCP.json + 채팅에서 도구 호출
  • opencode / claude-code 로컬용 모델 라우터.
  • KV-cache 체크포인트 (실험적).
  • llama.cpp 빌드를 포함하지 않습니다. 그러나 UI 를 가진 bash 스크립트로 레시피를 구성하여 한 번에 빌드할 수 있습니다.

Read Me 와 함께 가이드 를 확인하세요.

GitHub 에서 warpdrv 방문

초기 알파 버전이므로 일부 버그를 예상합니다 - 대부분의 주요 버그는 수정했습니다. 기능 요청 및 버그 보고도 환영합니다.


Strix Halo (Ubuntu 25.10) 에서 ROCm 설정

Linux 에서 Strix Halo 는 gfx1151 로 native ROCm 작동하기 전에 일부 설정이 필요합니다. Strix Halo 를 위한 도커 기반 툴박스를 알고 있습니다. 작동하며 좋은 옵션입니다. 나는 컨테이너 없이 bare-metal 을 원했습니다.

그에 관심이 있는 사람들을 위해 아래 단계를 포함합니다.

  1. mainline kernel 6.18 설치. Ubuntu 25.10 의 Mainline Kernels 데스크톱 앱을 사용하세요. 재부팅.
    • 확인: uname -r shows 6.18.x.
  2. BIOS 에서 전용 iGPU VRAM 을 4GB 로 설정하고 Resizable BAR 을 활성화합니다. 나머지 124GB 는 GTT 를 통해 접근 가능한 통합 메모리로 남습니다.
  3. GRUB 파라미터 추가. /etc/default/grub.d/iommu=pt amdgpu.gttsize=126976 ttm.pages_limit=32505856 amdgpu.cwsr_enable=0 를 추가합니다. 주의: amdgpu.gttsize 는 최근 커널에서 폐기되었지만 여전히 존중됩니다. ttm.pages_limit 과 함께 벨트 앤드 스펜더로 유지했습니다. update-grub 와 재부팅 실행.
    • 확인: cat /sys/class/drm/card*/device/mem_info_gtt_total 은 ~124GB 를 표시합니다.
  4. 선택적으로 펌웨어 업데이트. upstream linux-firmware 트리를 복제하고 MES 블로브를 /lib/firmware/amdgpu/ 로 복사합니다. md5 를 먼저 확인 - 내 펌웨어는 이미 최신이었으므로 이 단계를 실행하지 않았습니다.
  5. ROCm 7.2 설치. AMD repo 를 통해 호스트에서 설치. 링크 추가: libxml2.so.16 -> libxml2.so.2, 그렇지 않으면 일부 라이브러리가 로드되지 않습니다.
    • 확인: rocminfo | grep gfx 는 gfx1151 을 표시합니다.
  6. ROCm 을 위한 llama.cpp 빌드. cmake -B build -DGGML_HIP=ON -DAMDGPU_TARGETS="gfx1151" \ -DCMAKE_BUILD_TYPE=Release -DCMAKE_HIP_FLAGS="-mllvm --amdgpu-unroll-threshold-local=600"
  7. 실행할 때 알아야 할 세 가지:
  • HSA_OVERRIDE_GFX_VERSION 을 설정하지 마세요. gfx1151 에서 gfx1100 커널 디스패치를 강제하고 rms_norm 에서 segfault 를 유발합니다.
  • 필요한 런타임 플래그: --no-warmup -fa 1 -dio --no-mmap. --no-warmup 을 없애면 warmup 단계에서 segfault 합니다.
  • 확인: 모델을 실행하여 segfault 없이 로드하고 토큰을 생성하는지 확인하세요.

또한 CUDA 13.2 (RTX Pro 5000) 를 위한 llama.cpp 를 소스에서 빌드하며, 표준 -DGGML_CUDA=ON 플로우를 사용하여 특별한 처리 없이 진행합니다.


PS. Apple Mac: 저는 Mac 을 소유하지 않아 MacOS 에서 앱을 테스트할 수 없습니다. 소스에서 빌드해 주거나 빌드를 공유해 주시면 GitHub 의 릴리스에 추가할 수 있습니다. ReadMe 에 GitHub 핸들링을 언급해 드릴 수 있으니, 감사합니다 :)

AI 자동 생성 콘텐츠

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

원문 바로가기
1

댓글

0