Rilis llama.cpp b11405 memperbarui backend CUDA dengan menyusun pengindeks kilat berdasarkan kunci dan token untuk 4 kepala, mengatasi masalah kinerja dengan jumlah kepala yang kecil.
- Tahap kernel mengkuery dan bobot untuk semua kepala sekaligus, melebarkan setiap elemen kunci presisi setengah sekali untuk memberi makan semua kepala tanpa perjalanan balik float.
- Query tetap dalam float di memori bersama untuk mencegah overflow dari produk half2 ketika q * k melebihi rentang f16.
- Setiap utas sekarang menilai dua kunci untuk satu token, mengurangi bacaan bersama dan menjaga gfx908 pada 63 VGPR tanpa tumpahan register.
- Optimasi ini membuat kernel 36x lebih cepat di R9700 dan sedikit lebih cepat di perangkat keras CUDA.
Rilis ini menyediakan biner untuk macOS, Linux, Windows, Android, dan openEuler di seluruh backend CPU, GPU (CUDA, ROCm, Vulkan, OpenCL), dan NPU.