docker搞不定GPU,我就没有办法用docker跑caffe的时候利用GPU,速度慢如蜗牛简直哭了出来,所以一直在纠结怎么样能够解决这个问题。
这里是一个大杂烩,所以会持续更新,很多东西估计现在也没有整理出一个头绪,只能想到什么记录什么,以后有机会再整理了。
NVIDIA DOCKER
Why user NVIDIA docker
官方介绍在此 Why NVIDIA docker#motivation。
docker是一个硬件和平台都无关的容器,所以我们使用的时候,尽量想更加快捷地迁移并且复制使用。
然而在使用GPU的时候,我们非常希望docker也能使用GPU,早期的解决办法就是在容器里面装驱动然后将显卡映射进去,这样首先操作很麻烦,第二就是这个驱动版本不一定匹配外面的显卡,这就很尴尬了。
所以NVIDIA为了解决这个办法,推出了NVIDIA docker.
How NVIDIA docker works
详见: nvidia-docker
Installing NVIDIA-docker
Prerequisites for running NVIDIA-docker
详见:Installation
截止2016-12-20,需要安装的内容为:
GNU/Linux x86_64 with kernel version > 3.10
Docker >= 1.9
NVIDIA GPU with Architecture > Fermi (2.1)
NVIDIA drivers >= 340.29 with binary nvidia-modprobe
至于上述的东西怎么安装,就八仙过海了啊…不详细说了。
Installation
详见:ubuntu-distributions & centos-distributions & other-distributions
windows下?不要问我….
以及谁可以告诉我,怎么样可以pull images更快… 有时候真是pull到要死要活了啊… 我也不会自己build images. 哭了出来。
Using NVIDIA docker
最好首先pull了images出来..不然我也不知道要怎么玩。
然后最好根据你的driver版本来pull,例如我先在就是最简单pull了6.5的版本的。
nvidia-docker pull nvidia/cuda:6.5-runtime-ubuntu14.04
tag直接在image后面用冒号标注即可。
弄下来了之后直接
nvidia-docker run --rm nvidia/cuda:6.5 nvidia-smi
就能看到熟悉的界面啦~
要选择pull digits的images也是可以的
using GPUs without NVIDIA-docker?
也不是不可以啦,用docker plugin还是可以做到的,但是,比较烦,容易崩。反正我试了一下,没弄懂,还是放弃了。
具体可以看下这个博客,也是这个博客给了我很多搜索的思路的。
docker笔记13 - nvidia-docker简介
pulling nvidia images
TBC