商城类电商软件及服务提供商--HiShop海商,欢迎您!

北京公司| 深圳公司|

注册有礼

云服务器ECS:GPU计算型实例下

2019-04-30|HiShop|阅读量:
导读:云服务器ECS:GPU计算型实例下...

  

  导读:云服务器ECS实例之GPU计算型实例下 咨询热线 4006-333-292

  本文介绍如何在操作系统为Linux的GPU计算型实例中安装GRID驱动,并搭建桌面显示环境。以搭建TensorFlow深度学习框架为例详细介绍如何在gn5实例上搭建NGC环境。

  背景信息

  如果您的GPU计算型实例(gn5、gn5i、gn6v、vgn5i或gn6i实例)需要OpenGL图形支持,必须在实例上安装GRID驱动。GPU计算型实例自带的Nvidia GPU计算卡,如P100、P4、V100等,因为NVIDIA GRID License而限制了GPU图形功能,您可以使用NVIDIA官方发布的试用版GRID驱动满足使用OpenGL图形功能的需求。

  前提条件

  · 您需要创建一台GPU计算型实例,确保实例能访问公网。具体操作,请参考创建GPU计算型实例。

  说明 建议您选择 公共镜像 中的镜像。如果您选择了 镜像市场 中预装NVIDIA驱动的镜像,创建实例后您必须按照此方法禁用Nouveau驱动:在 /etc/modprobe.d 目录下创建一个 nouveau.conf 文件,添加 blacklist nouveau。

  ·

  · 在本地机器上已经安装了VNC连接软件,比如本示例中使用的VNC Viewer。

  在Ubuntu 16.04 64-bit中安装GRID驱动

  按以下方式安装GRID驱动。

  1. 远程连接Linux实例。

  2. 依次运行以下命令升级系统并安装KDE桌面。

  试用

  3.

  apt-get update

  apt-get upgrade

  apt-get install kubuntu-desktop

  4.

  5. 运行reboot 重启系统。

  6. 再次远程连接Linux实例,并运行以下命令下载NVIDIA GRID驱动包。

  NVIDIA GRID驱动包中有多个系统的GRID驱动。Linux GRID驱动是NVIDIA-Linux-x86_64-390.57-grid.run。

  7.

  试用

  8.

  wget http://nvdia-driver-410.oss-cn-shenzhen.aliyuncs.com/NVIDIA-Linux-x86_64-410.39-grid.run

  9.

  10. 依次运行以下命令,并按界面提示安装NVIDIA GRID驱动。

  试用

  11.

  chmod 777 NVIDIA-Linux-x86_64-410.39-grid.run

  ./NVIDIA-Linux-x86_64-410.39-grid.run

  12.

  13. 运行命令nvidia-smi 测试驱动安装结果。

  如果返回以下类似结果,说明驱动已经成功安装。

 

  14.

  15. 按以下步骤添加License服务器并激活License。

  i. 切换到/etc/nvidia目录:cd /etc/nvidia。

  ii. 创建gridd.conf文件:cp gridd.conf.template gridd.conf。

  iii. 在gridd.conf文件中添加License服务器的信息。

  说明 您需要向NVIDIA购买License后自行搭建License服务器。

  iv.

  试用

  v.

  ServerAddress=License服务器的IP

  ServerPort=License服务器的端口(默认为7070)

  FeatureType=2

  EnableUI=TRUE

  vi.

  16. 运行命令安装x11vnc。

  试用

  17.

  apt-get install x11vnc

  18.

  19. 运行命令lspci | grep NVIDIA 查询GPU BusID。

  本示例中,查询到的GPU BusID为00:07.0。

  20.

  21. 配置X Server环境并重启。

  i. 运行命令nvidia-xconfig --enable-all-gpus --separate-x-screens。

  ii. 编辑/etc/X11/xorg.conf,在Section "Device" 段添加GPU BusID,如本示例中为BusID "PCI:0:7:0"。

  iii. 运行reboot 重启系统。

  在Ubuntu 16.04 64-bit中测试GRID驱动

  按以下步骤测试GRID驱动。

  1. 运行命令安装GLX测试程序。

  试用

  2.

  apt-get install mesa-utils

  3.

  4. 运行命令startx 启动X Server。

  说明

  5.

  · 如果没有startx 命令,执行apt-get install xinit 命令安装。

  · startx 启动时可能会提示hostname: Name or service not known。这个提示不会影响X Server启动。您可以运行命令hostname 查得主机名后,再修改/etc/hosts文件,将127.0.0.1 后的hostname 改为本机的hostname。

 

  6. 开启一个新的SSH客户端终端,运行命令启动x11vnc。

  试用

  7.

  x11vnc -display :1

  8.

  如果看到如下图所示的信息,表示x11vnc已经成功启动。此时,您能通过VNC Viewer等VNC远程连接软件连接实例。

  9.

  10. 登录ECS控制台,在实例所在安全组中添加安全组规则 ,允许TCP 5900端口的入方向访问。

  11. 在本地机器上,使用VNC Viewer等VNC远程连接软件,通过实例公网IP地址:5900 连接实例,进入KDE桌面。

  12. 按以下步骤使用glxinfo 命令查看当前GRID驱动支持的配置。

  i. 开启一个新的SSH客户端终端。

  ii. 运行命令export DISPLAY=:1。

  iii. 运行命令glxinfo –t 列出当前GRID驱动支持的配置。

  13. 按以下步骤使用glxgears 命令测试GRID驱动。

  i. 在KDE桌面上,右键单击桌面,并选择Run Command。

  ii. 运行glxgears 启动齿轮图形测试程序。 如果出现如下图所示的窗口,表明GRID驱动正常工作。

      在CentOS 7.3 64-bit中装GRID驱动

  按以下方式安装GRID驱动。

  1. 远程连接Linux实例。

  2. 依次运行以下命令升级系统并安装KDE桌面。

  试用

  3.

  yum update

  yum install kernel-devel

  yum groupinstall "KDE Plasma Workspaces"

  4.

  5. 运行reboot 重启系统。

  6. 再次远程连接Linux实例,并运行以下命令下载并解压NVIDIA GRID驱动包。

  NVIDIA GRID驱动包中包含多个系统的GRID驱动,其中,LINUX GRID驱动是NVIDIA-Linux-x86_64-390.57-grid.run。

  7.

  试用

  8.

  wget http://nvdia-driver-410.oss-cn-shenzhen.aliyuncs.com/NVIDIA-Linux-x86_64-410.39-grid.run

  9.

  10. 按以下步骤关闭nouveau驱动。

  i. 运行vim /etc/modprobe.d/blacklist.conf,添加blacklist nouveau。

  ii. 运行vim /lib/modprobe.d/dist-blacklist.conf,添加以下内容。

  试用

  iii.

  blacklist nouveau

  options nouveau modeset=0

  iv.

  v. 运行mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img。

  vi. 运行dracut /boot/initramfs-$(uname -r).img $(uname -r)。

  11. 运行reboot 重启系统。

  12. 依次运行以下命令,并按界面提示安装NVIDIA GRID驱动。

  试用

  13.

  chmod 777 NVIDIA-Linux-x86_64-410.39-grid.run

  ./NVIDIA-Linux-x86_64-410.39-grid.run

  14.

  15. 运行命令nvidia-smi 测试驱动是否安装成功。

  如果返回以下类似结果,说明驱动已经成功安装。

  

16.

  17. 按以下步骤添加License服务器并激活License。

  i. 切换到/etc/nvidia目录:cd /etc/nvidia。

  ii. 创建gridd.conf文件:cp gridd.conf.template gridd.conf。

  iii. 在gridd.conf文件中添加License服务器的信息。

  说明 您需要向NVIDIA购买License后自行搭建License服务器。

  iv.

  试用

  v.

  ServerAddress=License服务器的IP

  ServerPort=License服务器的端口(默认为7070)

  FeatureType=2

  EnableUI=TRUE

  vi.

  18. 安装x11vnc。

  试用

  19.

  yum install x11vnc

  20.

  21. 运行命令lspci | grep NVIDIA 查询GPU BusID。

  本示例中,查询到的GPU BusID为00:07.0。

  22.

  23. 配置X Server环境:

  i. 运行命令nvidia-xconfig --enable-all-gpus --separate-x-screens。

  ii. 编辑/etc/X11/xorg.conf,在Section "Device" 段添加GPU BusID,如本示例中为BusID "PCI:0:7:0"

 

  24. 运行reboot 重启系统。

  在CentOS 7.3 64-bit中测试GRID驱动

  按以下步骤测试GRID驱动。

  1. 运行命令startx 启动X Server。

  2. 开启一个新的SSH客户端终端,运行命令启动x11vnc。

  试用

  3.

  x11vnc -display :0

  4.

  如果看到如下图所示的信息,表示x11vnc已经成功启动。此时,您能通过VNC Viewer等VNC远程连接软件连接实例。

 

  5.

  6. 登录ECS管理控制台,在实例所在安全组中添加安全组规则 ,允许TCP 5900端口的入方向访问。

  7. 在本地机器上,使用VNC Viewer等VNC远程连接软件,通过实例公网IP地址:5900 连接实例,进入KDE桌面。

  8. 按以下步骤使用glxinfo 命令查看当前GRID驱动支持的配置。

  i. 开启一个新的SSH客户端终端。

  ii. 运行命令export DISPLAY=:0。

  iii. 运行命令glxinfo –t 列出当前GRID驱动支持的配置。

  9. 按以下步骤使用glxgears 命令测试GRID驱动。

  i. 在KDE桌面上,右键单击桌面,并选择Run Command。

  ii. 运行glxgears 启动齿轮图形测试程序。 如果出现如下图所示的窗口,表明GRID驱动正常工作。

 

  背景信息

  NGC(NVIDIA GPU CLOUD)是NVIDIA开发的一套深度学习生态系统,可以使开发者免费访问深度学习软件堆栈,建立适合深度学习的开发环境。

  目前NGC在阿里云gn5实例作了全面部署,并且在镜像市场提供了针对NVIDIA Pascal GPU优化的NGC容器镜像。通过部署镜像市场的NGC容器镜像,开发者能简单快速地搭建NGC容器环境,即时访问优化后的深度学习框架,大大缩减产品开发以及业务部署的时间,实现开发环境的预安装;同时支持调优后的算法框架,并且保持持续更新。

  NGC网站 提供了目前主流深度学习框架不同版本的镜像(比如Caffe、Caffe2、CNTK、MxNet、TensorFlow、Theano、Torch),您可以选择需要的镜像搭建环境。

  前提条件

  在开始搭建TensorFlow环境之前,必须先完成以下工作:

  · 注册阿里云账号,并完成 实名认证 。

  · 登录 NGC网站,注册NGC账号。

  · 登录 NGC网站,获取NGC API key并保存到本地。登录NGC容器环境时需要验证您的NGC API Key。

  操作步骤

  1. 创建gn5实例。参考 创建ECS实例 创建一台gn5实例,注意以下配置信息:

  · 地域:只能选择 华北1、华北2、华北3、华北5、华东1、华东2、华南1。

  · 实例:选择gn5实例规格。

  · 镜像:单击 镜像市场,在弹出对话框里,找到 NVIDIA GPU Cloud VM Image 后,单击 使用。

  

  · 公网带宽:选择 分配公网IP地址。

  说明 如果这里不分配公网IP地址,则在实例创建成功后,绑定EIP地址。

  ·

  · 安全组:选择一个安全组。安全组里必须开放 TCP 22 端口。如果您的实例需要支持HTTPS或 DIGITS 6 服务,必须开放TCP 443(用于HTTPS)或TCP 5000(用于DIGITS 6)端口。

  ECS实例创建成功后,登录ECS管理控制台,记录实例的公网IP地址。

  2. 连接ECS实例:根据创建实例时选择的登录凭证,使用密码验证连接ECS实例 或者 使用SSH密钥对验证连接ECS实例 。

  3. 按界面提示输入NGC官网获取的NGC API Key后按回车键,即可登录NGC容器环境

  4.

  5. 运行 nvidia-smi。您能查看当前GPU的信息,包括GPU型号、驱动版本等,如下图所示。

  6.

  7. 按以下步骤搭建TensorFlow环境:

  i. 登录 NGC网站,找到TensorFlow镜像页面,获取 docker pull 命令。

  iii. 下载TensorFlow镜像。

  试用

  iv.

  docker pull nvcr.io/nvidia/tensorflow:18.03-py3

  v.

  vi. 查看下载的镜像。

  试用

  vii.

  docker image ls

  viii.

  ix. 运行容器,完成TensorFlow开发环境的部署。

  试用

  x.

  nvidia-docker run --rm -it nvcr.io/nvidia/tensorflow:18.03-py3

 

  xii.

  8. 选择以下任一种方式测试TensorFlow:

  · 简单测试TensorFlow。

  试用

  ·

  $python

  ·

  试用

  ·

  >>> import tensorflow as tf>>> hello = tf.constant('Hello, TensorFlow!')>>> sess = tf.Session()>>> sess.run(hello)

  ·

  如果TensorFlow正确加载了GPU设备,返回结果如下图所示。

  · 下载TensorFlow模型并测试TensorFlow。

  试用

  ·

  git clone https://github.com/tensorflow/models.gitcd models/tutorials/image/alexnet

  python alexnet_benchmark.py --batch_size 128 --num_batches 100

  

 

  ·

  9. 保存TensorFlow镜像的修改。否则,下次登录时配置会丢失。

  【阿里云,阿里巴巴集团旗下云计算品牌,全球卓越的云计算技术和服务提供商。海商(www.hishop.com.cn)作为阿里云湖南唯一授权服务中心,国内知名商城系统商城网站建设提供商,专为企业提供专业完善电商整体解决方案、微商云、视频云、医疗云等,咨询阿里云服务器详情可电联:18684778716(微信同号)】

云服务器ECS:GPU计算型实例下

    产品推荐
    • 社区新零售
      一款为「社区团购」业务模式量身打造的商城系统,适用于社区连锁门店、社区服务型企业、拥有货源优势的商家、连锁物业等。通过招募社区业主/店主当「团长」,建立社区微信群,在群内发起「团购」,以邻里关系聚合客源,群内互动让复购率更高。商家集中运营管理,轻松布局千百个社区! 详情
    关注HiShop