CentOS7编译TensorFlow 1.12.2 C++库:CUDA 9.1与CUDNN 7.1.3
需积分: 9 195 浏览量
更新于2024-09-08
1
收藏 291KB DOCX 举报
"在CentOS 7环境下编译TensorFlow 1.12.2的C++库,需要配合CUDA 9.1和cuDNN 7.1.3。本教程将指导如何在系统中处理多版本CUDA的共存问题,并进行必要的升级操作。"
在CentOS 7上构建TensorFlow 1.12.2的C++库是一项涉及多个软件组件的任务,特别是对于支持GPU计算的CUDA和cuDNN。首先,我们需要了解TensorFlow与CUDA和cuDNN之间的版本兼容性。根据描述中的信息,TensorFlow 1.12.0支持CUDA 9,而TensorFlow 1.4.0则需要CUDA 8。考虑到显卡驱动版本为396.24,这意味着可以使用CUDA 9系列,因此选择CUDA 9.1。
在开始编译之前,需要确保系统已经满足以下基本条件:
1. 安装了GCC 4.8.5或更高版本,因为这是TensorFlow编译所需的最低版本。
2. 确认当前系统中的CUDA版本为8.0.61,cuDNN版本为6.0.21。但为了构建TensorFlow 1.12.2,我们需要升级到CUDA 9.1和cuDNN 7.1.3。
安装CUDA 9.1:
从NVIDIA官方网站下载适用于CentOS 7的CUDA 9.1安装包,例如cuda_9.1.85_387.26_linux.run。执行安装脚本时,由于系统已有CUDA 8存在,我们不希望替换现有的CUDA版本,因此通常需要以非根用户身份运行,并添加`--no-opengl-libs`选项来避免覆盖OpenGL库。安装命令可能如下:
```bash
sudo sh cuda_9.1.85_387.26_linux.run --no-opengl-libs --override
```
安装cuDNN 7.1.3:
同样,从NVIDIA官方网站下载cuDNN对应的版本,解压缩后将包含的库文件复制到CUDA安装目录。例如:
```bash
sudo cp -P /path/to/downloaded/cudnn/lib64/* /usr/local/cuda-9.1/lib64/
sudo cp -P /path/to/downloaded/cudnn/include/* /usr/local/cuda-9.1/include/
```
配置环境变量:
更新`.bashrc`或`.bash_profile`文件,添加CUDA 9.1和cuDNN的路径:
```bash
echo "export PATH=/usr/local/cuda-9.1/bin:$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
```
编译TensorFlow C++库:
现在系统已准备好编译TensorFlow 1.12.2。首先,从TensorFlow官方仓库克隆源代码,然后按照其文档指示配置和构建:
```bash
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout r1.12
./configure
bazel build -c opt //tensorflow:libtensorflow_cc.so
```
`./configure`步骤中,你需要确保选择正确的CUDA和cuDNN路径,以及相应的GPU支持。
完成上述步骤后,你应该能够在`bazel-bin/tensorflow`目录下找到编译好的`libtensorflow_cc.so`库文件,可以用于你的C++项目。
总结来说,这个过程涉及到在CentOS 7上管理多版本CUDA,升级到兼容TensorFlow 1.12.2的CUDA 9.1和cuDNN 7.1.3,以及编译TensorFlow的C++库。确保每个步骤都正确执行,以避免潜在的版本冲突和依赖问题。
2018-05-23 上传
2018-04-20 上传
2019-04-02 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-12-25 上传
hfxy5200704031010
- 粉丝: 3
- 资源: 21
最新资源
- 3G无线知识入门 4
- 3G无线知识入门 3
- 网上营业厅积分支付接口文档 电信积分接口说明
- 3G无线知识入门 1
- ejb3.0入门经典教程
- php5.ini.doc
- Pro WPF in C Sharp 2008
- ea7 入门教程.0
- Eclipse整合開發環境.pdf
- HP ProLiant DL160 G6服务器
- 中国电信集团公司技术标准_短信息网关协议(SMGP)规范(V3.1).pdf
- SCP1-040156draft.doc
- FTP命令详解及使用技巧.doc
- c语言嵌入式系统编程修炼之道
- Android Anatomy and Physiology.pdf
- HP ProLiant BL490 G6刀片服务器