llama.cpp b11405 릴리스는 작은 헤드 수에서 성능 문제를 해결하기 위해 4개의 헤드를 위해 키와 토큰에 걸쳐 라이트닝 인덱서를 타일링하여 CUDA 백엔드를 업데이트합니다.
- 커널은 모든 헤드의 쿼리와 가중치를 한 번에 스테이징하며, 반정밀 키 요소를 한 번 확장하여 float 왕복 없이 모든 헤드에 공급합니다.
- q * k가 f16 범위를 초과할 때 half2 곱셈으로 인한 오버플로우를 방지하기 위해 쿼리는 공유 메모리 내에서 float 상태로 유지됩니다.
- 각 스레드는 이제 단일 토큰에 대해 두 개의 키를 점수화하여 공유 읽기를 줄이고 gfx908을 63 VGPR로 유지하며 레지스터 스플릴을 방지합니다.
- 이 최적화는 R9700에서 커널을 36배 빠르게 만들고 CUDA 하드웨어에서도 약간 더 빠르게 만듭니다.
이 릴리스는 CPU, GPU(CUDA, ROCm, Vulkan, OpenCL), NPU 백엔드 전반에 걸쳐 macOS, Linux, Windows, Android 및 openEuler용 바이너리를 제공합니다.