로컬 AI 실측 노트

llama.cpp Vulkan vs CUDA: GTX 1660 SUPER에서 최대 20% 차이

2026-09-27

윈도우에서 winget install llama.cpp로 llama.cpp를 설치하면 Vulkan 빌드가 깔립니다. NVIDIA 그래픽카드에서도 잘 돌아가서 모르고 넘어가기 쉬운데, GTX 1660 SUPER 6GB에서 같은 모델 파일을 NVIDIA 전용 빌드로 돌려 보니 11~20% 더 빨랐습니다. Ollama와도 같이 비교했습니다.

한눈에 보는 결과

모두 같은 모델 파일(Ollama가 받아 둔 GGUF 그대로), 모든 층을 그래픽카드에 올린 상태에서 256토큰 생성 속도입니다.

모델 (Q4_K_M) llama.cpp Vulkan llama.cpp CUDA CUDA가 빠른 정도 Ollama (num_gpu 99)
Qwen3 8B 39.8 tok/s 46.6 tok/s +17% 41.2~41.4 tok/s
Qwen3 4B-instruct 71.3 tok/s 78.8 tok/s +11% 77.0 tok/s
EXAONE 3.5 7.8B 41.3 tok/s 49.5 tok/s +20% 48.9 tok/s

테스트 환경과 방법

모델 파일은 Ollama가 내려받아 둔 파일을 ollama show 모델이름 --modelfile의 FROM 경로로 찾아서, llama.cpp에 그대로 넣었습니다. 그래서 세 가지 실행 방식이 완전히 같은 가중치를 씁니다. 측정 명령은 llama-bench -m 모델파일 -p 0 -n 256 -r 3 -ngl 99입니다(프롬프트 처리 생략, 256토큰 생성 3회, 모든 층 그래픽카드).

두 빌드의 버전이 b11175와 b11193으로 조금 다릅니다. 버전 차이의 영향도 섞여 있을 수 있다는 점은 감안해 주세요.

지금 쓰는 빌드 확인하는 법

llama-bench --list-devices를 실행하면 바로 보입니다.

# Vulkan 빌드
Vulkan0: NVIDIA GeForce GTX 1660 SUPER (6180 MiB, 5395 MiB free)

# CUDA 빌드
CUDA0: NVIDIA GeForce GTX 1660 SUPER (6143 MiB, 5132 MiB free)

장치 이름 앞에 Vulkan0이 붙으면 Vulkan 빌드, CUDA0이 붙으면 CUDA 빌드입니다. 속도 측정 결과표의 backend 칸에도 Vulkan 또는 CUDA가 표시됩니다.

CUDA 빌드 설치하는 법 (윈도우)

  1. llama.cpp 릴리스 페이지에서 최신 버전의 Assets를 펼칩니다.
  2. 두 파일을 받습니다. - llama-b(버전번호)-bin-win-cuda-12.4-x64.zip — 프로그램 본체 (이번에 받은 파일은 약 250MB) - cudart-llama-bin-win-cuda-12.4-x64.zip — CUDA 실행 파일 (약 373MB)
  3. 두 압축 파일을 같은 폴더에 풉니다. 예: C:\llamacpp-cuda
  4. 그 폴더에서 llama-bench --list-devices를 실행해 장치 이름 앞에 CUDA0이 보이면 완료입니다.

개발 도구(CUDA 툴킷)를 따로 설치할 필요는 없습니다. 두 번째 압축 파일에 필요한 파일이 들어 있습니다. 그래픽 드라이버는 최신에 가깝게 유지하세요. 이번 측정은 591.86 드라이버에서 했습니다.

참고로 이번에 받을 때는 "Latest"로 표시된 릴리스(v0.5.0)에 윈도우 빌드 파일이 없었습니다. 그럴 땐 목록을 조금 내려서 win-cuda 파일이 있는 버전을 받으면 됩니다.

그럼 Ollama 대신 llama.cpp를 써야 할까

속도만 보면 NVIDIA 전용 빌드가 가장 빨랐지만, Ollama와의 차이는 모델마다 달랐습니다.

Ollama는 모델을 이름으로 받아서 바로 쓰고, 서버가 알아서 켜지고, 다른 프로그램과 연결하기도 쉽습니다. 몇 % 속도보다 이런 편의가 중요하다면 Ollama를 그대로 쓰는 게 낫습니다. 이미 이 프로그램을 쓰고 있고 그래픽카드가 NVIDIA라면, 빌드만 바꿔도 11~20%를 공짜로 얻을 수 있습니다.

Ollama에서 8B 모델을 쓴다면 먼저 num_gpu 설정 글을 보세요. 6GB 카드에서는 이 설정 하나가 2.9배 차이를 만듭니다.

한계