驱动
驱动与CUDA兼容列表
1.1 安装依赖
# Ctrl + Alt + T 启动终端,逐行操作
sudo apt-get update #更新软件列表
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
1.2 禁用nouveau通用驱动
(1).首先输入以下:
sudo gedit /etc/modprobe.d/blacklist.conf
(2).在打开的blacklist.conf最后面添加如下两行后,保存文本并关闭:
blacklist nouveau
options nouveau modeset=0
(3).更新配置:
sudo update-initramfs –u
(4).输入以下指令,如没有任何输出则屏蔽成功:
lsmod | grep nouveau
屏蔽完成
1.3.安装显卡驱动
注意:无须另外下载lightdm,用自带的gdm3即可
(1).进入全屏黑色的非图形界面(按Ctrl + Alt + F1~F6其中一个 分别对应进入tty1~tty6)
(2).输入用户名和密码后进行指令操作。
(3).关闭图形界面:
sudo service gdm3 stop
(4).卸载旧版本nvidia驱动(第一次装ubuntu应该是没有旧驱动)
sudo apt-get remove nvidia*
(5).安装,按顺序输入:
# 加入官方ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
# 查看本机适用的版本
ubuntu-drivers devices
# xxx替换为上一步显示的合适的驱动版本。我的是470
sudo apt-get install nvidia-driver-xxx
(6).打开图形界面:
sudo service gdm3 start
(7).查看安装好的驱动:
nvidia-smi
如果显示不出显卡驱动信息,则重启电脑:
reboot
安装 CUDA 11.1
cudatookit 下载地址: https://developer.nvidia.com/cuda-toolkit-archive
# 选择11.1.1或11.1.0
# 依次点击:Linux/x86_64/Ubuntu/20.04/runfile(local)
2.1.安装一些依赖库
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
2.2. cuda11.1下载和安装
(1).执行cudatookit页面的下载和安装脚本指令:
# 如果 wget有网络问题则手动下载.run包
sudo sh cuda_11.1.1_455.32.00_linux.run
执行指令后会出现安装界面:
# 1.因为已经安装过Nvidia显卡驱动,此处选择Continue :
# 2.按 Eneter 键取消 Driver和对应的版本号 选项,然后方向键选择 Install 进行安装。
(2).配置环境变量:
sudo vim ~/.bashrc
# 在文件末尾复制进下面三条并保存退出:
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
# 更新
source ~/.bashrc
(3) 验证
nvcc -V
配置 cuDNN 8.1.1
下载地址为: https://developer.nvidia.com/rdp/cudnn-archive
注意:cuDNN的下载需要注册Nvidia账号
选择 cuDNN v8.1.1(只要符合cuda11.1的都可)
选择: cuDNN Library for Linux (x86_64)
对下载好的文件执行以下命令,会得到一个名为 cuda 的文件夹:
tar -zxvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
然后顺序执行:
cp cuda/lib64/* /usr/local/cuda-11.0/lib64/
cp cuda/include/* /usr/local/cuda-11.0/include/
然后执行以下指令查看配置的cuDNN
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
显示以下信息则表示成功:
tensorrt安装
TensorRT8下载网址 https://developer.nvidia.com/nvidia-tensorrt-8x-download
TensorRT7下载网址https://developer.nvidia.com/nvidia-tensorrt-7x-download
我的CUDA版本是11.1,但是我要选择TensorRT7.2.3.4版本。在网页中找到对应版本;
TensorRT-7.2.3.4.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.1.tar.gz
经验证同样适应ubuntu20.04.
cd ~/Downloads
sudo tar -xzvf TensorRT-8.0.0.3.Linux.x86_64-gnu.cuda-11.3.cudnn8.2.tar.gz -C /usr/local/
配置环境变量
vim ~/.bashrc
在.bashrc文件最后一行增加路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-7.2.3.4/lib
配置生效
source ~/.bashrc
编译TensorRT的示例,会在bin路径下生成一个针对MINIST数据集的sample_mnist可执行文件
cd /usr/local/TensorRT-7.2.3.4/samples/sampleMNIST
sudo make
cd../../bin/
./bin/sample_mnist -d data/mnist/ --fp16
Eigen3库
sudo apt-get install libeigen3-dev
cd /usr/include/eigen3
sudo cp Eigen/ .. -R
cd /usr/include/eigen3
vi myeigen.c
复制如下代码:
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
using namespace Eigen::internal;
using namespace Eigen::Architecture;
using namespace std;
int main()
{
cout<<"*******************1D-object****************"<<endl;
Vector4d v1;
v1<< 1,2,3,4;
cout<<"v1=\n"<<v1<<endl;
VectorXd v2(3);
v2<<1,2,3;
cout<<"v2=\n"<<v2<<endl;
Array4i v3;
v3<<1,2,3,4;
cout<<"v3=\n"<<v3<<endl;
ArrayXf v4(3);
v4<<1,2,3;
cout<<"v4=\n"<<v4<<endl;
}
编译 g++ myeigen.c , 生成a.out
运行 ./a.out, 打印如下说明安装成功。
参考资料: