kleidiai: 커널 디스패치(kernel dispatch)에서 SME와 SME2의 구분 추가 ([#25478](https://github.c
요약
KleidiAI가 커널 디스패치 과정에서 SME와 SME2를 구분하도록 업데이트되었습니다. 이를 통해 하드웨어 지원 여부에 따라 적절한 커널을 연결하여 SME(v1) 환경에서의 오작동을 방지합니다.
핵심 포인트
- SME(v1)와 SME2 간의 명확한 구분 도입
- 빌드 및 런타임 시 하드웨어 지원 여부 확인
- 하드웨어 사양에 맞는 최적화된 커널 디스패치 구현
- 잘못된 명령어 사용으로 인한 오류 방지
kleidiai: 커널 디스패치(kernel dispatch)에서 SME와 SME2의 구분 추가 (#25478)
현재 통합 방식은 SME를 단일 기능(CPU_FEATURE_SME)으로 취급하며, SME(v1)와 SME2를 구분하지 않습니다. CPU_FEATURE_SME 하에서 디스패치되는 커널들은 SME2 전용 명령어를 사용하므로, SME(v1) 전용 하드웨어에서는 디스패치가 잘못 수행됩니다.
우리는 빌드 타임(build-time) 및 런타임(runtime)에서 SME와 SME2 사이의 구분을 도입하였으며, 실제 하드웨어 지원 여부에 따라 SME(v1) 및 SME2 커널을 연결합니다.
웹사이트:
macOS/iOS:
- macOS Apple Silicon (arm64)
- macOS Apple Silicon (arm64, KleidiAI 활성화) 비활성화됨
- macOS Intel (x64)
- iOS XCFramework
Linux:
<strong>Linux:</strong>
- 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)
<strong>Android:</strong>
<strong>Windows:</strong>
<strong>Windows:</strong>
- 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가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기