RTX5060TI 安装C++版本的onnxruntime(GPU版本)
优先方案 — 下载并使用官方 预编译 C++ GPU 二进制包(最快)
适用场景:ONNX Runtime 官方已有与你的环境(CUDA 12.x + cuDNN 9.x)兼容的预编译 Linux GPU 包(通常是
onnxruntime-linux-x64-gpu-<version>.tgz)。ONNX Runtime 的发行页会列出这些二进制。GitHub+1
步骤:
-
到 ONNX Runtime Releases 页面选择合适版本(例如 v1.22 / v1.23 等,确保 release notes 写明“CUDA 12.x / cuDNN 9.x”支持):
-
Releases(GitHub):https://github.com/microsoft/onnxruntime/releases 。在 Assets 找
onnxruntime-linux-x64-gpu-<ver>.tgz(或类似名称)并下载。GitHub
-
-
直接在服务器上下载与解压(以假想版本
1.23.1为示例 — 请以你在 Releases 里看到的实际文件名为准):
# 在 ~/downloads 中下载(把 <VERSION> 和 URL 换成实际值)
cd ~/downloads
wget https://github.com/microsoft/onnxruntime/releases/download/v<VERSION>/onnxruntime-linux-x64-gpu-<VERSION>.tgztar -xzf onnxruntime-linux-x64-gpu-<VERSION>.tgz
# 解压后通常包含: include/ lib/ bin/ share/
3.安装
-
系统安装(把库和头文件复制到
/usr/local): -
sudo cp -r onnxruntime-linux-x64-gpu-<VERSION>/include /usr/local/include/onnxruntime sudo cp -r onnxruntime-linux-x64-gpu-<VERSION>/lib/* /usr/local/lib/ sudo ldconfig4.验证
-
检查文件安装情况
# 检查头文件是否存在
ls -la /usr/local/include/onnxruntime/# 检查库文件是否存在
ls -la /usr/local/lib/ | grep onnx# 检查库是否被系统识别
ldconfig -p | grep onnx
-
简单的C++验证程序
创建一个测试文件 test_onnx.cpp:
#include <iostream>
#include <onnxruntime_cxx_api.h>int main() {try {// 创建 ONNX Runtime 环境Ort::Env env(ORT_LOGGING_LEVEL_WARNING, "test");// 打印版本信息std::cout << "ONNX Runtime version: " << OrtGetApiBase()->GetVersionString() << std::endl;// 检查可用的执行提供器Ort::SessionOptions session_options;// 尝试获取 CUDA 提供器(如果是 GPU 版本)std::vector<std::string> providers = Ort::GetAvailableProviders();std::cout << "Available providers:" << std::endl;for (const auto& provider : providers) {std::cout << " - " << provider << std::endl;}std::cout << "ONNX Runtime installation verified successfully!" << std::endl;return 0;} catch (const Ort::Exception& e) {std::cout << "ONNX Runtime error: " << e.what() << std::endl;return 1;} catch (const std::exception& e) {std::cout << "Error: " << e.what() << std::endl;return 1;}
}
-
编译和运行测试
# 编译测试程序
# 更完整的编译命令,包含更多依赖
g++ -std=c++17 -I/usr/local/include/onnxruntime \test_onnx.cpp -L/usr/local/lib \-lonnxruntime \-lonnxruntime_providers_shared \-lpthread -ldl -lm -lstdc++ \-Wl,-rpath,/usr/local/lib \-o test_onnx# 运行测试
./test_onnx# 输出内容如下:
ONNX Runtime version: 1.23.1
Available providers:- TensorrtExecutionProvider- CUDAExecutionProvider- CPUExecutionProvider
ONNX Runtime installation verified successfully!
