原 荐 Docker中使用GPU

GPU驱动安装

使用GPU之前,需要先确定好CUDA已经安装配置完成。

查看是否支持GPU

lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1)

显示有一个显卡,一个声卡

安装 CUDA Toolkit

CUDA Toolkit Download 页面下载合适的版本下载。

从图中所框按钮处右键复制出链接地址,下载到宿主机里。

rpm -ivh http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-9.1.85-1.x86_64.rpm
yum clean all
yum install -y cuda
# 安装完成后记得重启系统
reboot 

新增环境配置文件:

vi /etc/profile.d/cuda.sh

粘贴如下内容:

# cuda
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:/usr/local/cuda-9.1/extras/CUPTI/lib64:$LD_LIBRARY_PATH

请根据实际情况确定路径后修改

即时生效

source /etc/profile.d/cuda.sh

NVIDIA cuDNN Install

cuDNN 是专门针对深度框架设计的一套 GPU 计算加速方案,支持的框架包括 Caffe、TensorFlow 等,https://developer.nvidia.com/cuDNN(官网现在下载需要注册账户才能下载)

tar -xf cudnn-9.1-linux-x64-v7.1.tgz
cd cuda
cp include/* /usr/local/cuda/include/
cp lib64/* /usr/local/cuda/lib64/
ldconfig

通过 nvidia-smi 查看 GPU 状态

nvidia-smi

输出:

Tue Apr 24 18:58:50 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:01:00.0 Off |                  N/A |
|  0%   53C    P5    27W / 280W |      0MiB / 11177MiB |      3%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Docker 中使用 GPU

nvidia 官方提供了 nvidia-docker 可以直接驱动 GPU 设备,具体文档可以参考 nvidia-docker

更简单的操作:

export DEVICES=$(\ls /dev/nvidia* | xargs -I{} echo '--device {}:{}')
docker run -it --rm $DEVICES -v /usr/lib64/nvidia/:/usr/local/nvidia/lib64 tensorflow/tensorflow:latest-gpu bash

通过 DEVICES 挂载驱动设备,在通过文件映射,将类库文件挂载到容器镜像内。

链接

Docker 中玩转 GPU

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Flutter入门

Android PC投屏简单尝试(录屏直播)2—硬解章(MediaCodec+RMTP)

代码地址 :https://github.com/deepsadness/MediaProjectionDemo

46220
来自专栏JackieZheng

Spring实战——XML和JavaConfig的混合配置

前言 看了园龄已经两年多了,再不能写完内容直接点击发布,留下一片密密麻麻的文字让别人看的头昏脑涨。所以现在每次写完主要内容后,还需要对于格式稍稍调整下。那么有没...

34860
来自专栏MelonTeam专栏

配置tensorflow GPU 版本填坑路

导语 运气好按照教程一把过,运气不好遇到一堆抓狂的问题,记录下踩到的坑 如果是练习教程中的例子tensorflow cpu 版本够用了,要训练的话...

25370
来自专栏Kubernetes

Kubernetes如何通过Devi

Device Plugins Device Pulgins在Kubernetes 1.10中是beta特性,开始于Kubernetes 1.8,用来给第三方设备...

56880
来自专栏吉浦迅科技

DAY45:阅读Surface Object API

Surface functions are only supported by devices of compute capability 2.0 and hi...

9120
来自专栏GreenLeaves

Linq基础知识小记四之操作EF

1、EF简介 EF之于Linq,EF是一种包含Linq功能对象关系映射技术.EF对数据库架构和我们查询的类型进行更好的解耦,使用EF,我们查询的对象不再是C#类...

18660
来自专栏吉浦迅科技

DAY12:阅读CUDA C Runtime 之多GPU编程

20740
来自专栏Spring相关

feignClient中修改ribbon的配置

在使用@FeignClient注解的时候 是默认使用了ribbon进行客户端的负载均衡的,默认的是随机的策略,那么如果我们想要更改策略的话,需要修改消费者yml...

48410
来自专栏数据科学与人工智能

Ubuntu 16.04下为TITAN 1080 显卡安装驱动及Gpu版TensorFlow|深度学习

近来入坑了TITAN 1080显卡,在Ubuntu 16.04下为装好驱动以使用Gpu版TensorFlow可不简单,踩了许多坑之后写下此篇为记录。 下载Cu...

476110
来自专栏吉浦迅科技

DAY72:阅读Toolkit Support for Dynamic Parallelism

我们正带领大家开始阅读英文的《CUDA C Programming Guide》,今天是第72天,我们正在讲解CUDA 动态并行,希望在接下来的28天里,您可以...

9510

扫码关注云+社区

领取腾讯云代金券