因为系统环境变量崩溃,进行重做了系统,全部还原,在本机重新安装了显卡驱动、cuda等,具体系统版本如下。
系统环境:ubuntu18.04
显卡:rtx2080ti
cuda版本:10.2
安装RTX2080ti显卡驱动
1、 ubuntu 18.04默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。
# 首先编辑文件blacklist.confsudo vim /etc/modprobe.d/blacklist.conf# 在文件最后部分插入以下两行内容blacklist nouveauoptions nouveau modeset=0#更新系统sudo update-initramfs -u#重启系统(一定要重启)reboot#验证nouveau是否已禁用,若没有提示任何信息则是已经禁用lsmod | grep nouveau
2、下载安装显卡驱动,在官网找到相应版本的驱动下载即可,/page/home.html,将下载的驱动拷贝到/home目录下
# 下载的2080Ti驱动如下440.82.run
3、在ubuntu按ctrl+alt+f1进入命令行界面,关闭图形界面,卸载原有的驱动
# 这个是关闭图形界面,不执行会出错sudo service lightdm stop# 然后卸载掉原有驱动:sudo apt-get remove nvidia-*
4、给驱动文件赋予权限并进行安装,在安装过程中执行默认选项即可
# 进行赋予权限sudo chmod a+x NVIDIA-Linux-x86_64-396.18.run# 安装sudo ./440.82.run
5、挂在显卡驱动,进行测试,进行重启
# 挂在显卡驱动modprobe nvidia# 检查驱动是否安装成功nvidia-smi# 重启sudo reboot
安装Cuda10.2
1、安装cuda10.2,在弹出的界面输入accept,因为我们已经安装了显卡驱动,所以就不需要在安装显卡驱动了
# 安装sudo ./cuda_10.2.89_440.33.01_linux.run
2、配置环境变量
# 打开bashrc文件sudo gedit ~/.bashrc# 添加三条路径export CUDA_HOME=/usr/local/cudaexport PATH=$PATH:$CUDA_HOME/binexport LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}#让配置生效source ~/.bashrc
3、查看是否安装成功
# 输入nvcc -V# 安装成功nvcc: NVIDIA (R) Cuda compiler driverCopyright (c) - NVIDIA CorporationBuilt on Wed_Oct_23_19:24:38_PDT_Cuda compilation tools, release 10.2, V10.2.89
安装Cudnn
1、从/cudnn下载相应版本的cudnn
2、下载后解压,将cudnn文件拷贝到cuda中的相应目录
#将cuda/include/cudnn.h文件复制到/usr/local/cuda-10.2/include文件夹#将cuda/lib64/下所有文件复制到/usr/local/cuda-10.2/lib64文件夹中cp cuda/include/cudnn.h /usr/local/cuda-10.2/includecp cuda/lib64/* /usr/local/cuda-10.2/lib64# 给予权限sudo chmod a+r /usr/local/cuda/include/cudnn.h sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
3、验证是否安装成功
cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuerysudo makesudo ./deviceQuery
输出如下设备信息表示成功
./deviceQuery Starting...CUDA Device Query (Runtime API) version (CUDART static linking)Detected 2 CUDA Capable device(s)Device 0: "GeForce RTX 2080 SUPER"CUDA Driver Version / Runtime Version10.2 / 10.2CUDA Capability Major/Minor version number: 7.5Total amount of global memory: 7979 MBytes (8366784512 bytes)(48) Multiprocessors, ( 64) CUDA Cores/MP:3072 CUDA CoresGPU Max Clock rate: 1845 MHz (1.85 GHz)Memory Clock rate: 7751 MhzMemory Bus Width:256-bitL2 Cache Size: 4194304 bytesMaximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layersMaximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layersTotal amount of constant memory:65536 bytesTotal amount of shared memory per block: 49152 bytesTotal number of registers available per block: 65536Warp size: 32Maximum number of threads per multiprocessor: 1024Maximum number of threads per block: 1024Max dimension size of a thread block (x,y,z): (1024, 1024, 64)Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)Maximum memory pitch:2147483647 bytesTexture alignment: 512 bytesConcurrent copy and kernel execution:Yes with 3 copy engine(s)Run time limit on kernels: YesIntegrated GPU sharing Host Memory: NoSupport host page-locked memory mapping: YesAlignment requirement for Surfaces: YesDevice has ECC support: DisabledDevice supports Unified Addressing (UVA):YesDevice supports Compute Preemption: YesSupports Cooperative Kernel Launch: YesSupports MultiDevice Co-op Kernel Launch:YesDevice PCI Domain ID / Bus ID / location ID: 0 / 1 / 0Compute Mode:< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >Device 1: "GeForce RTX 2080 SUPER"CUDA Driver Version / Runtime Version10.2 / 10.2CUDA Capability Major/Minor version number: 7.5Total amount of global memory: 7982 MBytes (8370061312 bytes)(48) Multiprocessors, ( 64) CUDA Cores/MP:3072 CUDA CoresGPU Max Clock rate: 1845 MHz (1.85 GHz)Memory Clock rate: 7751 MhzMemory Bus Width:256-bitL2 Cache Size: 4194304 bytesMaximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layersMaximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layersTotal amount of constant memory:65536 bytesTotal amount of shared memory per block: 49152 bytesTotal number of registers available per block: 65536Warp size: 32Maximum number of threads per multiprocessor: 1024Maximum number of threads per block: 1024Max dimension size of a thread block (x,y,z): (1024, 1024, 64)Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)Maximum memory pitch:2147483647 bytesTexture alignment: 512 bytesConcurrent copy and kernel execution:Yes with 3 copy engine(s)Run time limit on kernels: NoIntegrated GPU sharing Host Memory: NoSupport host page-locked memory mapping: YesAlignment requirement for Surfaces: YesDevice has ECC support: DisabledDevice supports Unified Addressing (UVA):YesDevice supports Compute Preemption: YesSupports Cooperative Kernel Launch: YesSupports MultiDevice Co-op Kernel Launch:YesDevice PCI Domain ID / Bus ID / location ID: 0 / 2 / 0Compute Mode:< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >> Peer access from GeForce RTX 2080 SUPER (GPU0) -> GeForce RTX 2080 SUPER (GPU1) : No> Peer access from GeForce RTX 2080 SUPER (GPU1) -> GeForce RTX 2080 SUPER (GPU0) : NodeviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.2, CUDA Runtime Version = 10.2, NumDevs = 2