(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
操作场景
使用P1型、P2v型、Pi1型弹性云服务器时,需确保云服务器已安装GPU驱动和CUDA工具包,否则无法实现计算加速功能。
- 已创建弹性云服务器。
- 使用公共镜像创建的云服务器,默认已安装GPU驱动和CUDA工具包。
- 使用私有镜像创建云服务器,需检查是否已安装GPU驱动和CUDA工具包,详细操作请参考检查是否已安装GPU驱动和CUDA工具包。
如果使用的镜像中没有安装GPU驱动和CUDA工具包,您可以在云服务器创建成功后,手动安装所需的驱动和工具包。具体操作请参见安装指引。
本节内容主要解决如下问题:
- 检查GPU驱动和CUDA工具包是否安装成功?
- 云服务器是否已安装GPU驱动和CUDA工具包?
- 如何手动安装所需的GPU驱动和CUDA工具包?
安装须知
- 本节内容仅适用于P1型、P2v型、Pi1型弹性云服务器。
安装指引
- 检查弹性云服务器是否已安装GPU驱动和CUDA工具包。具体操作请参见检查是否已安装GPU驱动和CUDA工具包。
- 是,结束。
- 否,执行2。
- 安装GPU驱动和CUDA工具包。
不同操作系统的弹性云服务器,安装方法不同,如表1所示。
检查是否已安装GPU驱动和CUDA工具包
对于已创建弹性云服务器,您可以通过如下操作检查云服务器是否已安装GPU驱动和CUDA工具包。如果创建云服务器时已勾选“自动安装GPU驱动”,您也可以通过如下操作检查所需的GPU驱动、CUDA工具包是否安装成功。
安装GPU驱动和CUDA工具包(Windows)
- 从内源下载Windows弹性云服务器所需的GPU驱动和CUDA工具包。
下载地址:http://mirrors.myhuaweicloud.com/ecs/windows/exe/
请在弹性云服务器中访问此地址。
打开该地址后,能够看到“win2008r2”、“win2012r2”、“win2016”三个版本的文件夹,每个文件夹下包括了“cuda”和“driver”两个文件夹,这两个文件夹中的文件即为不同版本的cuda和driver安装包。
请根据您的弹性云服务器操作系统版本,打开对应的文件夹,并根据实际需要获取对应版本的cuda和driver安装包。
示例:
假设您的弹性云服务器操作系统为Windows 2016,则GPU驱动和CUDA工具包的获取方式为:
- 打开链接http://mirrors.myhuaweicloud.com/ecs/windows/exe/。
请在弹性云服务器中访问此地址。
可以看到三个文件夹:win2008r2、“win2012r2”和“win2016”
- 打开文件夹“win2016”。
可以看到两个文件夹:“cuda”和“driver”
- 根据实际需要,选择所需版本的cuda和driver,例如:
driver:385.08-tesla-desktop-winserver-international.exe
- 打开链接http://mirrors.myhuaweicloud.com/ecs/windows/exe/。
- 安装GPU驱动和CUDA工具包。
安装GPU驱动和CUDA工具包(CentOS 7.x &RHEL 7.x &EulerOS 2.x)
该操作指导适用于如下操作系统的弹性云服务器:
- CentOS 7.x系列
- Red Hat Enterprise Linux 7.x系列
- EulerOS 2.x系列
对于Linux弹性云服务器,建议采用Repo进行安装。
- CentOS 7.x &RHEL 7.x &EulerOS 2.x CUDA repo配置
- (可选)如果是CentOS 7.x、EulerOS 2.x系统的弹性云服务器,需执行以下命令,清理当前系统的repo文件。
- 执行以下命令,新建nvidia-centos7.repo文件。
- 在新建文件nvidia-centos7.repo中添加如下内容:
[ecs-cuda] name=ecs-cuda-$basearch baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/cuda/7/$basearch enabled=1 gpgcheck=0 [ecs-driver] name=ecs-driver-$basearch baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/driver/7/$basearch enabled=1 gpgcheck=0 [ecs-package] name=ecs-package-$basearch baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/package/7/$basearch enabled=1 gpgcheck=0
- 执行以下命令,安装对应版本的repo文件。
yum install http://mirrors.myhuaweicloud.com/epel/epel-release-latest-7.noarch.rpm -y
- 执行以下命令,清理无用的repo文件。
- 执行以下命令,更新epel-7版本的repo文件。
curl -o /etc/yum.repos.d/epel.repo http://mirrors.myhuaweicloud.com/repo/epel-7.repo
- 执行如下命令,更新CentOS系统repo文件。
- CentOS 7.x &RHEL 7.x &EulerOS 2.x CUDA安装
- 执行如下命令,安装与内核版本匹配的kernel-devel。
- (可选)如果是CentOS系统的弹性云服务器,需执行如下命令安装dkms。
- 执行如下命令,查询driver版本。
- 执行如下命令,安装2.c中查询的driver版本repo文件。
yum install -y nvidia-diag-driver-local-repo-rhel7-*.x86_64
- 执行如下命令,安装driver。
- 执行如下命令,查询cuda版本。
yum list | grep cuda | grep rhel7
图1 查询cuda版本 - 安装对应版本的cuda。
yum install -y cuda-repo-rhel*
*表示查询到2.f的cuda版本号,同一个版本有几个文件,就安装几个文件。
- 执行如下命令,安装cuda。
- 执行如下命令,重启弹性云服务器。
安装GPU驱动和CUDA工具包(CentOS 6.x &RHEL 6.x)
该操作指导适用于如下操作系统的弹性云服务器:
- CentOS 6.x系列
- Red Hat Enterprise Linux 6.x系列
对于Linux弹性云服务器,建议采用Repo进行安装。
- CentOS 6.x &RHEL 6.x CUDA repo配置
- (可选)如果是CentOS 6.x系统的弹性云服务器,需执行以下命令,清理当前系统的repo文件。
- 执行如下命令,新建nvidia-centos6.repo文件。
- 在新建文件nvidia-centos6.repo中添加如下内容:
[ecs-cuda] name=ecs-cuda-$basearch baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/cuda/6/$basearch enabled=1 gpgcheck=0 [ecs-driver] name=ecs-driver-$basearch baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/driver/6/$basearch enabled=1 gpgcheck=0 [ecs-package] name=ecs-package-$basearch baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/package/6/$basearch enabled=1 gpgcheck=0
- 执行如下命令,安装对应版本的repo文件。
yum install http://mirrors.myhuaweicloud.com/epel/epel-release-latest-6.noarch.rpm -y
- 执行如下命令,清理无用的repo文件。
- 执行如下命令,更新epel-6版本的repo文件。
curl -o /etc/yum.repos.d/epel.repo http://mirrors.myhuaweicloud.com/repo/epel-6.repo
- 执行如下命令,更新CentOS系统repo文件。
- CentOS 6.x &RHEL 6.x CUDA安装
- 执行如下命令,安装与内核版本匹配的kernel-devel。
- 执行如下命令,查询driver版本。
- 执行如下命令,查询driver版本对应的repo文件版本。图2 查询repo文件版本
- 执行如下命令,安装所需的driver repo版本。
yum install nvidia-diag-driver-local-repo-rhel6-*.x86_64
*表示2.c中查询到的driver repo版本。
- 执行如下命令,安装driver。
- 执行如下命令,查询cuda版本。
yum list | grep cuda | grep rhel6
图3 查询cuda的版本 - 安装对应版本的cuda。
*表示2.f查询到的cuda版本号,同一个版本有几个文件,就安装几个文件。
- 执行如下命令,安装cuda。
- 执行如下命令,重启弹性云服务器。
安装GPU驱动和CUDA工具包(Ubuntu 14.04 &Ubuntu 16.04)
该操作指导适用于如下操作系统的弹性云服务器:
- Ubuntu 14.04
- Ubuntu 16.04
对于Linux弹性云服务器,建议采用Repo进行安装。
- Ubuntu 14.04 &Ubuntu 16.04 repo配置
- 对于Ubuntu 14.04系统的弹性云服务器,执行以下命令进行repo配置。
cp -fp /etc/apt/sources.list /etc/apt/sources.list.back cat > /etc/apt/sources.list <<EOF deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty-security main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty-proposed main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty-security main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty-updates main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty-proposed main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty-backports main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ecs/linux/apt ecs cuda deb http://mirrors.myhuaweicloud.com/ecs/linux/apt ecs driver EOF apt-get update --fix-missing wget -O - http://mirrors.myhuaweicloud.com/ecs/linux/apt/huaweicloud.ubuntu.gpg.key | apt-key add - apt update
- 对于Ubuntu 16.04系统的弹性云服务器,执行以下命令进行repo配置。
cp -fp /etc/apt/sources.list /etc/apt/sources.list.back cat > /etc/apt/sources.list <<EOF deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial-proposed main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial-security main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial-updates main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial-proposed main restricted universe multiverse deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial-backports main restricted universe multiverse deb http://mirrors.myhuaweicloud.com/ecs/linux/apt ecs cuda deb http://mirrors.myhuaweicloud.com/ecs/linux/apt ecs driver EOF apt-get update --fix-missing wget -O - http://mirrors.myhuaweicloud.com/ecs/linux/apt/huaweicloud.ubuntu.gpg.key | apt-key add - apt update
- 对于Ubuntu 14.04系统的弹性云服务器,执行以下命令进行repo配置。
- Ubuntu 14.04 &Ubuntu 16.04 CUDA安装
- 执行如下命令,安装与内核版本匹配的kernel-devel。
apt-get install -y --allow-unauthenticated linux-headers-`uname -r`
- 执行如下命令,安装查询driver版本。
apt-cache search nvidia | grep driver | grep ubuntu
图4 查询驱动版本 - 执行如下命令,安装需求版本的driver repo文件。
apt-get install -y nvidia-diag-driver-local-repo-ubuntu*
*表示2.b查询到的driver版本号,只能安装一个指定的版本。
- 执行如下命令,安装driver。
apt-get update && apt-get install -y --allow-unauthenticated cuda-drivers
- 执行如下命令,查询cuda版本。
apt-cache search cuda | grep ubuntu
图5 cuda版本查询 - 执行如下命令,安装需求版本的cuda repo文件。
apt-get install -y cuda-repo-ubuntu*
*表示2.g查询到的driver版本号,同一个版本有几个文件,就安装几个文件。
- 执行如下命令,安装cuda。
pt-get update && apt-get install -y --allow-unauthenticated cuda
- 执行如下命令,安装与内核版本匹配的kernel-devel。
安装GPU驱动和CUDA工具包(OpenSUSE 42.x)
该操作指导适用于如下操作系统的弹性云服务器:
- OpenSUSE 42.x系列
- 执行以下命令,配置opensuse_source4202系统软件仓库。
mv /etc/zypp/repos.d/* /tmp/ sudo zypper ar -fcg http://mirrors.myhuaweicloud.com/opensuse/distribution/leap/42.2/repo/oss HWCloud:42.2:OSS sudo zypper ar -fcg http://mirrors.myhuaweicloud.com/opensuse/distribution/leap/42.2/repo/non-oss HWCloud:42.3:NON-OSS sudo zypper ar -fcg http://mirrors.myhuaweicloud.com/opensuse/update/leap/42.2/oss HWCloud:42.2:UPDATE-OSS sudo zypper ar -fcg http://mirrors.myhuaweicloud.com/opensuse/update/leap/42.2/non-oss HWCloud:42.2:UPDATE-NON-OSS
- 执行以下命令,配置CUDA repo。
- 执行如下命令,新建HWnvidia-cudo.repo文件。
- 在新建文件HWnvidia-cudo.repo中添加如下内容:
[HWnvidia-cuda] enabled=1 autorefresh=1 baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/zypper/opensuse422/cuda type=rpm-md gpgcheck=0
- 执行如下命令,新建HWnvidia-driver.repo文件。
- 在新建文件HWnvidia-driver.repo中添加如下内容:
[HWnvidia-driver] enabled=1 autorefresh=1 baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/zypper/opensuse422/driver type=rpm-md gpgcheck=0
- 执行以下命令,安装CUDA。
- 执行如下命令,安装kernel-devel。
zypper install -y kernel-default-devel=`uname -r|awk -F'-' '{print $1"-"$2}'`
- 执行如下命令,查询driver版本。
zypper se nvidia | grep driver | grep opensuse
图6 查询driver版本 - 执行如下命令,安装需求版本driver repo。
zypper install -y nvidia-diag-driver-local-repo-opensuse422-*
- 执行如下命令,安装driver。
zypper --gpg-auto-import-keys refresh && zypper install -y cuda-drivers
- 执行如下命令,查询cuda版本。
zypper se cuda | grep opensuse
图7 cuda版本的查询 - 执行如下命令,安装需求版本cuda repo。
zypper --no-gpg-checks install -y cuda-repo-opensuse*
*表示查询到的cuda版本号。
- 执行如下命令,安装cuda。
zypper --gpg-auto-import-keys refresh && zypper install -y cuda
- 执行如下命令,安装kernel-devel。
