hexagon: add HTP kernel for GGML_OP_GATED_DELTA_NET (#22837) Implement the Gated
요약
이 기술 기사는 GGML_OP_GATED_DELTA_NET 연산을 위해 Hexagon 프로세서에 HTP(High Throughput) 커널을 구현하는 과정을 다룹니다. 이 개선 사항은 프롬프트 처리(PP) 경로와 토큰 생성(TG) 경로 모두에서 최적화된 융합 커널을 제공하며, 특히 TG 경로의 K/Q/게이트 벡터 재로드 오버헤드를 2배 감소시킵니다. 또한 macOS, Linux, Android, Windows 등 광범위한 다양한 아키텍처와 프레임워크(CUDA, Vulkan, ROCm, OpenVINO 등)를 지원하도록 포팅 범위를 확장했습니다.
핵심 포인트
- GGML_OP_GATED_DELTA_NET 연산을 위한 Hexagon HTP 커널 구현
- PP 및 TG 경로에 대한 융합 커널을 통해 성능 최적화 달성
- TG 경로에서 K/Q/게이트 벡터 재로드 오버헤드를 2배 감소시키는 기술 적용
- macOS, Linux, Android, Windows 등 광범위한 플랫폼 지원 확보 (CPU, GPU, 가속기 포함)
- 다양한 백엔드 및 프레임워크(CUDA, Vulkan, ROCm, OpenVINO, SYCL)에 대한 포팅 완료
hexagon: add HTP kernel for GGML_OP_GATED_DELTA_NET (#22837)
Implement the Gated Delta Net recurrence on HVX with:
- 4-row fused kernels for PP (prompt processing) path
- 8-row fused kernels for TG (token generation) path, reducing K/Q/gate vector reload overhead by 2x
- Separate PP/TG thread functions for I-cache isolation
- VTCM state scratchpad with DMA in/out for TG single-cycle access
- Vectorized gate exp via hvx_exp_f32
macOS/iOS: - macOS Apple Silicon (arm64)
- macOS Apple Silicon (arm64, KleidiAI enabled)
- macOS Intel (x64)
- iOS XCFramework
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: - Android arm64 (CPU)
Windows: - Windows x64 (CPU)
- Windows arm64 (CPU)
- Windows x64 (CUDA 12) - CUDA 12.4 DLLs
- Windows x64 (CUDA 13) - CUDA 13.1 DLLs
- Windows x64 (Vulkan)
- Windows x64 (SYCL)
- Windows x64 (HIP)
openEuler: - openEuler x86 (310p)
- openEuler x86 (910b, ACL Graph)
- openEuler aarch64 (310p)
- openEuler aarch64 (910b, ACL Graph)
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기