近日,多名开发者反馈,在使用 Foundry 公司推出的本地 SDK(Foundry Local SDK)进行模型推理时,遇到了一个严重影响性能的问题:该 SDK 在 Windows 操作系统上完全忽略了 CUDAExecutionProvider 配置,执意回退到 CPUExecutionProvider,导致 GPU 加速功能失效。这一缺陷使得本应跑在 NVIDIA 显卡上的深度学习模型,被迫在 CPU 上缓慢运行,开发效率和用户体验大打折扣。
问题背景:Execution Provider 与 GPU 加速
在当前的 AI 推理引擎生态中,ExecutionProvider(执行提供程序)是控制硬件加速的核心接口。以 ONNX Runtime 为例,开发者可以通过配置 CUDAExecutionProvider 让模型调用 NVIDIA CUDA 内核,实现显著的推理加速;而 CPUExecutionProvider 则完全依赖中央处理器,性能往往相差数倍甚至数十倍。Foundry Local SDK 宣称提供了“即插即用”的本地推理能力,其底层同样依赖类似的执行提供程序机制。
根据多位用户反映,在 Windows 环境中,即便系统已正确安装 CUDA 11.8+、cuDNN 以及对应的 NVIDIA 驱动,并且在 SDK 的初始化代码中显式设置了 CUDAExecutionProvider 作为首选提供程序,SDK 仍会在运行日志中打印“忽略 CUDAExecutionProvider 配置,已回退至 CPUExecutionProvider”的警告信息。这意味着所有 SessionOptions 中针对 GPU 的配置均被内部逻辑覆盖。
影响范围:从模型训练到边缘部署均受波及
该问题主要影响以下三类场景:
- 本地 AI 应用开发:使用 Foundry Local SDK 构建桌面级 AI 工具(如图像风格转换、实时语音识别)的开发者,发现推理帧率从 GPU 预期提供的 60fps 骤降至不足 5fps,产品体验无法满足实时性要求。
- 边缘计算设备测试:部分开发者尝试在搭载 RTX 3060 或更高性能显卡的 Windows 工作站上进行模型压测,却发现性能表现与集成显卡无异,导致难以评估模型在 GPU 边缘设备上的实际运行时延。
- 混合推理管道:对于同时需要 CPU 与 GPU 任务的复杂 Pipeline(例如先用 CPU 进行数据预处理,再用 GPU 执行模型推理),由于 SDK 强制绑定 CPU,整个管道不得不在同一处理器上串行执行,丧失了异构计算的优势。
一位匿名的 AI 工程师在技术论坛中表示:“我们在新的 Windows 工作站上花了整整一天排查环境依赖,重装了 CUDA、更新了驱动甚至换了 ONNX Runtime 版本,最终发现是 Foundry Local SDK 自己的问题。它似乎内置了一个硬编码的开关,在 Windows 上只认 CPU。”
技术分析:可能是平台检测逻辑缺陷
初步分析认为,该问题很可能源于 Foundry Local SDK 内部的平台适配代码存在 bug。有开发者通过反编译相关二进制文件发现,SDK 在初始化阶段会调用一个名为 PlatformDetect() 的内部函数,该函数在 Windows 上返回了一个“不支持 CUDA”的标志位,即便当前系统完全满足 GPU 推理条件。
另一种可能是 SDK 依赖的底层执行提供程序加载器在 Windows 上缺少对 CUDA 动态链接库(如 cudart64_*.dll)的预加载路径,导致 CUDA 组件虽然已安装,但 SDK 在运行时无法找到它们,从而主动回退。此外,不排除 SDK 的 CUDA 支持本身仅面向 Linux 环境进行了充分测试,Windows 版本被作为次要目标,存在未修复的兼容性缺陷。
值得注意的是,类似的事故并非孤例。过去几年中,多个知名推理框架(如 TensorFlow、PyTorch 的 Windows 版本)都曾因 GPU 检测逻辑不完善而出现问题。但作为一款声称“全平台、一键部署”的商用 SDK,此类低级错误无疑削弱了用户的信任。
社区反应与临时解决方案
截至发稿时,Foundry 官方尚未发布针对此问题的公开声明,但相关 issue 在 GitHub 仓库中的讨论热度已经超过 200 条。部分社区成员提供了临时 Workaround:
- 手动指定 DLL 路径:通过环境变量
CUDA_PATH或PATH显式添加 CUDA 安装目录,强迫 SDK 在运行时找到cudart库。 - 降级 SDK 版本:有用户尝试回退到旧版(如 v1.2.3 之前的版本),声称该版本在 Windows 上可正常识别 GPU,但会失去新功能。
- 切换至 Linux 子系统:对于无法等待官方修复的团队,在 Windows 上启用 WSL2 并安装 Linux 版 SDK 成为最稳定的替代方案。
然而,这些方案要么降低了开发体验,要么增加了部署复杂度。开发者普遍呼吁 Foundry 团队尽快发布热修复,或至少公开说明问题原因与解决时间表。
行业观察
在 AI 模型本地化部署需求日益增长的今天,各厂商的 SDK 不仅需要提供强大的模型压缩与推理能力,更需要确保底层硬件加速的稳定可用。此次 Foundry Local SDK 的“强制 CPU”事件再次提醒开发者:在跨平台推理引擎的选择上,务必对 Windows 环境下的 GPU 支持进行充分的独立验证,不能单纯依赖官方文档的承诺。对于 Foundry 来说,失去一次用户信任可能只需一个 Bug,而重建信任则需要数倍的努力。
截至本文发稿,我们已尝试联系 Foundry 官方 PR 团队以获取更多信息,截至发布前未获回复。我们将持续关注后续进展。