ubuntu服务器配置(tensorflow+cuda+cudnn+显卡驱动)

服务器

我们组有两台服务器一直在某个小房间里吃灰,光靠工作站里的两块1080Ti算力确实不够。某天和IT一起把线接好了可以启动了,但是一看开发环境还是两年多前的,各种软件版本都比较旧了。
GPU
两块Tesla P100在里面积了不少灰,曾经想把他拆下来装在台式机上后来发现台式机电源不是全模组的根本没那个供电的接口,还是放回去吧。

GPU Compute Capability
Tesla P100 6.0
GeForce GTX 1080 Ti 6.1

Retrieved from https://developer.nvidia.com/cuda-gpus

三四万一张的P100计算能力怎么还没有1080Ti好使呢?这个计算能力应该只是在深度学习领域。Tesla系列的专业显卡相比Geforce显卡拥有更高的计算精度,对于航空航天、药物研发等领域提供双精度(FP64)进行更加精准的计算。Tesla的显存颗粒更贵,支持高精度计算不会在读写存储时出现误差。
建议立刻更新到Quadro RTX 8000或者Tesla T4(没funding)

环境

显卡驱动

  1. 禁用nouveau驱动
    Ubuntu系统集成的显卡驱动程序是nouveau,我们需要先将nouveau从linux内核卸载掉才能安装NVIDIA官方驱动。我们的服务器是纯命令行,直接执行最后一步即可。
    (1) 修改blacklist.conf 文件属性blacklist.conf
    查看属性
    • ll /etc/modprobe.d/blacklist.conf
    修改属性
    • sudo chmod 666 /etc/modprobe.d/blacklist.conf
    用vi编辑器打开
    • sudo vi /etc/modprobe.d/blacklist.conf
    • 在文件末尾添加如下几行:
    blacklist vga16fb
    blacklist nouveau
    blacklist rivafb
    blacklist rivatv
    blacklist nvidiafb
    (2)修改并保存文件后,记得把文件属性复原:
    • sudo chmod 644 /etc/modprobe.d/blacklist.conf
    更新一下内核
    • sudo update-initramfs -u
    修改后需要重启系统
    • reboot (重启)
    重启系统确认nouveau是否已经被屏蔽掉,使用lsmod命令查看,lsmod命令用于显示已经加载到内核中的模块的状态信息
    • lsmod | grep nouveau
    若已屏蔽没有任何信息
  2. 手动安装驱动
    提前载nvidia官网上下好了对应版本的驱动,直接用jupyter notebook传到服务器上就可以。
    • 进入nvidia官网 https://www.geforce.cn/drivers
    下载对应显卡的驱动程序,下载后的文件格式为run。
    • 删除原有的NVIDIA驱动程序(若没有安装忽略)
    • sudo apt-get remove –purge nvidia*
    • 进入命令行桌面
    给驱动文件增加可执行权限
    • sudo chmod a+x NVIDIA-Linux-x86_64-418.74.run(cd到文件所在文件夹。)
    安装
    • sudo sh ./NVIDIA-Linux-x86_64-418.74.run.run –no-opengl-files
  3. 检查
    输入nvidia-smi即可检查驱动是否安装成功。
    GPU

安装CUDA

  1. 进入官网下载对应版本(https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal)
    2.运行指令需要cd到包含该文件的文件夹目录下
    根据官网提示指令安装即可
    • sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.168-418.67_1.0-1_amd64.deb
    • sudo apt-key add /var/cuda-repo-ubuntu1804-10-1-local-10.1.168/7fa2af80.pub
    • sudo apt-get update
    • sudo apt-get install cuda

安装cuDnn

  1. 进入官网注册并下载对应的cudnn版本。(https://developer.nvidia.com/rdp/cudnn-download)
  2. 下载完成后解压文件
    tar -zxvf cudnn-10.1-linux-x64-v7.5.1.10.tgz
  3. 解压完成将相应的文件拷贝到对应的CUDA目录下即可(要cd到含cudnn文件的目录下)
    • sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
    • sudo cp cuda/lib64/libcudnn /usr/local/cuda/lib64/
    • sudo chmod a+r /usr/local/cuda/include/cudnn.h
    • sudo chmod a+r /usr/local/cuda/lib64/libcudnn
  4. 编辑环境变量
    • sudo gedit ~/.bashrc
    将cuda的环境变量加到打开的文件最后
    • export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64”
    • export CUDA_HOME=/usr/local/cuda
    • export PATH=“CUDAHOME/bin:PATH”
    保存后,终端输入
    • source ~/.bashrc