微信扫码
添加专属顾问
我要投稿
ollama v0.12.9 版本重磅更新,修复 CPU 性能回退并优化 GPU 支持,提升跨平台运行效率。 核心内容: 1. 修复 CPU-only 系统性能回退问题 2. 优化 GPU 设备检测路径与 ROCm 错误处理 3. 改进 CUDA 内存操作逻辑,减少延迟
2025年11月2日,Ollama 发布了 v0.12.9 最新版本,本次更新主要针对 CPU-only 系统的性能回退问题进行了修复,同时在 GPU 设备检测、ROCm 错误处理以及 CUDA 内存分配优化方面进行了多项改进。以下是版本的详细变化说明。
本次版本重点修复了在仅使用 CPU 的环境下出现的性能回退(regression)问题,确保在缺乏 GPU 的系统上依旧能够高效运行模型。
在 GPU 设备枚举的过程中,旧版本使用 LibOllamaPath 作为库路径,本次更新统一改为 ml.LibOllamaPath,保证路径引用一致性,提升跨平台与多设备环境下的稳定性。
改动包括:
discover/runner.go 中多处将 LibOllamaPath 替换为 ml.LibOllamaPathml/device.go 中 LibraryPaths 函数初始化时确保 LibOllamaPath 包含于 GPU 库路径列表中这些改动有助于在 GPU 初始化阶段正确加载相关库文件,尤其是在混合 GPU 环境中(CUDA 与 ROCm 并存)。
新增对 ROCm error 的日志监控,llm/status.go 的 errorPrefixes 列表中增加了 "ROCm error" 条目,使错误信息能够被及时捕获与输出,便于定位问题。
在 CUDA 后端实现中增加了对内存设置与拷贝操作的优化逻辑:
cudaMemsetAsync 操作,从而减少 GPU 内存分配压力cudaMeMCPyAsync、cudaMemcpy2DAsync、cudaMemsetAsync 进行了宏替换,使其在预留阶段直接返回成功,而不执行实际操作ggml/src/ggml-cuda/common.cuh 和 ml/backend/ggml/ggml/src/ggml-cuda/common.cuh 中均有实现,使 CUDA 后端在图优化阶段更高效效果:
integration/api_test.go 中移除了冗余的 TestAPIEmbeddings 测试方法,此前该测试会调用嵌入 API(Embeddings),包括模型拉取与输出验证,此处删除主要是简化测试集,避免重复测试相同功能。
discover/path.go 文件更名为 ml/path.go,并将包名从 discover 改为 ml,归类到机器学习核心逻辑下,使模块结构更加清晰。
ollama v0.12.9 在保持功能稳定的同时,解决了 CPU-only 系统的性能问题,并且显著优化了 GPU 设备检测、ROCm 错误日志及 CUDA 内存分配机制。这些改进对在多种硬件环境中部署 Ollama 的用户尤为重要:
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-08-21
2025-08-21
2025-08-19
2025-09-16
2025-10-02
2025-09-08
2025-09-17
2025-08-19
2025-09-29
2025-08-20