当前位置: 首页 > news >正文

常州建站软件全球网站排名

常州建站软件,全球网站排名,顺德网站制作案例如何,成都今日新闻公众号关注 「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !在 Linux 服务器上使用 GPU 跑深度学习的模型很正常不过。如果我们想用 Docker 实现同样的需求,就需要做些额外的工作。本质上就是我们要在容器里能看到并且使用宿主机上的…

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

在 Linux 服务器上使用 GPU 跑深度学习的模型很正常不过。如果我们想用 Docker 实现同样的需求,就需要做些额外的工作。本质上就是我们要在容器里能看到并且使用宿主机上的显卡。在这篇文章里我们就介绍一下 Docker 使用 GPU 的环境搭建。

Nvidia 驱动

某些命令以 Ubuntu 作为示例。首先宿主机上必现安装 Nvidia 驱动。

这里推荐从 Nvidia 官网下载脚本安装,安装和卸载都比较方便并且适用于任何 Linux 发行版,包括 CentOS,Ubuntu 等。NVIDIA Telsa GPU 的 Linux 驱动在安装过程中需要编译 kernel module,系统需提前安装 gcc 和编译 Linux Kernel Module 所依赖的包,例如 kernel-devel-$(uname -r) 等。

安装 gcc 和 kernel-dev

$ sudo apt install gcc kernel-dev -y

安装 Nvidia 驱动

  1. 访问 https://www.nvidia.com/Download/Find.aspx

  2. 选择对应操作系统和安装包,并单击 [SEARCH] 搜寻驱动,选择要下载的驱动版本


  1. 在宿主机上下载并执行对应版本安装脚本

$ wget https://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/tesla/450.80.02/NVIDIA-Linux-x86_64-450.80.02.run&lang=us&type=Tesla
$ chmod +x NVIDIA-Linux-x86_64-450.80.02.run && ./NVIDIA-Linux-x86_64-450.80.02.run
  1. 验证

使用 nvidia-smi 命令验证是否安装成功,如果输出类似下图则驱动安装成功。

CUDA 驱动

CUDA(Compute Unified Device Architecture)是显卡厂商 NVIDIA 推出的运算平台。CUDA™是一种由 NVIDIA 推出的通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题。它包含了 CUDA 指令集架构(ISA)以及 GPU 内部的并行计算引擎。这里安装的方式和显卡驱动安装类似。

  1. 访问官网下载对应版本安装包,https://developer.nvidia.com/cuda-toolkit-archive


  1. 配置环境变量

$ echo 'export PATH=/usr/local/cuda/bin:$PATH' | sudo tee /etc/profile.d/cuda.sh 
$ source /etc/profile

nvidia-docker2

Docker 的安装这里就不展开了,具体查看官方文档非常详细。

这里我们就直接介绍安装 nvidia-docker2.

既然叫 nvidia-docker2 就有 nvidia-docker1 就是它的 1.0 版本目前已经废弃了,所以注意不要装错。

这里先简单说一下 nvidia-docker2 的原理,nvidia-docker2 的依赖由下几部分组成.

  • libnvidia-container

  • nvidia-container-toolkit

  • nvidia-container-runtime



nvidia-container-runtime 是在 runc 基础上多实现了 nvidia-container-runime-hook (现在叫 nvidia-container-toolkit),该 hook 是在容器启动后(Namespace已创建完成),容器自定义命令(Entrypoint)启动前执行。当检测到 NVIDIA_VISIBLE_DEVICES 环境变量时,会调用 libnvidia-container 挂载 GPU Device 和 CUDA Driver。如果没有检测到 NVIDIA_VISIBLE_DEVICES 就会执行默认的 runc。

下面分两步安装

  1. 设置 repository 和 GPG key

$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
  1. 安装

$ sudo apt-get update
$ sudo apt-get install -y nvidia-docker2
$ sudo systemctl restart docker
  1. 验证

执行以下命令:

$ docker run --rm --gpus all nvidia/cuda:10.2-base nvidia-smi 

如果输出跟直接在宿主机上执行 nvidia-smi 一致则说明安装成功。如果跑的深度学习模型使用的是 tensorflow 可以在容器里执行:

import tensorflow as tf
tf.contrib.eager.num_gpus()

如果输出了宿主机上的 Nvidia 显卡数量,则模型能使用到显卡加速。如果使用的是 pytorch 可以在容器里执行:

import torch
torch.cuda.is_available()

如果输出 True 证明环境也成功了,可以使用显卡。

  1. 使用示例

  • 使用所有显卡

$ docker run --rm --gpus all nvidia/cuda nvidia-smi 
$ docker run --rm --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=all nvidia/cuda nvidia-smi 
  • 指明使用哪几张卡

$ docker run --gpus '"device=1,2"' nvidia/cuda nvidia-smi 
$ docker run --rm --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=1,2 nvidia/cuda nvidia-smi

到这里在 Docker 下使用 Nvidia 显卡加速计算的基础环境搭建就介绍完了。后续我们可以继续研究一下 K8S 下调度 GPU 的实现。

本文转载自:「lxkaka」,原文:https://lxkaka.wang/docker-nvidia/,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

你可能还喜欢

点击下方图片即可阅读

巧用 Nsenter 调取宿主机工具调试容器内程序

点击上方图片,打开小程序,加入「玩转 Linux」圈子

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

http://www.lbrq.cn/news/2579401.html

相关文章:

  • b2c电子商城网站建设网站提交收录入口
  • 早期做的网站支持现在的网速吗百度推广系统营销平台
  • 那个网站做稻草交易网站域名查询网
  • 精通网站建设 百度云怎么做网页
  • 保定网站推广费用营销策略ppt模板
  • 如何免费做网站网页seo网络推广排名
  • 用tomcat做网站目录适合口碑营销的产品
  • 深圳建外贸网站蚂蚁bt
  • 图书馆网站开发策划书磁力搜索神器
  • 潍坊做网站张家口网络营销策划的方法
  • 崇明做网站公司公司在百度怎么推广
  • 品划做网站域名信息查询
  • php做心理测试网站电子技术培训机构
  • 百度优化 几个网站内容一样app下载推广平台
  • 网站做sem优化电脑培训网
  • 专做智能化施工的网站百度检索入口
  • 网站开发文档步骤应该怎么写中国移动有免费的视频app
  • 溧阳网站建设公司网站模板及源码
  • wordpress插件影响网站南京网站制作公司
  • 确定网站设计公司简报南宁百度推广排名优化
  • wordpress站点安装谷歌建站
  • 苏州和城乡建设局网站网站是怎么优化推广的
  • 网站建设 ppt全专业优化公司
  • 网站站点风格官网排名优化方案
  • 网站上资源截图怎么做视频网站搭建
  • 怎么做短文网站seo刷词
  • 今日头条在线观看谷歌seo推广公司
  • 网站建设大作业现场直播的视频
  • 日本人性剧情片电影内蒙古seo优化
  • 一家做公司点评网站网络营销推广案例
  • Java ++i 与 i++ 底层原理
  • 14.Redis 哨兵 Sentinel
  • Android13文件管理USB音乐无专辑图片显示的是同目录其他图片
  • 海洋大地测量基准与水下导航系列之九我国海洋PNT最新技术进展(下)
  • USB Device(VID_1f3a_PID_efe8) 驱动叹号
  • linux81 shell通配符:[list],‘‘ ``““