Foundry Local SDK 强行走 CPU 导致 GPU 没
以前做设计的时候习惯了只要显卡够强就没问题,转行写代码后发现,很多时候硬件在那摆着,软件却在跟你玩“捉迷藏”。最近在 Windows 11 上用 RTX 5070 搞本地 RAG,结果被
下一篇
MCP实战:一个Server给三个Agent用 →
foundry-local-sdk 给整破防了。明明在配置里写死了要用 CUDA,结果它死活不认,直接给我甩了一个 CPUExecutionProvider。最离谱的是,它直接报异常说找不到 CUDA 供应商,明明我环境里 onnxruntime-genai-cuda 都装好了。
具体报错是这个:
System.InvalidOperationException: Cannot load model 'Phi-3.5-mini-instruct-cuda-gpu:2':
it requires the 'CUDAExecutionProvider' execution provider, which is not available.
Available EPs: [CPUExecutionProvider].我尝试过在 Configuration 对象里强行指定,代码这么写的:
config = Configuration(
app_name="my-app",
additional_settings={
"execution_provider": "CUDAExecutionProvider",
"device": "gpu"
}
)结果完全没用。我反复对比后有个比较强的怀疑:因为我装的是 foundry-local-sdk-winml 这个包,这个 WinML 版本可能在底层把运行时给锁死了,导致它根本不去看 additional_settings 里的配置,直接默认走 CPU。
现在陷入了一个死循环:想用 SDK 的便利性,但 SDK 却把我的 5070 变成了摆设。我在纠结是不是得彻底放弃这个 winml 包,直接把模型路径导出来,用 onnxruntime-genai 裸跑实操一遍?或者有没有大佬知道怎么在不绕过 SDK 的情况下,强行把 CUDA 供应商注册进去?