开源项目
llama.cpp b11351:缓冲区接口新增alloc_buffer_n多缓冲分配
b11351
概述
llama.cpp b11351在ggml后端缓冲区类型接口加入alloc_buffer_n方法及公开API ggml_backend_buft_alloc_buffer_n:默认实现负责多缓冲拆分与经ggml_tallocr的张量放置;元缓冲类型提供自定义实现,为每个设备创建子上下文并委托简单缓冲类型;ggml_backend_alloc_ctx_tensors_from_buft改为收集张量列表后委托新API;cpu、metal、openvino、hexagon、webgpu、zdnn、virtgpu、repack等既有缓冲类型补齐NULL实现,并新增get_alloc_size_n接口与测试覆盖。这一重构统一跨多缓冲的张量分配入口,减少各后端重复逻辑;使用自定义缓冲类型的下游需要跟进接口变化,升级后应回归显存占用与分配失败路径。