官方下载:https://developer.nvidia.com/cuda-downloads
检查是否正确安装kernel headers(否则出现ERROR: Failed to run `/usr/sbin/dkms build -m nvidia。。。)。
# uname -r /**这是Kernel headers 的版本,必须在安装cuda 驱动之前安装完成**/
# yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
错误提示:The driver installation is unable to locate the kernel source
使用命令bash cuda_8.0.61_375.26_linux.run运行程序安装包(删除命令:/usr/local/cuda/bin/uninstall_cuda_9.0.pl)。
如果提示:缺失libGLU.so,libX11.so,libXi.so,libXmu.so,依次安装:
yum install freeglut-devel.x86_64
yum install libX11-devel
yum install libXi-devel.x86_64
yum install libXmu-devel.x86_64
第四步:编译CUDA Toolkit
①执行完安装程序后会在/root目录下生成目录NVIDIA_CUDA-8.0_Samples文件夹
②进入NVIDIA_CUDA-8.0_Samples文件夹,执行make命令进行编译
注意:在这一步有好多的warning警告信息忽略就好,有报错也大都是一些库没有安装,根据提示安装后重新编译即可
第五步:测试CUDA Toolkit是否安装成功
执行命令/root/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release/deviceQuery进行测试是否安装成功。
装了cuda后,可以运行nvidia-smi命令。
设置环境变量:echo 'export PATH=/usr/local/cuda/bin:$PATH' >> /etc/bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> /etc/bashrc
source /etc/bashrc
如果nvcc -V 成功,即安装成功。
GPU查询
(1)第一列 GPU:编号0、1
Fan:GPU的风扇转速,N/A【智能温控,本栏目(对我)不适用,填N/A是用来占位,防止留空】
(2)第二列 Name:型号Tesla K80、Tesla K80
Temp: 温度,单位摄氏度。
(3)第三列 Perf:性能状态,P0~P12,P0表示最大性能,P12表示状态最小性能。
(4)第四列 Persistence-M:持续模式的状态
Pwr:能耗
(5)第五列 Bus-Id: GPU总线,domain:bus:device.function
(6)第六列 Disp.A:Display Active,表示GPU的显示是否初始化。
Memory Usage 显存使用率。
(7)第七列 Volatile GPU-Util 浮动的GPU利用率。
(8)第八列 Uncorr. ECC ECC是“Error Checking and Correcting”的简写,“错误检查和纠正”Compute M是计算模式。
cuDNN安装
官网下载:https://developer.nvidia.com/rdp/cudnn-download
tar -zxf cudnn-7.5-linux-x64-v5.0-ga.tgz
#以5.1版为例
cd cuda
cp include/cudnn.h /usr/local/cuda/include/
cp lib64/* /usr/local/cuda/lib64/
cd /usr/local/cuda/lib64
ln -sf libcudnn.so.5.1.10 libcudnn.so.5
ln -sf libcudnn.so.5 libcudnn.so
ldconfig -v
cudnn sample的下载标签:Download cuDNN v2 (March 17,2015), for CUDA 6.5 and later.
cd samples/1_Utilities/deviceQuery
make
./deviceQuery
执行完 ./deviceQuery 命令,终端输出如下类似信息,有GPU型号、驱动版本和运行版本、计算能力......诸多信息。
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
tar xvf Python-3.6.1.tar.xz
mkdir /usr/local/python3
cd Python-3.6.1
./configure --prefix=/usr/local/python3 --enable-optimizations
make && make install
cd /usr/bin
mv python python.bak
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
python -V
问题:
$ yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
方法:
vi /usr/bin/yum
将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.4"即可(旧的python版本)。
except KeyboardInterrupt, e:
方法:
yum用python作为解释器,因此升级python后(如2.7升级到3.6)会报此错误,只需在第一行,加上原来的版本号,如:vi/usr/bin/yum-config-manager, #!/usr/bin/python2.7,另外还有/usr/libexec/urlgrabber-ext-down。
安装anacoda3
1到官网(https://www.anaconda.com/download/#linux)下载安装包,
如: Anaconda2-4.3.0-Linux-x86_64.sh
2 执行bash Anaconda2-4.3.0-Linux-x86_64.sh
3 执行“回车”,直到出现yes no 选择,输入yes,然后根据提示回车进行安装,询问是否加入环境变量,输入yes,回车,安装完成。打开新终端,测试一下。成功!
如:“Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19)”
opencv 安装
官网下载,如opencv3.4。
cd opencv
mkdir build
cd build
cmake ..
CMAKE_BUILD_TYPE: build的类型,有Release和Debug两种
CMAKE_INSTALL_PREFIX: 指定想要安装OpenCV的文件夹目录,一般就用/usr/local
除此之外,还可以添加上BUILD_DOCS 来build文档 以及 BUILD_EXAMPLES 来build所有的样例
注意:如果上面的命令行无法工作,则把-D后面的空格去掉:
$ cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
//升级了python,但是引得还是2.7版本,暂不知道有啥影响。
make -j 10
make install
如果执行cmake时候出现如下错误信息
FATAL: In-source builds are not allowed.
则应该是在代码根目录下直接执行过cmake,导致根目录下生成了CMakeCache.txt,需要删除CMakeCache.txt再次执行编译即可。
遇到的错误:
undefined reference to `jpeg_default_qtables'
去http://www.ijg.org/下载安装。
- cd jpeg-9
- ./configure
- make libdir=/usr/lib64
- make libdir=/usr/lib64 install
tf安装
据说tf不支持cuda 9.1(因为官方的wheel是在cuda 9.0上编译的~,cudnn要跟cudn的版本匹配),最后的环境是:cuda9.0+cudnn-9.0-v7+python3.6+tf1.7。执行下ldconfig ,如果没有pip,执行:yum install python-pip (没有python-pip包就执行命令 yum -y install epel-release)
执行:pip install --upgrade tensorflow_gpu-1.4.0-cp36-cp36m-manylinux1_x86_64.whl
出现“is not a supported wheel on this platform”,可能是版本有问题。
测试安装成功与否
vi tensorflowTest.py
#tensorflowTest.py
import tensorflow as tf
hello = tf.constant('Hello,TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
a = tf.constant(10)
b = tf.constant(32)
print(sess.run(a + b))
运行 python tensorflowTest.py ,若最终结果与下面两行一致,则恭喜你安装成功!
//TensorFlow.py 运行结果
Hello, TensorFlow!
42
问题
找不到libcudnn库。
找不到glibc2.14
官网地址:http://www.gnu.org/software/libc/
首先, 点击此处下载glibc点击下载, 得到glibc-2.14.tar.gz
使用如下命令解压glibc-2.14.tar.gz
:
当前目录下得到目录glibc-2.14
, 执行$cd glibc-2.14
命令进入目录, 依次执行如下命令编译安装glibc-2.14:
export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
glibc软链
发现升级后跟locale冲突,还未找到办法解决,又回退到2.12。
安装完成后, 建立软链指向glibc-2.14, 执行如下命令:
$ rm -rf /lib64/libc.so.6 // 先删除先前的libc.so.6软链$ ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
注意
删除libc.so.6之后可能导致系统命令不可用的情况, 可使用如下方法解决:
$ LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
如果上述更新失败可使用如下命令还原:
$ LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6 // libc-2.12.so 此项是系统升级前的版本