Python - 深度学习系列10- Ubuntu 搭建Cuda环境 3060ti

说明

  • 水冷的选择: 今天安装的时候听师傅说海魔120漏液他碰到两个case, 整个机器都毁了… 吓得我决定最近买个海盗船…

1 内容

1.1 硬件安装

小机箱 or 大机箱

  • 小机器是在是耗费蛮大,水冷说最多3年就差不多了
  • 大机箱可以用风冷,怎么说也比较安全

1.2 系统安装

点亮后进行系统安装

1.3 ssh连接

直接在机器上操作比较麻烦,因此先切换到远程(假设新机器代号m5),在这一步尽量使用普通用户安装

  • 1 修改root用户密码
  • 2 更换镜像源apt_source_set.sh,参考我的这篇文章
  • 3 安装网络工具,查看ip sudo apt install net-tools(不晓得为啥,我竟然需要重启一下才能安装)。查到的ip地址为192.168.1.75
  • 4 安装sshd(这样m5就提供了ssh登录服务)。
    • 先用whereis sshd查一下,结果应该为sshd:
    • 使用命令安装sudo apt-get install openssh-server , 再查询时
m5@m5-desktop:~$ whereis sshd
sshd: /usr/sbin/sshd /usr/share/man/man8/sshd.8.gz

此时在远端(局域网内)就可以直接ssh登录了
$ ssh m5@192.168.1.75
The authenticity of host '192.168.1.75 (192.168.1.75)' can't be established.
ECDSA key fingerprint is SHA256:27b4bsNPUmQ4wg6Dd71a+FER3+LuTn0+uKrW3YYxjNk.
Are you sure you want to continue connecting (yes/no)? yes
---
按提示输入密码就好了

以下均可以在远端m0上操作。

1.4 远端操作

1.4.1 配置root免密登录

这部分可以参考我的这篇文章
切换至root目录,考入公钥。

cd /root && mkdir .ssh && cd .ssh 

echo "ssh-rsa xxx" >authorized_keys

配置连接时长

#!/bin/bash
echo "PermitRootLogin prohibit-password">>/etc/ssh/sshd_config
echo "MaxAuthTries 6">>/etc/ssh/sshd_config
echo "ClientAliveInterval 60">>/etc/ssh/sshd_config
echo "ClientAliveCountMax 10">>/etc/ssh/sshd_config


# 重启sshd
systemctl restart sshd.service

此时退出后就可以免密登录了

ssh root@192.168.1.75

1.4.2 安装显卡驱动

此部分主要参考我的这篇文章
这次发现了显卡的驱动(估计是在装系统的时候自带的)

┌─root@m5-desktop:~
└─ $ lsmod | grep nouveau
nouveau              1892352  0
mxm_wmi                16384  1 nouveau
ttm                   102400  1 nouveau
drm_kms_helper        180224  1 nouveau
drm                   483328  3 drm_kms_helper,ttm,nouveau
i2c_algo_bit           16384  2 igb,nouveau
wmi                    32768  3 wmi_bmof,mxm_wmi,nouveau
video                  49152  1 nouveau

要先禁用驱动再安装,参考

sudo vim /etc/modprobe.d/blacklist.conf,增加内容

blacklist nouveau
options nouveau modeset=0
#禁用nouveau第三方驱动,之后也不需要改回来

然后重启

sudo update-initramfs -u #刷新内核

成功了,没出什么幺蛾子

┌─root@m5-desktop:~
└─ $ lsmod | grep nouveau
---无输出

使用ubuntu-drivers命令,无输出

┌─root@m5-desktop:~
└─ $ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:06.0/0000:08:00.0 ==
modalias : pci:v00008086d000024FBsv00008086sd00002110bc02sc80i00
vendor   : Intel Corporation
manual_install: True
driver   : backport-iwlwifi-dkms - distro free

参考这篇文章

add-apt-repository ppa:graphics-drivers/ppa
apt-get update
apt-get install nvidia-430 nvidia-settings nvidia-prime

然而没有什么用。可能是因为3060ti太新了?

先找到驱动(真的是有一个版本驱动…),拷到对应文件夹下后执行
在这里插入图片描述

┌─root@m5-desktop:~/downloads
└─ $ ls
NVIDIA-Linux-x86_64-455.45.01.run
# 执行安装
chmod a+x NVIDIA-Linux-x86_64-455.45.01.run
sh ./NVIDIA-Linux-x86_64-455.45.01.run --no-opengl-files

过程报错要安装gcc和make。
gcc ,参考
make,参考

apt-get install ubuntu-make
sudo apt-get install make

手动安装驱动的问题可以参考这篇文章,谜一般的安装
我这里跳过了gcc的版本校验,因为apt默认只能7.5的gcc, 7.4的安装太麻烦了。

简而言之,就是英伟达驱动使用的gcc和你机器上的有着不同的版本。一般来说,如果是同一个gcc的分支,如在这里遇到的7.4.0和7.5.0,使用上应该不会有太大区别。

强行安装后,可以看到驱动安装成功,显示没有进程在使用(因为之前按telinit 3打算打开无显示界面编辑,结果屏幕黑了,还好我可以远程):

nvidia-smi

在这里插入图片描述
重新启动后再执行nvidia-smi,可以看到这时候有输出占用了显卡的显存。
在这里插入图片描述

1.4.3 安装CUDA

理论上驱动越高越好

目前3060ti只有一款驱动,所以试试看之前的CUDA10.0 + CuDNN7.6.5组合是否依然好用。为了避免重新下载,我选择将之前m1已经下好的文件转移到m5上。
因为m1是有线网络,下行速度很快
cuda_10.0.130_410.48_linux.run 100% 1927MB 11.4MB/s 02:48
m5是无线网络,速度特别慢(1MB/S)

在终端使用sudo telinit 3关掉显示后,可以从nvida-smi看到确实生效了
在这里插入图片描述
拷贝完毕后进入相关目录,执行

chmod a+x cuda_10.0.130_410.48_linux.run
./cuda_10.0.130_410.48_linux.run --no-opengl-libs

按着D快速下滑,接受EULA。

选项install nvidia accelerated Graphics Driver,输入n,因为我们已经安装了nvidia的驱动。

在这里插入图片描述
安装过程有缺失包

-----------------
Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: no

Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: yes

Enter Toolkit Location
 [ default is /usr/local/cuda-10.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: yes

Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: yes

Enter CUDA Samples Location
 [ default is /root ]:

Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...
Missing recommended library: libGLU.so
Missing recommended library: libX11.so
Missing recommended library: libXi.so
Missing recommended library: libXmu.so
Missing recommended library: libGL.so

Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-10.0_Samples now...
Finished copying samples.

===========
= Summary =
===========

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-10.0
Samples:  Installed in /root, but missing recommended libraries

Please make sure that
 -   PATH includes /usr/local/cuda-10.0/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-10.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
    sudo <CudaInstaller>.run -silent -driver

Logfile is /tmp/cuda_install_3743.log

暂时忽略几个库(有一说是安装了依赖库再执行一次cuda安装)
最后将cuda加入环境变量vim ~/.bashrc

export PATH="/usr/local/cuda-10.0/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH" 

执行source ~/.bashrc之后查看,有输出就可以了

┌─root@m5-desktop:~/downloads/cuda_file
└─ $ cat /usr/local/cuda/version.txt
CUDA Version 10.0.130

1.4.4 cudnn安装

先把文件拷贝到位置

┌─root@m5-desktop:~/downloads/cudnn_file
└─ $ ls
cudnn-10.0-linux-x64-v7.6.5.32.tgz

依次执行命令

# 1 解压缩 ,这里的安装包需要替换为自己下载的版本
$ tar -xzvf cudnn-10.0-linux-x64-v7.6.5.32.tgz 

# 2 复制到其他位置
$ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
# 3 修改文件权限
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

在这里插入图片描述

然后添加环境变量
$ vim ~/.bashrc
加入:

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

$ source ~/.bashrc使环境设置生效
验证是否安装成功

┌─root@m5-desktop:~/downloads/cudnn_file
└─ $ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"

1.4.5 测试tensorflow

归根到底还是要用来进行计算的

# 1 安装python
apt-get install python3.6
# 2 安装pip3
apt-get install python3-pip
# 3 安装指定的tensorflow
pip3 install -i https://pypi.douban.com/simple/ tensorflow_gpu==1.14

打开终端并执行计算python3

import tensorflow as tf
hello=tf.constant('hello,world')
sess=tf.Session()
print(sess.run(hello))

总算结束了
在这里插入图片描述

关于3060TI:
在这里插入图片描述
之后会和以前的老卡比比效果
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值