英伟达

用GPU和Docker搭建高效灵活的深度学习研发平台

╄→尐↘猪︶ㄣ 提交于 2019-12-04 08:37:24
给数据科学家提供最好的工作工具是非常困难的。他们的电脑上几乎需要有所有的功能,如极致的性能,最新的软件,以及随心所欲的试验。 我们为此开发了一套满足上述所有需求的方案,并且避免了经常困扰系统管理员和开发团队构建系统的重复性劳动。 tl;dr - 环境创建代码已经上传至Github上。 它目前仍然是完善中的实验品,但是已经可以工作。因为它的许多工具目前都还在软件生存周期的早期,所以它日后会越来越好。 告别云 对于计算密集型业务,公有云的托管费用高的令人望而却步。一个AWS上高性能的跑在GPU上的虚拟机大概要超过正常价格20倍的费用,以日计费会更贵。年费大约是25,000美元。 内部部署的虚拟服务器会相对便宜点,但是并没有对这些科学计算的用例而针对性调整,并且也不是共享环境友好的。 当然,还有其他一些问题… … 你好,老朋友 你身边的服务器又回来了,并且比以往更好。Nvidia在2015年发布了“Dev Box”,一种数据科学家的梦想机器。虽然它有一点点小贵,大概15,000美元。 Andrej Karpathy 创建了一个相对完美并且廉价的家庭套装。并且它可以扩展到和Nvidia的机器同样的性能。我们的产品相当类似,并且给它找了个好地方,就在桌子的右下角。 开发即产品 现在你已经有了合适的硬件。然后你可以参照Nvidia的指示文档来安装和配置所需的所有软件

docker 1.12.6 使用GPU

℡╲_俬逩灬. 提交于 2019-12-04 08:37:05
docker 使用GPU最简单的方式是利用nvidia-docker,然而docker 1.12.6在安装nvidia-docker2的过程中,会出现冲突: Transaction check error: file /etc/docker/daemon.json from install of nvidia-docker2-2.0.2-1.docker1.12.6.noarch conflicts with file from package docker-2:1.12.6-71.git3e8e77d.el7.x86_64 其实,在容器内使用GPU并不需要安装nvidia-docker2,只需要安装nvidia-container-runtime,并在/etc/docker/daemon.json中配置好,就可以了。 下面在Centos 7.4 环境下,系统已安装docker 1.12.6(安装方法见: Centos 7.4安装、配置指定版本的Docker )的情况下,安装nvidia-container-runtime,然后在容器中运行GPU。 1. 添加包repositories: $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) $ curl -s -L https://nvidia.github.io

基于docker的GPU测试方法

半世苍凉 提交于 2019-12-04 08:36:35
转载自: 基于docker的GPU测试方法 作者: yanyun 时间: August 5, 2017 分类: NVIDIA GPU http://linuxperformance.top/ 基于docker的GPU测试方法 如果使用容器的方式,我们可以打包应用及相关测试套件、依赖包及测试数据到一个可移植的容器中。可以大幅简化测试环境搭建过程,缩短测试周期。 具体使用可以参考: https://docs.docker.com/ https://devblogs.nvidia.com/parallelforall/nvidia-docker-gpu-server-application-deployment-made-easy/ 安装参考:https://github.com/NVIDIA/nvidia-docker/wiki/Installation 来源: CSDN 作者: badman250 链接: https://blog.csdn.net/notbaron/article/details/76711135

docker使用nvidia gpu环境搭建

强颜欢笑 提交于 2019-12-04 08:34:59
docker中使用gpu需要安装相关的插件环境。 系统环境: 操作系统:Ubuntu 16.04 64位 gpu: nvidia p100 需要的软件: cuda driver nvidia-docker 安装步骤: cuda driver cuda driver包括了cuda工具包和nvidia driver 安装方式 1.Package安装 2.Runfile安装 https://developer.nvidia.com/cuda-downloads 下载安装,安装方式参看官网 cuda driver验证: cat /proc/driver/nvidia/version 安装成功显示: NVRM version: NVIDIA UNIX x86_64 Kernel Module 410.66 Wed Oct 10 12:01:53 CDT 2018 GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) nvidia-docker nvidia-docker是一个可以使用gpu的docker,是在docker上做了一层封装,实现了container和host之间cuda连接 安装方式 # If you have nvidia-docker 1.0 installed: we need to

Docker 安装 TensorFlow GPU 实战

六眼飞鱼酱① 提交于 2019-12-04 08:34:27
安装背景 AI如雨后春笋般的出现,DEVOPS的理论不断深入。所有高大上的开源产品都支持两个环境:docker 和Linux。本文主要讲解怎么在一台安装了GPU的centos7 环境安装tensorflow docker镜像。国内就几个大厂的同学可以享受这种高级环境待遇,如果您有该环境建议尝试起来吧,毕竟AI可以让我们多一项skill。 安装nvidia-docker nvidia 对docker进行了一层封装,可以支持nivdia 的cpu。 具体的安装过程可以参考: https://github.com/NVIDIA/nvidia-docker?utm_source=tuicool&utm_medium=referral 安装玩以后使用nvidia配置的命令: [root@~] # nvidia- nvidia-bug-report.sh nvidia-debugdump nvidia-installer nvidia-settings nvidia-xconfig nvidia-cuda-mps-control nvidia-docker nvidia-modprobe nvidia-smi nvidia-cuda-mps- server nvidia-docker-plugin nvidia-persistenced nvidia-uninstall 如果有下面的错误

k8s调用gpu,nvidia-docker使用gpu

南笙酒味 提交于 2019-12-04 08:32:27
本来以为这周关于gpu的运行又要搞不定了,结果昨天,也就是周五下午,终于搞定了,内心很开森有木有,一周了,终于over了,下来我来说下我的做法。还有我要说下,没事要多去github上灌灌水,收获还是颇多的,说不定就能解决困扰好久的问题。再次感谢各位大神的分享。 首先介绍下nvidia-docker,这是一个可以使用gpu的docker,我的理解是nvidia-docker是在docker上做了一层封装,具体还是要看源码的。通过 nvidia-docker-plugin,最终还是转回调用到docker上,只不过为docker的启动带了一些必要的参数。这个是同事看nvidia-docker底层源码告诉我的。 docker一般都是使用基于cpu的应用,而如果是gpu的话,就需要安装特有的硬件环境,比如需要安装nvidia driver。所以docker容器并不直接支持nvidia gpu。为了解决这个问题,最早的处理办法是在容器内部,全部重新安装nvidia driver,然后通过设置相应的设备参数来启动container,然而这种办法是很脆弱的。因为宿主机的driver的版本必须完全匹配容器内的driver版本,这样导致docker image无法共享,很可能本地机器的不一致导致每台机器都需要去重复操作,这很大的违背了docker的设计之初。 为了使docker

搭建Tensorflow-gpu时与Docker和Dockerfile 的斗争

吃可爱长大的小学妹 提交于 2019-12-04 08:32:16
一、环境准备 1.安装CUDA、cudnn 首先确定显卡是否能GPU加速,查看显卡版本下载对应的驱动 CUDA和cudnn必须在宿主机中安装而不是在镜像中 之后下载CUDA、与cudnn 具体下载方式网上很多 安装时一定要先确定你要安装的tensorflow-gpu版本 例:我安装的是tensorflow-gpu 1.8.0 所以对应-CUDA 9.0 与cudnn 7.0 之前因为安装了9.1又安回9.0的时候出了很多问题 所以最好一次到位 cuda 版本 cat /usr/local/cuda/version.txt cudnn 版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 2.docker安装 1.docker版本用的是docker-ce_18.06.0_ce_3-0 有时候docker对版本还是挺敏感的 2.就是我踩的大坑 nvidia-docker 当时就觉得docker和nvidia-docker是一个东西所以就只按了docker 只有安装了nvidia-docker 才能把宿主机的cuda和cudnn映射到docker镜像中 当时报的错是在镜像中x86_64-linux-gnu中少了很多cuda相关共享库 3.Tensorflow-gpu-1.8.0 1.docker pull

使用Docker搭建实验室共享GPU服务器

旧城冷巷雨未停 提交于 2019-12-04 08:31:56
目录 引入 背景 服务器配置 方案决策 为什么选择这个方案 安装步骤 概述 接下来要注意的问题 安装Ubuntu16.04 LTS 宿主机换apt源 禁止Linux内核更新 安装显卡驱动 安装Docker 安装nvidia-docker2 加入docker组 Docker换源,换存储路径,限制容器日志大小 安装Shipyard中文版 创建容器 配置容器环境 解决中文乱码 打包为镜像 使用Dockerfile构建镜像 新建容器 附:实验室使用的最新版镜像 尾言 存在的问题 参考 引入 背景 实验室已有一台GPU服务器由学长管理,BOSS新购了一台服务器并希望能够像已有的那个服务器一样,让多人共同使用GPU资源而不相互干扰,同时系统资源分配比较灵活。经过一番考虑和踩坑,终于完美搭建GPU平台,记录下以供后人参考。 服务器配置 CPU: I7-9700K 主板: 微星Z390 gaming pro carbon 内存: 海盗船16G DDR4 3200MHZ x2 固态: Intel 760P 1T NVME固态 机械: 希捷2T 显卡: 技嘉2080Ti WF3 x4 方案决策 宿主机选择Ubuntu16.04 LTS,引导方式为UEFI,1T固态挂载点为 / ,2T机械挂载点为 /home 。 虚拟机容器选择Docker,为了支持在虚拟机中使用GPU资源,使用nvidia

别为Docker本地实现不支持GPU发愁,解决方案在此!

二次信任 提交于 2019-12-04 08:30:52
导读 通过提供独立的执行环境而不需要整个虚拟机的开销,容器已经成为大规模部署应用程序的很有吸引力的选择。 Docker让容器变得易于使用,因此受到欢迎。通过使多个工程团队能够利用自己的配置进行开发、对齐基准或部署可扩展的微服务架构,容器在各个地方都有用。 基于GPU的应用程序,正在迅速成为标准工作流程的一部分,特别是在深度学习领域。 这些应用程序在容器化应用程序中的部署、测试和基准测试已经迅速成为公认的惯例。 但Docker容器的本地实现不支持NVIDIA GPU,这就是为什么我们开发了nvidia-docker插件。 在这里,笔者会告诉你如何使用它。 Nvidia-docker NVIDIA GPU要求内核模块和用户级库来被识别并用于计算。有一个解决这个问题的办法,但需要安装Nvidia驱动程序和对应于NVIDIA GPU字符设备的映射。但是,如果主机的Nvidia驱动程序已更改,则安装在容器内的驱动程序版本将不再兼容,因此会中断主机上的容器使用。这违背了容器的主要特征,即可移动性。但是使用Nvidia Docker,可以无缝地配置一个GPU设备可见的容器,并准备好执行基于GPU的应用程序。 Nvidia关于nvidia-docker的博客强调了使用便携式GPU容器的两个关键点: ——与驱动程序无关的CUDA镜像 ——Docker命令行包装器

搭建GPU版PyTorch Docker镜像

北慕城南 提交于 2019-12-04 08:29:45
提要: 记录手动搭建GPU版PyTorch Docker镜像的过程。本地主机已经装好了显卡驱动,CUDA, cuDNN, 因此不再累述。本篇博客覆盖以下内容: Docker常用命令 搭建GPU版PyTorch镜像 Docker常用命令 ubuntu安装步骤 $ apt- get update $ apt- get -y install docker.io # 检查Docker服务的状态 $ service docker.io status # 一般显示 docker.io start/running, process xxxxx # # 把Docker安装为自启动服务,让它随服务器的启动而自动运行 update-rc.d docker.io defaults # # 测试Docker安装成功 docker run hello-world # 如果本地没有hello-world镜像,会自动拉去一个 Docker常用命令 ### 显示版本信息 (与python, nvcc相比少了两个‘--’) $ docker version ### 了解当前Docker的使用状态(当前容器,镜像数目信息,存储空间占用信息, # OS内核版本, 发行版本, 硬件资源等) $ docker info ### 拉去一个镜像 ( xxxx 表示某个镜像名字,) $ docker pull xxxx # e