[SYCL] oneDNN을 통한 XMX 엔진 기반 Flash Attention ([#25222](https://github.com/ggml-or
요약
llama.cpp 프로젝트에서 oneDNN graph API와 XMX 엔진을 활용한 Flash Attention 구현 PR이 공개되었습니다. 이를 통해 Battlemage(Xe2) 아키텍처 기반의 prefill 속도가 대폭 향상되었으며, 멀티 디바이스 동기화 기능이 추가되었습니다.
핵심 포인트
- oneDNN XMX 엔진 기반 Flash Attention 도입으로 prefill 속도 최대 4.26배 향상
- Battlemage(Xe2) 아키텍처 전용 최적화 및 타 아키텍처 폴백 지원
- 멀티 GPU 환경을 위한 디바이스 동기화(multi-device sync) 로직 적용
- Qwen 및 Llama 모델에 대한 성능 검증 완료
[SYCL] oneDNN을 통한 XMX 엔진 기반 Flash Attention (#25222)
-
[SYCL] oneDNN graph API를 통한 XMX 엔진 기반 F16 (기본값) Flash Attention; Qwen3.6-27b-Q8_0 prefill 속도가 p=512에서 x1.21, p=80k에서 x4.26 향상
-
[SYCL] FA oneDNN 경로에 대한 리뷰 처리. 결과: llama-bench---pp512; fa1 사용 시 32% 증가; llama-perplexity---0.11% 차이; 테스트된 모델: mradermacher/Meta-Llama-3.1-8B-Instruct-Q8_0.gguf
-
PR-25222 revision v2: 감사(audits) 사항 해결
-
[SYCL] flash-attn oneDNN SDPA KV F16 rev 3.0: BMG gate 추가 + 멀티 디바이스 동기화(multi-device sync). 이 PR의 범위를 Battlemage(bmg; Xe2) 전용으로 제한함. 다른 아키텍처(예: alchemist)는 기존 FA 커널로 폴백(fall back)함. device_count > 1일 때, stream -> wait_and_throw()를 적용하며, @maxious에 의해 멀티 GPU 동기화 수정을 위한 작동 경로를 검증함.
Co-authored-by: maxious 81432+maxious@users.noreply.github.com
- bmg gate에 대한 코멘트 업데이트, 이슈 기록
Co-authored-by: scientist3 scientist.3@users.noreply.github.com
Co-authored-by: hmscider hmscider@users.noreply.github.com
Co-authored-by: maxious 81432+maxious@users.noreply.github.com
macOS/iOS:
- macOS Apple Silicon (arm64)
- macOS Apple Silicon (arm64, KleidiAI 활성화) 비활성화됨
- macOS Intel (x64)
- iOS XCFramework
Linux:
Linux:
- 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)
- Ubuntu x64 (SYCL FP16)**
Android:
Windows:
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.3 DLLs
- Windows x64 (Vulkan)
- Windows x64 (OpenVINO)
- Windows x64 (SYCL)
- 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가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기