系统环境
ubuntu 16.04
一. 设定ubuntu的root密码
1. ubuntu默认root密码
在安装ubuntu操作系统时,需要配置用于登录系统的用户名和密码,却没有提示配置root密码。
ubuntu默认的root用户没有固定密码,root密码随机产生,动态改变,即每次开机都有一个新的root密码。
2. 修改root密码
使用提前配置的用户(例如dancen)登录ubuntu系统后,在终端输入以下命令:
sudo passwd
然后输入登录用户dancen的密码,继而输入并确认root用户的密码,即可设定root用户密码,此过程中不需要知晓root用户的默认密码:
sudo passwd
[sudo] password for dancen:
New password:
Retype new password:
passwd: password updated successfully
二. 安装nvidia显卡驱动
1. 禁用开源显卡驱动程序nouveau
Linux可能已经默认安装了第三方开源的驱动程序nouveau,在安装nvidia官方显卡驱动之前,首先需要禁用nouveau。
a. 查看系统是否启用了nouveau显卡驱动
lsmod | grep nouveau
如果有内容输出,说明nouveau已被启用,需要执行后续步骤以将其禁用,否则可以直接安装nvidia驱动。
b. 修改blacklist.conf配置
vi /etc/modprobe.d/blacklist.conf
在文件最后部分插入以下两行内容:
blacklist nouveau
options nouveau modeset=0
c. 更新系统
update-initramfs -u
d. 重启系统
reboot
e. 验证nouveau是否已禁用
lsmod | grep nouveau
如果没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。
2. 卸载已安装的nvidia驱动
如果系统已经安装过特定版本的nvidia驱动,需要先执行卸载操作。
a. 关闭Linux的桌面显示管理器
systemctl stop lightdm
b. 卸载nvidia驱动
方式一. 通过runfile卸载
./NVIDIA-Linux-x86_64-460.91.03.run --uninstall
方式二. 通过反安装脚本卸载
如果/usr/bin目录存在nvidia反安装脚本nvidia-uninstall,直接执行之:
cd /usr/bin
./nvidia-uninstall
方式三. 通过apt卸载
apt-get --purge remove nvidia*
c. 重启系统
reboot
3. 安装nvidia显卡驱动
a. 下载nvidia驱动程序
在下载驱动之前,需要确认GPU型号,以及将要使用的CUDA Toolkit版本等。
查看GPU型号:
lspci | grep -i nvidia00:09.0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 SXM2 32GB] (rev a1)
然后在nvidia驱动下载地址:
https://www.nvidia.com/Download/index.aspx?lang=en-us
根据显卡型号、操作系统版本、CUDA Toolkit版本等信息,找到合适的驱动程序,然后下载之。
驱动程序是一个以.run为后缀的可执行程序,如:
NVIDIA-Linux-x86_64-460.91.03.run
如果要安装特定版本的驱动程序,可自行修改下载链接中的版本号相关内容,例如,假设要修改为下载460.106.00的版本:
https://us.download.nvidia.cn/tesla/460.106.00/NVIDIA-Linux-x86_64-460.106.00.run
b. 驱动安装程序授权
chmod +x NVIDIA-Linux-x86_64-460.91.03.run
c. 执行安装程序
./NVIDIA-Linux-x86_64-460.91.03.run -no-x-check -no-nouveau-check -no-opengl-files
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
安装过程中可能遇到一些问题。
问题一.
The distribution-provided pre-install script failed! Are you sure you want to continue?
选择 continue 继续。
问题二.
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
选择 No 继续。
问题三.
ERROR:Unable to find the kernel source tree for the currently running kernel.
Please make sure you have installed the kernel source files for your kernel and that they are properly configured on Red Hat Linux system, for exzmple ,be sure you have the 'kernel-source' or 'kernel-devel' RPM installed .If you know the correct kernel source files are installed ,you may specify the kernel source path with the '--kernel-source-path' command line option.
即无法为当前运行的内核找到内核源代码树。
解决办法:
1). 查看内核版本
uname -r
显示4.15
2). 下载内核包
打开Ubuntu官方内核库:
https://kernel.ubuntu.com/~kernel-ppa/mainline/
找到Linux Kernel 4.15
根据系统架构下载需要的内核包:
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500_4.15.0-041500.201802011154_all.debwget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500-generic_4.15.0-041500.201802011154_amd64.debwget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-image-4.15.0-041500-generic_4.15.0-041500.201802011154_amd64.deb
3). 安装 Linux Kernel
对上一步骤下载的deb包执行安装操作:
dpkg -i *.deb
4). 更新系统引导
使用如下命令更新 Grub 引导加载程序:
update-grub
如果使用 BURG 引导加载程序,请运行:
update-burg
5). 重新启动系统,然后重启执行驱动安装程序
reboot
问题四.
The CC version check failed.
即内核编译所使用的gcc版本和当前系统中的gcc版本不一致,如果系统中的gcc版本不是太古老的话,可以尝试忽略该错误,看安装程序能够执行成功,如果安装程序无法安装成功,则需要安装匹配的gcc,本文不再赘述。
d. 挂载Nvidia驱动
modprobe nvidia
e. 检查驱动是否安装成功
nvidia-smi
三. 安装CUDA Toolkit
1. 卸载已安装CUDA Toolkit
方式一.
直接到CUDA Toolkit安装目录执行反安装程序即可。CUDA Toolkit安装目录一般为/usr/local/cuda-x.x,反安装程序位于即目录下的bin/cuda-uninstaller。
cd /usr/local/cuda-x.x/bin
./cuda-uninstaller
方式二.
apt-get autoremove nvidia-cuda-toolkit
2. 安装CUDA Toolkit
a. 下载CUDA Toolkit
首先从nvidia cuda官方下载站
https://developer.nvidia.com/cuda-toolkit-archive
根据cuda版本号、系统环境,找到并下载需要的CUDA Toolkit版本,这里官方直接提供了runfile、deb包的下载命令,我们选择runfile的方式来安装cuda。
wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run
b. cuda安装程序授权
chmod +x cuda_11.2.2_460.32.03_linux.run
c. 执行安装程序
./cuda_11.2.2_460.32.03_linux.run
这里需要指出的是,安装程序包括多个模块:
Driver
CDUA Toolkit
CUDA Samples
CUDA Demo Suite
CUDA Documentation
由于我们已经安装了nvidia驱动,因此在安装cuda时需要取消勾选Driver模块,否则安装程序将无法执行成功。
d. 配置环境变量
编辑特定用户目录下的.bashrc文件,如,/root/.bashrc,或者令环境变量对所有用户生效,直接修改/etc/profile:
vi /root/.bashrc
或
vi /etc/profile
在文件末尾添加以下内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64
export PATH=$PATH:/usr/local/cuda-11.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.2
令设置生效:
source ~/.bashrc
或
source /etc/profile
e. 验证安装
nvcc --version
如果命令执行成功,说明CUDA Toolkit安装成功。