ggml-webgpu: 레이어 노멀레이션 연산자 추가 (#22406)
요약
ggml-webgpu 프로젝트에 레이어 노멀레이션(Layer Normalization) 연산자가 추가되어 모델의 기능을 확장했습니다. 이 업데이트는 Kahan 합법을 사용한 부동소수점 계산 안정화 및 비연속 간격 처리를 개선하는 등 여러 기술적 최적화를 포함합니다. 다양한 아키텍처와 플랫폼(macOS, Linux, Windows, Android 등)에 대한 광범위한 지원이 제공되어 호환성과 성능이 향상되었습니다.
핵심 포인트
- 레이어 노멀레이션 연산자 추가: 딥러닝 모델의 핵심 구성 요소인 레이어 정규화 기능을 웹GPU 환경에서 구현했습니다.
- 계산 안정성 및 최적화 개선: Kahan 합법을 사용한 부동소수점 계산 안정화와 비연속 간격(non-contiguous strides) 처리가 이루어졌습니다.
- 광범위한 플랫폼 지원: macOS, Linux (CPU/Vulkan/ROCm/OpenVINO 등), Windows (CUDA/Vulkan/SYCL/HIP), Android 등 다양한 운영체제 및 하드웨어 아키텍처를 포괄합니다.
- 다양한 백엔드 지원: CPU 외에도 WebGPU, Vulkan, ROCm, OpenVINO, SYCL, CUDA, HIP 등 여러 가속기 백엔드를 통해 폭넓은 호환성을 확보했습니다.
ggml-webgpu: 레이어 노멀레이션 (layer norm) 연산자 추가 (#22406)
shader(norm): 레이어 노멀레이션 연산자 추가
shader(norm): Kahan 합법 (Kahan summation) 을 사용하여 부동소수점 계산 안정화 및 혼합 타입 처리
shader(norm): 비연속 간격 (non-contiguous strides) 제거
shader(norm): Kahan 합법 대신 원래 구현 사용
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 (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가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기