You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用Microsoft.ML.OnnxRuntime GPU时遇System.EntryPointNotFoundException错误

解决System.EntryPointNotFoundException: 找不到OrtSessionOptionsAppendExecutionProvider_DML入口点的问题

问题场景

启用GPU加速时,调用options.AppendExecutionProvider_DML()抛出如下错误:

System.EntryPointNotFoundException: "无法在DLL "onnxruntime" 中找到入口点 "OrtSessionOptionsAppendExecutionProvider_DML"。"
禁用GPU(useGpu=false)时,代码可在CPU上正常运行。

解决方案

  • 匹配ONNX Runtime版本与DML支持
    ONNX Runtime 1.10及以上版本才正式支持DirectML执行提供器。若使用旧版本,直接升级到最新稳定版:

    dotnet add package Microsoft.ML.OnnxRuntime --version <最新稳定版本号>
    
  • 安装DML专用NuGet包
    部分新版本ONNX Runtime将DML支持拆分到独立包中,需替换基础包:

    1. 卸载原有基础包:
      dotnet remove package Microsoft.ML.OnnxRuntime
      
    2. 安装DirectML专用包:
      dotnet add package Microsoft.ML.OnnxRuntime.DirectML
      

    代码中options.AppendExecutionProvider_DML()的调用无需修改。

  • 验证运行时DLL完整性
    检查项目输出目录(如bin/Debug/net6.0)下的onnxruntime.dll是否包含DML相关入口点:

    • 若DLL缺失或版本不对,卸载并重新安装对应NuGet包,确保部署完整。
  • 确认系统与硬件兼容性
    DirectML要求Windows 10 1903及以上版本,且显卡支持DirectX 12:

    • 升级Windows到符合要求的版本
    • 更新显卡驱动至最新版
  • 设置正确的项目平台目标
    ONNX Runtime的DML支持仅提供x64版本,将项目平台目标设置为x64,避免Any CPU模式下的32位/64位不匹配问题。

内容的提问来源于stack exchange,提问作者user26637516

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 04:46:10