首页  / onnxruntime_providers_shared.dll
onnxruntime_providers_shared.dll
运行环境:windows11/windows10
更新时间:2026-08-26
软件分类:系统文件
软件大小:52 KB
软件语言:简体中文
软件类型:国产软件
软件授权:免费软件
软件版本:1.23.25.1022
选择系统
windows11
windows10
选择版本
{{item.label}}
暂无版本
选择位数
64位
选择子版本
立即下载

onnxruntime_providers_shared.dll 核心功能与缺失影响

在 Windows 上部署 ONNX Runtime 时,onnxruntime_providers_shared.dll 是经常被忽略却非常关键的共享组件。ONNX Runtime 本身提供跨平台推理能力,而 CUDA、TensorRT、DirectML、OpenVINO、ROCm 等硬件加速能力通过 Execution Provider 执行提供程序接入。该 DLL 就是运行时与这些 Provider 之间的公共桥梁,负责把 Provider 所需的通用接口、注册逻辑和资源管理能力集中起来,供多个 Provider 动态链接。

核心功能

  • Provider 接口桥接:为 ONNX Runtime 与各执行提供程序提供稳定的 ABI 和导出接口,封装 Provider 注册、创建、销毁、能力查询、设备枚举等公共操作。
  • 执行提供程序加载与注册:onnxruntime.dll 在初始化 InferenceSession 时,会依据配置加载对应 Provider。shared 库提供统一入口,使 CUDA、TensorRT、DirectML 等 Provider 能被识别并挂接到会话中。
  • 共享资源管理:包括内存分配器、设备内存信息、拷贝辅助、会话选项、日志与错误处理等。多个 Provider 复用这些逻辑,减少重复实现并降低版本偏差。
  • 依赖分发与版本一致性:onnxruntime_providers_cuda.dll、onnxruntime_providers_tensorrt.dll、onnxruntime_providers_dml.dll 等通常都会依赖该共享库,确保它们与同版本 ONNX Runtime 协同工作。

缺少 DLL 的可能影响

  • 启动或初始化失败:程序创建 InferenceSession 时可能抛出 DllNotFoundException、无法加载 DLL 或找不到指定模块,导致推理流程在初始化阶段中断。
  • 加速 Provider 不可用:CUDA、TensorRT、DirectML 等 Provider 因缺少共享依赖而加载失败,GPU 或 NPU 加速无法启用。
  • 回退 CPU 或崩溃:若运行时允许回退,可能退到 CPU EP,速度明显下降;若强制使用 GPU Provider,则进程可能直接崩溃或返回错误码。
  • 依赖链断裂:各 Provider DLL 依赖该 shared 库,缺失后即使 onnxruntime.dll 存在,也无法完成 Provider 动态链接。
  • 常见触发场景:部署时只复制了 onnxruntime.dll;PATH 未包含 DLL 目录;安装包版本混用;32 位与 64 位不匹配;VC++ 运行库缺失。

处理时应从同一 ONNX Runtime 发行包中复制 onnxruntime_providers_shared.dll 和对应 Provider DLL,放到应用程序同目录或加入 PATH,并确保版本、架构与目标环境一致。