怎么用docker挂载NVIDIA显卡运行pytorch


这篇“怎么用docker挂载NVIDIA显卡运行pytorch”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用docker挂载NVIDIA显卡运行pytorch”文章吧。写在前面:  安装好centos、nvidia相关驱动及软件、docker及加速镜像。  主机运行环境一、关于gpu的挂载1. 在docker运行时指定device挂载  先查看一下有哪些相关设备  电脑上装了两个显卡。我需要运行pytorch,dockerhub中pytorch官方镜像没有gpu支持,所以只能先pull一个anaconda镜像试试,后面可以编排成dockerfile。  okwrtdsh的镜像似乎是针对他们实验室gpu环境的,有点过大了,不过勉强运行一下还是可以的。在容器内部还需要安装pytorch:
  这里运行torch成功,但是加载显卡失败了,可能还是因为驱动不匹配的原因吧,需要重新安装驱动,暂时不做此尝试;
二、通过nvidia-docker在docker内使用显卡(1)安装nvidia-docker
  nvidia-docker其实是docker引擎的一个应用插件,专门面向nvidia gpu,因为docker引擎是不支持nvidia驱动的,安装插件后可以在用户层上直接使用cuda。具体看上图。这个图很形象,docker引擎的运行机制也表现出来了,就是在系统内核之上通过cgroup和namespace虚拟出一个容器os的用户空间,我不清楚这是否运行在ring0上,但是cuda和应用确实可以使用了(虚拟化的问题,如果关心此类问题可以了解一些关于docker、kvm等等虚拟化的实现方式,目前是系统类比较火热的话题)  这里也可以通过添加apt或者yum sourcelist的方式进行安装,但是我没有root权限,而且update容易引起docker重启,如果不是实验室的个人环境不推荐这么做,防止破坏别人正在运行的程序(之前公司一个小伙子就是在阿里云上进行了yum update,结果导致公司部分业务停了一个上午)。(2)容器测试  我们还需要nvidia官方提供的docker容器nvidia/cuda,里面已经编译安装了cuda和cudnn,或者直接run,缺少image的会自动pull 香港云主机。  在容器内测试是可以成功使用nvidia显卡的:(3)合适的镜像或者自制dockerfile合适的镜像:这里推荐floydhub的pytorch,注意对应的cuda和cudnn版本。
自制dockerfile  首先,我们需要把要装的东西想清楚:  1. 基础镜像肯定是nvidia官方提供的啦,最省事,不用装cuda和cudnn了;
  2. vim、git、lrzsz、ssh这些肯定要啦;
  3. anaconda、pytorch肯定要啦;  所以需要准备好国内源source.list,否则安装速度很慢。  下载anaconda的地址:https://repo.continuum.io/archive/anaconda3-5.0.1-linux-x86_64.sh,这里直接在dockerfile里下了,具体如下:  通过docker build构造镜像:  运行成功调用cuda。   
以上就是关于“怎么用docker挂载NVIDIA显卡运行pytorch”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注开发云行业资讯频道。

相关推荐: Docker Compose编排容器如何使用

这篇文章主要讲解了“Docker Compose编排容器如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker Compose编排容器如何使用”吧!1. 前言docker compose 是 doc…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/03 22:11
下一篇 07/03 22:12

相关推荐