llama.cpp b9857 릴리스는 Hexagon Flash Attention 구현의 포괄적인 재구현을 도입하여 최적화와 정확도 개선을 중점적으로 다룹니다. 이 업데이트에는 hex-mm 및 hex-fa 모듈에 대한 주요 변경 사항이 포함되어 있으며, 여기에는 양자화 작업을 주 matmul 스레드에 병합하고 ADD 연산과 융합하며 마스크 처리를 최적화하는 작업이 포함됩니다.
- Hexagon Flash Attention(hex-fa) 최적화에는 ukernels의 인수분해, 커널 매개변수 계산을 호스트로 이동, FA_SELECT 및 Sinks에 대한 지원 추가가 포함됩니다.
- 성능 향상에는 Hvx 폴백 임계값을 업데이트하여 처리량 회귀를 복구하고, 마스크 DMA 캐싱을 최적화하며, 정렬된 로드와 uint32_t 인덱스를 사용하는 작업이 포함됩니다.
- 수치 정확도 개선에는 softmax 누적기를 fp32로 유지하고, vec_exp_f32을 vec_exp2_f16으로 대체하며, 마스크 초기화에 -inf를 사용하지 않아 변환 오버플로를 방지하는 작업이 포함됩니다.
- 이 릴리스는 macOS(Apple Silicon 및 Intel), Linux(CPU, Vulkan, ROCm, OpenVINO, SYCL), Android, Windows(CPU, CUDA 12/13, Vulkan, OpenCL, HIP, OpenVINO, SYCL) 및 openEuler용 바이너리를 제공합니다.
이 업데이트는 Hexagon DSP에서의 추론 성능을 개선하고 llama.cpp 사용자를 위해 여러 플랫폼과 가속기 전반에 걸친 하드웨어 지원을 확장합니다.