|
FROM centos:7LABEL maintainer "NVIDIA CORPORATION <[email protected]>"RUN NVIDIA_GPGKEY_SUM=d1be581509378368edeec8c1eb2958702feedf3bc3d17011adbf24efacce4ab5 && \ curl -fsSL 7fa2af80.pub | sed '/^Version/d' > /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA && \ echo "$NVIDIA_GPGKEY_SUM /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" | sha256sum -c --strict -#COPY cuda.repo /etc/yum.repos.d/cuda.repoENV CUDA_VERSION 9.0.176ENV CUDA_PKG_VERSION 9-0-$CUDA_VERSION-1#RUN yum install -y \# cuda-cudart-$CUDA_PKG_VERSION && \# ln -s cuda-9.0 /usr/local/cuda && \# rm -rf /var/cache/yum/*# nvidia-docker 1.0LABEL com.nvidia.volumes.needed="nvidia_driver"LABEL com.nvidia.cuda.version="${CUDA_VERSION}"RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \ echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.confENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin {PATH}ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64# nvidia-container-runtimeENV NVIDIA_VISIBLE_DEVICES allENV NVIDIA_DRIVER_CAPABILITIES compute,utilityENV NVIDIA_REQUIRE_CUDA "cuda>=9.0" [root@localhost nvidia]# pwd/root/nvidia[root@localhost nvidia]# lltotal 420000drwxr-xr-x. 2 root root 4096 Feb 10 10:50 centos-gpu-rw-r--r--. 1 root root 3335 Jan 29 10:36 cuda-repo-rhel7-9.1.85-1.x86_64.rpm-rw-r--r--. 1 root root 348817823 Feb 6 16:26 cudnn-9.0-linux-x64-v7.tgz-rw-r--r--. 1 root root 2424 Feb 9 10:36 docker-ce.repo-rw-r--r--. 1 root root 796 Feb 9 17:11 nvidia-docker.repo-rwxr-xr-x. 1 root root 81242220 Jan 31 14:19 NVIDIA-Linux-x86_64-390.25.run[root@localhost nvidia]# cp docker-ce.repo nvidia-docker.repo /etc/yum.repos.d/[root@localhost nvidia]# rpm -ivh cuda-repo-rhel7-9.1.85-1.x86_64.rpm[root@localhost nvidia]# yum install epel-release[root@localhost nvidia]# yum install gcc gcc-c++[root@localhost nvidia]# yum install kernel*[root@localhost nvidia]# echo "blacklist nouveau" >>/etc/modprobe.d/blacklist.conf[root@localhost nvidia]# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut -v /boot/initramfs-$(uname -r).img $(uname -r) [root@localhost nvidia]# init 3 [root@localhost nvidia]# chmod +x NVIDIA-Linux-x86_64-390.25.run [root@localhost nvidia]# ./NVIDIA-Linux-x86_64-390.25.run[root@localhost nvidia]# yum install docker-ce nvidia-docker[root@localhost nvidia]# systemctl enable docker[root@localhost nvidia]# systemctl start docker[root@localhost nvidia]# systemctl enable nvidia-docker[root@localhost nvidia]# systemctl start nvidia-docker[root@localhost nvidia]# yum install cuda-cudart-9-0-9.0.176-1[root@localhost nvidia]# ln -s cuda-9.0 /usr/local/cuda[root@localhost nvidia]# nvidia-docker build -t centos-nvidia /root/nvidia/centos-gpu#COPY cuda.repo /etc/yum.repos.d/cuda.repo[root@localhost centos-gpu]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEcentos-nvidia latest a02c8e0ad5ca 2 hours ago 207MB[root@localhost centos-gpu]# nvidia-docker run --name="centos-gpu2" -ti a02c /bin/bash[root@34d532e76913 /]# nvidia-smi Sat Feb 10 03:42:20 2018 +-----------------------------------------------------------------------------+| NVIDIA-SMI 390.25 Driver Version: 390.25 ||-------------------------------+----------------------+----------------------+| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. ||===============================+======================+======================|| 0 GeForce GTX 108... Off | 00000000:02:00.0 Off | N/A || 23% 17C P8 8W / 250W | 10MiB / 11178MiB | 0% Default |+-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+| Processes: GPU Memory || GPU PID Type Process name Usage ||=============================================================================|| No running processes found |+-----------------------------------------------------------------------------+[root@34d532e76913 /]# exit[root@localhost centos-gpu]# nvidia-docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES34d532e76913 a02c "/bin/bash" 3 minutes ago Exited (0) 12 seconds ago centos-gpu2d16c2db2bf2e a02c "/bin/bash" 2 hours ago Exited (0) 19 minutes ago centos-gpu370671db8df1 3afd "/bin/bash" 19 hours ago Exited (137) 3 hours ago centos-dronemap[root@localhost centos-gpu]# nvidia-docker start 34d534d5[root@localhost centos-gpu]# nvidia-docker cp /root/nvidia/cuda-repo-rhel7-9.1.85-1.x86_64.rpm 34d532e76913:/root[root@localhost centos-gpu]# nvidia-docker exec -ti 34d5 /bin/bash[root@34d532e76913 /]# cd[root@34d532e76913 ~]# lsanaconda-ks.cfg cuda-repo-rhel7-9.1.85-1.x86_64.rpm[root@34d532e76913 ~]# rpm -ivh cuda-repo-rhel7-9.1.85-1.x86_64.rpm warning: cuda-repo-rhel7-9.1.85-1.x86_64.rpm: Header V3 RSA/SHA512 Signature, key ID 7fa2af80: NOKEYPreparing... ################################# [100%]Updating / installing... 1:cuda-repo-rhel7-9.1.85-1 ################################# [100%][root@34d532e76913 ~]# yum install cuda-*9-0*这里需要注意的是类似于 34d532e76913 这样的编号,是docker自动生成的,运行的时候需要修改一下。
到目前基本上cuda的环境就搭建好了。
TensorFlow
把下载的cudnn包用docker cp复制到docker中,解压下来,将里面的lib64路径添加到 /etc/ld.so.conf.d/nvidia.conf 中,运行ldconfig,就ok了。
上面的环境好了以后,再安装python等等软件,这就不说了。之后tensorflow的一些例子就可以在docker里运行了。当然你得安装gpu版本的,才能发挥显卡的威力。
另外也可以不必要这么麻烦,有已经制作好的镜像可以拿来用,可以参考:pp直接使用命令:docker pull nvidia/cuda 就可以下载镜像了,只不过这是ubuntu版本的,和我们的生成环境不符,如果要其他版本的可以参考上面的例子。
最后
这一段时间没有写什么东西,另外之前的关于图形绘图的东西,一直没扔,已经有很多东西可以和大家分享了,只不过时间很少,还没来得及整理。等有空了就能听着音乐在屏幕前磨洋工了,KeKe~。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持Vecloud。 包括云专线、对等连接、云联网、SD-WAN 等云网产品,这些都是基于底层云专网的资源池互联能力,为云网融合的各种连接场景提供互联互通服务。
|
|