llama.cpp b10740发布:修复Metal后端的自动释放池缺失导致的内存泄漏
该版本通过补充缺失的autoreleasepool和相关变量重命名,修补了macOS/iOS上Metal后端的内存泄漏问题。
AI解读:这次发布的重点是修复Metal后端的持续内存泄漏,原因是代码中没有正确使用自动释放池(autoreleasepool)。对于在macOS或iOS上长时间运行llama.cpp的用户(比如本地部署模型的服务或应用),泄漏会导致内存占用不断上升,最终可能变慢或崩溃。补丁通过添加缺失的pool并修复警告来回收临时对象,让内存使用更稳定。长期运行的开发者应该更新到这个版本,普通桌面用户如果没有遇到内存异常,可以按自己的节奏升级。来源没有提供具体的性能或泄漏量数据,所以无法量化改善幅度,只能说明修复了已知的技术缺陷。
llama.cpp发布b10740版本,主要修复Metal后端因缺少自动释放池(autoreleasepool)导致的内存泄漏问题,涉及补丁 #27883。
改动由GitHub Actions自动发布,适用于macOS、iOS、Linux、Windows和Android等多个平台。
本次更新还包含对变量的重命名,并修复了另一个缺失pool的警告。
修复内容
根据发布说明,补丁 #27883 的标题为“metal : fix more leaks due to missing autoreleasepools”,即修复由于缺少自动释放池而造成的更多内存泄漏。
变更历史显示:添加了缺失的autoreleasepool、重命名了一个变量,并修复了另一个缺少pool的警告。提交者包括GitHub Actions机器人和YiChen Lv(共同作者)。
平台支持与可用性
b10740的预编译二进制已开放下载,覆盖多种后端与架构:macOS提供Apple Silicon (arm64) 和Intel (x64) 版本,但Apple Silicon的KleidiAI版本在本次发布中被禁用(禁用状态链接指向PR #23780);iOS提供XCFramework。
Linux端提供Ubuntu的x64/arm64/s390x CPU版本,以及x64/arm64的Vulkan版本、x64的ROCm 7.14、OpenVINO 2026.3.1、SYCL FP32/FP16版本。
Windows端提供x64/arm64的CPU版本、arm64的OpenCL Adreno版本、x64的CUDA 12.4和CUDA 13.3版本、arm64的CUDA 13.4预览版、Vulkan、OpenVINO 2026.3.1、SYCL以及ROCm 7.14版本。
Android提供arm64 CPU版本;openEuler的x86和aarch64版本(310p和 910b ACL Graph)在本次发布中被禁用(禁用状态链接指向PR #23705)。UI(用户界面)组件也已发布。