b8940
요약
이 기술 기사는 텐서(tensor)의 부분 읽기 및 쓰기를 지원하기 위해 재귀 상태 직렬화 로직을 수정한 내용을 다루고 있습니다. 이전 버전은 전체 텐서에 대한 읽기/쓰기만 가능하여, llama-server 테스트 시 메모리 크기 단언(GGML_ASSERT) 위반 문제가 발생했습니다. 이 수정으로 인해 다양한 아키텍처와 프레임워크(CUDA, Vulkan, ROCm, OpenVINO 등)를 포괄하는 광범위한 플랫폼 지원이 가능해졌습니다.
핵심 포인트
- 텐서의 부분 읽기 및 쓰기를 구현하여 메모리 효율성과 유연성을 높였습니다.
- 이전 버전의 전체 텐서 전용 I/O 한계를 극복하고, llama-server와 같은 환경에서 발생하는 단언 위반 문제를 해결했습니다.
- macOS (Apple Silicon, Intel), Linux (CPU, Vulkan, ROCm 등), Android, Windows (CUDA, SYCL 등), openEuler 등 매우 광범위한 플랫폼 및 백엔드 가속기 지원을 확보했습니다.
부분 읽기 및 쓰기를 위한 재귀 상태 직렬화 수정 (#22362)
이전 코드는 전체 텐서 읽기와 쓰기만 지원했으며, llama-server 로 테스트할 때 GGML_ASSERT(size == ggml_nbytes(tensor)); 단언을 위반했습니다.
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가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기