上云无忧 > 文档中心 > 百度智能云GPU云服务器Tesla驱动及CUDA11.1安装
GPU云服务器
百度智能云GPU云服务器Tesla驱动及CUDA11.1安装

文档简介:
安装前准备工作 确认GPU型号和操作系统版本,本示例中GPU型号为V100,操作系统为Centos 7.5.1804 准备GPU驱动和CUDA 11.1软件包 在nvidia官网进行驱动包下载 GPU驱动下载链接:https://www.nvidia.cn/Download/index.aspx?lang=cn linux系统均选择 Linux 64-bit CUDA Toolkit选择最新版本
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

安装前准备工作

  1. 确认GPU型号和操作系统版本,本示例中GPU型号为V100,操作系统为Centos 7.5.1804
  2. 准备GPU驱动和CUDA 11.1软件包

在nvidia官网进行驱动包下载

  1. GPU驱动下载链接:https://www.nvidia.cn/Download/index.aspx?lang=cn

linux系统均选择 Linux 64-bit

CUDA Toolkit选择最新版本

  1. CUDA下载链接:

https://developer.nvidia.com/cuda-downloads

老版本的CUDA下载链接:

https://developer.nvidia.com/cuda-toolkit-archive

本示例中使用CUDA 11.1.1。

检查服务器GPU识别情况

安装GPU驱动之前需要在操作系统下查看GPU卡是否能够完全识别,如不能识别需要进行重新插拔、对调测试等步骤进行硬件排查。

注:要确保可以查看到所有的GPU

lspci | grep -i nvidia

  1. 老版本软件包卸载
  1. 若安装过其他版本的GPU驱动或CUDA,请先卸载。

GPU驱动卸载方法:

#/usr/bin/nvidia-uninstall

CUDA卸载方法:

#/usr/local/cuda/bin/cuda-uninstaller

或(老版本卸载方法)

#/usr/local/cuda/bin/uninstall_cuda_X.Y.pl

  1. 安装gcc、g++编译器

GPU驱动安装时需要gcc编译器。

cuda安装samples测试程序进行make时需要g++,但安装cuda软件包时不需要。

#检查版本

gcc -v

g++ -v

#软件包安装

#yum install gcc

#yum install gcc-c++

  1. 禁用系统自带的nouveau模块

检查nouveau模块是否加载,已加载则先禁用

#lsmod | grep nouveau

#没有blacklist-nouveau.conf文件则创建

#vim /usr/lib/modprobe.d/blacklist-nouveau.conf blacklist nouveau

options nouveau modeset=0

执行如下命令使内核生效(需要重启服务器后才可真正禁用nouveau)

#dracut -force

重启操作系统

  1. 修改系统运行级别为文本模式

GPU驱动安装必须在文本模式下进行

#systemctl set-default multi-user.target

  1. 重启系统,然后检查禁用nouveau模块配置与文本模式是否生效。

GPU驱动安装

  1. root用户下进行GPU驱动

#chmod +x NVIDIA-Linux-x86_64-450.80.02.run

#./NVIDIA-Linux-x86_64-450.80.02.run --no-opengl-files --ui=none --no-questions --accept-license

  1. 配置GPU驱动内存常驻模式

GPU驱动模式设置为常驻内存:

#nvidia-persistenced

设置开机自启动

vim /etc/rc.d/rc.local

在文件中添加一行

nvidia-persistenced

赋予/etc/rc.d/rc.local文件可执行权限

#chmod +x /etc/rc.d/rc.local

#若无/etc/rc.d/rc.local,也可修改

vim /etc/rc.local

chmod +x /etc/rc.local

  1. nvidia-smi

安装完GPU驱动后,可以使用nvidia-smi命令进行GPU状态查看及相关配置。

CUDA安装

  1. 安装CUDA

安装CUDA时需注意,如果之前安装过GPU驱动,安装CUDA时就不要再选择GPU驱动安装了。

chmod +x cuda_11.1.1_455.32.00_linux.run

./cuda_11.1.1_455.32.00_linux.run --no-opengl-libs

新版本CUDA安装界面:

注意Driver选项,表示是否安装GPU驱动,如果之前已经安装了GPU驱动,这里不要再勾选。

安装完成,如果安装失败,查看上述提示日志信息。

  1. 配置环境变量

添加到/etc/profile文件中,对所有用户生效

#vim /etc/profile

export PATH=/usr/local/cuda/bin:$PATH

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

#source /etc/profile

测试cuda安装是否正确,环境变量是否识别成功

#nvcc -V

CUDA samples程序测试

  1. BandwidthTest

BandwidthTest测试GPU卡与主机server、GPU与GPU卡之间的显存带宽,测试结果中Host to Device Bandwidth和Device to Host Bandwidth分别为主机server至GPU卡和GPU卡至主机server的显存带宽,Device to Device Bandwidth测试的是GPU卡之间的显存带宽。

编译、测试

#cd /usr/local/cuda/samples/1_Utilities/bandwidthTest/

#make

#./bandwidthTest

测试结果参考

Host to Device Bandwidth和Device to Host Bandwidth两项数值在6.6GB/s-7.1GB/s之间

Device to Device Bandwidth测试显存带宽,该值根据GPU显存硬件配置而异,下表列出个GPU理论显存带宽,实测值在理论值70%以上即认定状态正常。

GPU型号

显存带宽理论值

P100-PCIE-12GB

548GB/s

P100-PCIE-16GB/P100-SXM2-16GB

732GB/s

P40

346GB/s

P4

192GB/s

V100-PCIE/SXM2全系列

900GB/s

  1. P2pBandwidthLatencyTest

P2pBandwidthLatencyTest测试结果为GPU卡之间的带宽,在进行带宽取值时,一般取enable对应的值即矩阵值=1时对应的结果。举例说明如下:

D\D对应的每行、每列表示GPU0、GPU1、GPU2。则GPU0与GPU1是P2P的,即代表为1,GPU0与GPU2不是P2P的,即代表为0。

编译、测试

#cd /usr/local/cuda/samples/1_Utilities/p2pBandwidthLatencyTest/

#make

#./p2pBandwidthLatencyTest

输出关注部分(以机器实际测试结果为准,下图为示意图。数据分析及合格标准见下方表格)

以Bidirectional P2P=Enabled的带宽数据和P2P=Enabled的延迟数据为准

分别查看互联拓扑、双向带宽、延迟时间。

测试结果参考:

互联矩阵中,有1标记即表示GPU间有P2P访问支持功能,0即无

根据GPU硬件版本不同,带宽和延迟存在差异,按照GPU型号数据总结如下:

GPU型号(带宽实测均值)

矩阵值1

矩阵值0

P100-SXM2(NVLINK1.0)

35-38GB/s

17-20GB/s

PCIE GPU

22-26GB/s

17-20GB/s

V100-SXM2(NVLINK2.0)

90-96GB/s和45-48GB/s

15-20GB/s

GPU型号(延迟实测均值)

矩阵值1

矩阵值0

P100-SXM2(NVLINK1.0)

≤10us

≤20us

PCIE GPU

≤10us

≤20us

V100-SXM2(NVLINK2.0)

≤10us

≤20us

  1. BatchCuBlas

BatchCuBlas为GPU浮点运算能力测试、加压。测试包括sgemm(测试单精度浮点计算能力)和dgemm(双精度)两部分,关注GFLOPS测试值。测试值达到理论值90%以上认定状态正常。

编译、测试

在测试命令中m、n、k值可调整,一般GPU缓存大小16G时可选8192,是个经验值。32G的测试如果8192可以测试出来正常数值也可以不改。

在测试命令中,使用--device=1参数指定测试ID号为1的GPU卡,默认测试ID号为0的GPU卡。

#cd /usr/local/cuda/samples/7_CUDALibraries/batchCUBLAS/

#make

#./batchCUBLAS -m8192 -n8192 -k8192 ##默认测试ID号为0的GPU卡

#./batchCUBLAS -m8192 -n8192 -k8192 --device=1 ##指定测试ID号为1的GPU卡

测试结果中,我们只关注Running N=10 with streams部分,分为单精度和双精度测试。

相似文档
  • NVIDIA 深度学习开发卡应该使用哪种驱动? 请在Nvidia官网按照下图的选项进行驱动下载: GPU服务器显卡型号有哪些? 关于GPU的显卡型号,您可以参考此文档 GPU卡详情。 GPU服务器是否有GPU卡状态监控和报警机制,包括GPU使用率、内存使用率、温度、状态等?
  • 背景 飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件、丰富的工具组件于一体。本章将以bcc.vgn3(Ubuntu18.04 LTS)为例,介绍如何快速搭建飞桨的GPU环境并使用预训练的模型完成文本情感分类预测。
  • 基于GPU实例部署NGC环境 背景介绍 NGC,Nvidia GPU Cloud是由NVIDIA和第三方ISV提供的GPU优化过的软件仓库,主要用于AI,HPC及虚拟化等领域。其中提供了众多容器(containers)、预训练的模型(pre-trained models)、用于Kubernetes部署的Helm charts、以及带有软件开发工具包(SDK)的行业特定AI工具包等。
  • 背景介绍 本文介绍如何在GPU云服务环境中下载、安装并使用TensorRT工具。 TensorRT,是Nvdia推出的一套专为深度学习推理打造的SDK。在推理阶段,基于TensorRT的应用可以提供同比单一CPU平台高达40倍的加速效果。
  • 本文介绍如何在GPU云服务环境中下载、安装并使用RAPIDS软件库。 RAPIDS是一套开源的软件库,旨在提供给用户一整套能够完全在GPU上执行的端到端的数据科学及其分析的API调用。它面向解析和数据科学中的常规数据处理任务,囊括了多种端到端的机器学习算法。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部