sycl: 선택적 USM 시스템 할당 추가 ([#22526](https://github.com/ggml-org/llama.cpp/pull/225
요약
llama.cpp의 SYCL 백엔드에 선택적 USM(Unified Shared Memory) 시스템 할당 기능이 추가되었습니다. 이 기능을 통해 대규모 GPU 버퍼를 시스템 메모리에서 할당하여 VRAM 용량 한계를 극복할 수 있습니다.
핵심 포인트
- USM 시스템 할당을 통한 대규모 GPU 버퍼(≥1GB) 지원
- 호스트와 장치 간 메모리 이동을 시스템이 자동으로 관리
- VRAM 오버커밋을 가능하게 하여 메모리 부족 문제 해결
- GGML_SYCL_USM_SYSTEM 환경 변수로 기능 활성화 가능
sycl: 선택적 USM 시스템 할당 추가 (#22526)
이 기능은 장치에서 지원하는 경우 USM (Unified Shared Memory) 시스템 할당을 사용하여 대규모 GPU 버퍼(≥ 1GB)를 할당하는 선택적 기능을 도입합니다. 이를 통해 시스템 할당자(system allocator)로부터 버퍼를 사용하고, 필요에 따라 시스템이 호스트(host)와 장치(device) 간의 메모리 이동을 관리하도록 할 수 있습니다.
이 기능은 기본적으로 비활성화되어 있으며, 활성화하려면 GGML_SYCL_USM_SYSTEM 환경 변수가 필요합니다. 장치 또는 시스템에서 USM 시스템 할당을 지원하지 않는 경우, 일반적인 할당 방식으로 폴백(fallback)합니다.
이 기능은 VRAM 오버커밋 (overcommit)을 가능하게 할 수 있습니다. 예를 들어, 아래 테스트는 B580에서 할당할 메모리 부족으로 인해 실패하지만, USM 시스템 할당을 활성화하면 통과합니다:
./examples/sycl/test.sh -m Qwen3.5-27B-Q3_K_M.gguf -lv 4
Signed-off-by: Francois Dugast francois.dugast@intel.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 x64 (CUDA 12) - CUDA 12.4 DLLs
- Windows x64 (CUDA 13) - CUDA 13.3 DLLs
- Windows x64 (Vulkan)
- 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가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기