사전 릴리스 / 지속 빌드: 이는 실험적 빌드이며 안정 릴리스가 아닙니다.
sycl: MKL flash attention으로 GLM MLA prefill 가속 (#29171) * sycl: MKL flash attention으로 GLM MLA prefill 가속 GLM-4.7 Flash는 576폭 Q/K 헤드, 512폭 V 헤드, GQA 20, F16 KV를 갖는 MLA 형태를 사용합니다. 일반적인 MKL flash-attention 게이트는 일치하는 K/V 폭을 요구하고 헤드 차원을 512로 제한하기 때문에 SYCL 디스패처는 이 형태를 거부하며, 그 결과 프롬프트 처리가 훨씬 느린 TILE 커널로 폴백합니다. 검증된 576/576/512, GQA-20 F16 형태만 기존 MKL 파이프라인에 허용합니다. 그 외 모든 일치하지 않는 K/V 형태는 기존 폴백 경로를 유지합니다. GLM의 V 캐시를 K 행의 더 좁은 strided 뷰로 처리합니다. 행 stride가 패딩된 경우 strided F16 디스크립터를 선택하고, 논리적 폭이 일치할 때만 K/V 역양자화 버퍼를 alias합니다. stride 예외는 K의 행 stride를 공유하는 실제 V 뷰로 제한합니다. 정확한 576/512, GQA-20 프롬프트 경로 백엔드 테스트를 추가합니다. master e613ef2 기준 Intel Arc Pro B70에서 pp8192는 432.80에서 1292.29 tok/s로 향상됩니다 (2.99배, +198.6%). tg256은 노이즈 범위 내에서 45.67 대 45.65 tok/s로 변화 없습니다. 정확한 MLA 테스트가 통과하며 디버그 출력이 MKL 디스패치를 확인합니다. * sycl: MKL flash attention 점수를 F16으로 저장 QK GEMM 출력을 F32 대신 F16으로 유지합니다. 온라인 softmax는 여전히 각 점수를 max, 지수, 합 계산을 위해 F32로 변환하므로 요소별 수학 연산은 점수 반올림을 제외하면 변하지 않으며, F32 행렬은 F16 확률로 소비되기 위해서만 쓰이고 있었습니다. F32 점수 행렬은 이 경로에서 가장 큰 flash-attention 중간 결과물입니다. F16으로 저장하면 크기와 트래픽이 절반으로 줄어듭니다. 이는 각 점수 행을 협력적으로 읽는 1aa2954bd의 coalesced softmax 로드를 기반으로 하므로, 더 작은 dtype이 효과를 발휘합니다. 이전 커밋의 디스패치를 사용하여 Intel Arc Pro B70에서 측정, -ngl 999 -b 4096 -ub 1024 -ctk f16 -ctv f16 -fa on: pp8192 1583.9 -> 1657.1 tok/s (+4.6%) pp64000 610.0 -> 684.5 tok/s (+12.2%) pp131072 ~354 -> 402.1 tok/s (+13.5%) 8k 컨텍스트에서 tg256은 변화 없음(32.64)이며, FLASH_ATTN_EXT 스위트에서 새로운 실패는 없습니다. 정확한 GLM MLA 백엔드 케이스는 CPU 대비 통과합니다. 측정된 쌍만 인용하고 싶다면 ~354 기준 수치를 조정하세요(131k 디스패치 전용 수치는 동등한 유지 관리 빌드에서 나온 것입니다). 기여 가이드라인에 따라 AI가 변경에 기여했으므로 선택적으로 Assisted-by: 를 추가할 수 있습니다. * Revert "sycl: MKL flash attention 점수를 F16으로 저장" 이는 커밋 265f9748164dc88e02678425b75f520ccd528b32를 되돌립니다.웹사이트: - https://llama.app
증명(Attestations): - https://github.com/ggml-org/llama.cpp/attestations/53529269
macOS/iOS: - macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64, KleidiAI 활성화) 비활성화됨 - macOS Intel (x64) - iOS XCFramework
Linux: - Ubuntu x64 (CPU) - Ubuntu arm64 (CPU) - Ubuntu s390x (CPU) - Ubuntu x64 (Vulkan) - Ubuntu arm64 (Vulkan) - Ubuntu x64 (CUDA 12) - CUDA 12.8 라이브러리 - Ubuntu x64 (CUDA 13) - CUDA 13.4 라이브러리 - Ubuntu arm64 (CUDA 13) - CUDA 13.4 라이브러리 - Ubuntu x64 (ROCm 10.0) - Ubuntu x64 (OpenVINO) - Ubuntu x64 (SYCL FP32) - Ubuntu x64 (SYCL FP16) - Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - 설정 가이드
Android: - Android arm64 (CPU) - Android arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - 설정 가이드
Windows용: - Windows x64 (CPU)용 - Windows arm64 (CPU)용 - Windows arm64 (OpenCL Adreno)용 - Windows x64 (CUDA 12)용 - CUDA 12.4 DLLs - Windows x64 (CUDA 13)용 - CUDA 13.4 DLLs - Windows arm64 (CUDA 13)용 - CUDA 13.4 DLLs - Windows x64 (Vulkan)용 - Windows arm64 (Vulkan)용 - Windows x64 (OpenVINO)용 - Windows x64 (SYCL)용 - Windows x64 (ROCm 10.0)용
openEuler: - DISABLED - openEuler x86 (310p) 환경 - openEuler x86 (910b, ACL Graph) 환경 - openEuler aarch64 (310p) 환경 - openEuler aarch64 (910b, ACL Graph) 환경
UI: - UI