vulkan: Q3_K/Q6_K 블록 데이터를 블록 로드(Block-load)하고 32비트 정수(32b ints)에서 뺄셈 수행 ([#23056
요약
llama.cpp의 Vulkan 백엔드에서 Q3_K/Q6_K 양자화 데이터의 블록 로드 및 32비트 정수 뺄셈 최적화를 구현했습니다. 이를 통해 Intel BMG 및 Xe2 아키텍처에서 상당한 성능 향상을 달성했습니다.
핵심 포인트
- Intel BMG MMVQ 전환 시 Q3_K 기준 약 57% 성능 향상
- 블록 로드 적용 시 Q6_K 기준 약 48% 추가 성능 향상
- Mesa의 로드 병합 한계를 극복하기 위해 블록 로드 강제 적용
- Xe2 아키텍처에 대한 NVIDIA 오버라이드 적용
vulkan: Q3_K/Q6_K 블록 데이터를 블록 로드(Block-load)하고 32비트 정수(32b ints)에서 뺄셈 수행 (#23056)
Q2_K/Q3_K/Q6_K는 2바이트 정렬(2-byte aligned) 상태임에도 불구하고 Intel BMG에서 MMVQ를 사용할 때 훨씬 더 나은 성능을 보이며, Q3_K는 NVIDIA에서도 여전히 우세합니다.
Mesa는 교차하는 배열(alternating arrays)로부터 연속된 로드(back-to-back loads)를 병합(coalescing)하는 능력이 그리 뛰어나지 않으므로, 대신 이를 강제합니다. 또한, 시작 시 최상위 비트(high bit)가 항상 비어 있으므로 비트 조작(bit twiddling)을 사용하는 i8vec4 대신 전체 int32_t에서 직접 뺄셈을 수행할 수 있습니다.
Mesa 기반의 Intel BMG에서 MMVQ로의 전환은 unsloth/Qwen3.5-9B-GGUF:Q3_K의 tg128에서 약 57%의 즉각적인 성능 향상을, unsloth/Qwen3.5-9B-GGUF:Q6_K의 tg128에서 약 78%의 성능 향상을 제공합니다.
블록 로드(block loads)로의 추가 전환은 unsloth/Qwen3.5-9B-GGUF:Q3_K의 tg128에서 약 24%의 성능 향상을, unsloth/Qwen3.5-9B-GGUF:Q6_K의 tg128에서 약 48%의 성능 향상을 이끌어냅니다.
마지막으로, Xe2는 작은 k 값에 대해서도 MMVQ에서 승리하므로, Xe2의 K 양자화(K quants)에 대해서도 NVIDIA 오버라이드(override)를 적용합니다.
macOS/iOS:
- macOS Apple Silicon (arm64)
- macOS Apple Silicon (arm64, KleidiAI 활성화) 비활성화됨
- macOS Intel (x64)
- iOS XCFramework
Linux:
<strong>Linux:</strong>
- Ubuntu x64 (CPU)
- Ubuntu arm64 (CPU)
- Ubuntu s390x (CPU)
- Ubuntu x64 (Vulkan)
- Ubuntu arm64 (Vulkan)
- Ubuntu x64 (ROCm 7.2)
- Ubuntu x64 (OpenVINO)
- Ubuntu x64 (SYCL FP32) DISABLED
<strong>Android:</strong>
<strong>Windows:</strong>
<strong>Windows:</strong>
- Windows x64 (CPU)
- Windows arm64 (CPU)
- Windows x64 (CUDA 12) - CUDA 12.4 DLLs
- Windows x64 (CUDA 13) - CUDA 13.3 DLLs
- Windows x64 (Vulkan)
- Windows x64 (SYCL) DISABLED
- Windows x64 (HIP)
openEuler:
- DISABLED
- openEuler x86 (310p)
- openEuler x86 (910b, ACL Graph)
- openEuler aarch64 (310p)
- openEuler aarch64 (910b, ACL Graph)
UI:
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기