当前位置: 首页 > news >正文

Windows C++编译 Paddle Inference 3.5.0 GPU 版本完整指南

Windows 编译 Paddle Inference 3.5.0 GPU 版本完整指南

本文档基于CUDA 12.0 + cuDNN 8.9.7 + Visual Studio 2019 + CMake 4.3环境,记录了从零开始编译 PaddlePaddle 3.5.0 C++ GPU 推理库的完整过程,包含了编译过程中遇到的所有问题及对应的解决方案

📋 目录

  1. 环境准备
  2. 下载源码与安装依赖
  3. CMake GUI 配置
  4. 源码修改(核心步骤)
  5. 编译与调试
  6. 最终链接优化
  7. 获取编译产物
  8. 测试验证
  9. 常见问题速查表

⚠️ 重要提示

  • 必须严格按照本文档顺序操作,跳过任何步骤都可能导致编译失败。
  • 所有路径不能包含中文或空格
  • 整个编译过程耗时1-3 小时,请耐心等待。
  • 源码修改是编译成功的关键,切勿跳过第 4 节。

1. 环境准备

1.1 安装 Visual Studio 2019

项目要求
版本Visual Studio 2019(Community/Professional/Enterprise 均可)
工作负载✅ 使用 C++ 的桌面开发 ✅ 通用 Windows 平台开发
语言包必须勾选“英语”,否则可能因编码问题导致编译错误

⚠️关键安装顺序必须为:先装 VS 2019,再装 CUDA,这样 CUDA 才能正确集成到 VS 中。

1.2 安装 CMake

项目要求
版本3.17 或更高版本
安装选项✅ 勾选“Add CMake to the system PATH for all users”

1.3 安装 Python

项目要求
版本Python 3.10或更高版本(64位)
安装选项✅ 勾选“Add Python to PATH”

⚠️关键:PaddlePaddle 3.5.0要求 Python ≥ 3.10。Python 3.9 会导致 CMake 配置失败。

1.4 安装 CUDA 12.0

项目要求
版本CUDA 12.0
下载地址NVIDIA CUDA 下载页
安装后路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0

验证:命令行运行nvcc --version,确认显示 CUDA 12.0。

1.5 安装 cuDNN 8.9.7

项目要求
版本cuDNN 8.9.7(对应 CUDA 12.0)
下载地址NVIDIA cuDNN 下载页(需注册登录)
安装方法将解压后的binincludelib三个文件夹合并到 CUDA 安装目录下

验证:检查C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include\cudnn_version.h是否存在。

1.6 安装 TensorRT(可选)

如果需要在推理中使用 TensorRT 加速,可以安装 TensorRT 8.6.1.6。建议先关闭WITH_TENSORRT完成基础编译,后续再单独处理。

1.7 安装 Git

从 Git 官网 下载并安装,保持默认选项即可。

2. 下载源码与安装依赖

2.1 打开正确的命令行

在开始菜单中找到“x64 Native Tools Command Prompt for VS 2019”右键 → 以管理员身份运行

⚠️关键所有后续命令都必须在这个终端里执行,包括启动cmake-gui

2.2 克隆 PaddlePaddle 源码

mkdirD:\workspace&&cd/d D:\workspacegitclone https://github.com/PaddlePaddle/Paddle.gitcdPaddle

2.3 切换到 3.5.0 分支

gitcheckout release/3.5.0

2.4 安装 Python 依赖

# 确认 Python 版本 >= 3.10python--version# 安装编译所需依赖pipinstallnumpy protobuf wheel ninja pyyaml jinja2 pybind11-stubgen

💡 如果网络较慢,可使用国内镜像:

pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple numpy protobuf wheel ninja pyyaml jinja2

3. CMake GUI 配置

3.1 启动 CMake GUI

VS 2019 的命令行中输入:

cmake-gui

⚠️必须在 VS 2019 命令行中启动cmake-gui,以确保 CMake 正确继承 VS 和 x64 的环境变量。

3.2 设置源码和构建目录

项目
Where is the source codeD:/workspace/Paddle
Where to build the binariesD:/workspace/Paddle/build

3.3 首次 Configure

  1. 点击Configure
  2. Generator:选择Visual Studio 16 2019
  3. Platform:选择x64
  4. 点击Finish

此时界面可能出现红色错误,属于正常现象

3.4 配置关键编译选项

在 CMake GUI 中搜索并设置以下选项:

http://www.cnnetsun.cn/news/3173886.html

相关文章:

  • Win10 家庭版启用组策略 gpedit.msc:3步解决本地安全策略缺失问题
  • SQL Server 2022 嵌套查询实战:3类子查询与连接查询性能对比分析
  • MySQL 8.0 连接查询深度解析:5种JOIN执行过程与适用场景图解
  • OTB-2015 与 VOT2023 数据集对比:从 100 个序列到 60 个挑战的 10 年演进分析
  • AI 时代,学会R之后,很多人后悔了
  • Unity AssetBundle 2022.3 内存泄漏排查:3种 Unload 误用场景与 Profiler 取证
  • PointNet++ 与 PointNet 性能对比:3类任务、5个指标下的模型效率与精度分析
  • 构建本地化翻译知识库:使用 Llama 3.1 8B 微调专属教材翻译模型的 5 个步骤
  • Linux Audio 驱动调试:ACDB 文件加载失败 4 种常见原因与排查方法
  • StatefulSet vs Deployment 深度对比:5个关键差异与3个典型选型场景
  • Linux 压缩工具性能对比:tar/gzip/bzip2/xz 在 10GB 文件下的耗时与压缩率
  • Adam 优化器超参数 β1/β2 调优实战:从理论到 5 组实验对比
  • 呼市短视频陪跑服务哪家靠谱?中小企业轻量化 GEO + 短视频方案
  • macOS crontab 与 launchctl 对比:5个关键差异与3个典型场景选择
  • 反向传播 3 大常见问题:梯度消失、爆炸与 ReLU 死区排查
  • ThinkPHP、Log4j2、Spring框架漏洞深度复现与原理剖析实战指南
  • ORB-SLAM2 与 LSD-SLAM 对比:3类场景下前端跟踪算法性能实测分析
  • CHKDSK 与 found.000 深度解析:从文件系统原理到 .chk 文件手动修复
  • Certutil 与 CertMgr.exe:Windows 证书命令行管理的 5 种高效场景
  • 云运维学习笔记——第四周(shell编程)
  • 呼和浩特定制网站还是模板建站?适配 GEO 优化的官网选型攻略
  • Transformer 2017 原理解析:从 RNN 瓶颈到多头注意力 3 大核心优势
  • Dify 从入门到精通:低代码 AI 应用开发平台实战指南
  • Linux打印驱动终极解决方案:foo2zjs让50+打印机品牌在Linux上完美工作
  • 企业微信 JS-SDK 2.4.0 升级实战:从 wx.config 到 ww.register 的 3 步迁移
  • 微信/百度/阿里云OCR API 横向评测:驾驶证识别准确率与成本分析
  • flask之http请求方法
  • Linux 文件 I/O 深度对比:系统调用与 C 库函数性能实测(附 2 种备份代码)
  • Oracle 11g 服务端安装避坑:Windows 10/11 环境 3 个关键配置修改
  • 蒙特卡洛强化学习 3 大核心实现:首次访问 vs 每次访问 vs 增量更新