首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >容器内如何使用GPU卡

容器内如何使用GPU卡

原创
作者头像
jouislu
发布2019-08-27 13:47:13
3.9K0
发布2019-08-27 13:47:13
举报
文章被收录于专栏:容器技术容器技术

背景:

         目前容器化部署服务已经成为微服务管理的趋势,大家知道docker目前cgroup支持cpu,内存的隔离,在gpu隔离上目前还做不到,业界gpu卡基本都是英伟达的,目前英伟达提供了插件来支持容器内获取gpu卡信息,并且能做到隔离。

gpu相关知识,显卡,显卡驱动,cuda,cudnn关系

1、显卡(GPU)

GPU,主流是NVIDIA的GPU,深度学习本身需要大量计算。GPU的并行计算能力,在过去几年里恰当地满足了深度学习的需求。AMD的GPU基本没有什么支持,使用比较少。

2、显卡驱动

没有显卡驱动,就不能识别GPU硬件,不能调用其计算资源。

下载地址:https://www.nvidia.com/Download/index.aspx?lang=en-us

3、cuda

cuda是NVIDIA推出的只能用于自家GPU的并行计算框架。只有安装这个框架才能够进行复杂的并行计算。主流的深度学习框架也都是基于CUDA进行GPU并行加速的

下载地址:https://developer.nvidia.com/cuda-downloads

4、cuDNN

cuDNN是一个SDK,是一个专门用于神经网络的加速包,注意,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应,但一般有一个最新版本的cuDNN版本与CUDA对应更好。

注意:NVIDIA的显卡驱动器与CUDA并不是一一对应的,但是有些兼容性问题需要注意:

容器(docker)内使用GPU卡步骤说明:

        1、安装nvidia-docker2 这个会依赖docker,里面包含了docker 与nvidia-docker2

         yum --enablerepo=tlinux-testing install -y nvidia-docker2

        2、配置文件修改/etc/docker/daemon.json

   { "bridge": "none", "debug": false, "default-runtime": "nvidia", "data-root": "/data/docker17", "exec-opts": ["native.cgroupdriver=cgroupfs"], "hosts": ["tcp://localIP:2375", "unix:///var/run/docker.sock"], "insecure-registries": ["10.0.0.0/8", "100.64.0.0/10"], "iptables": false, "log-driver": "journald", "registry-mirrors": ["http://localIP:5000"], "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] }, "docker-runc": { "path": "/usr/bin/docker-runc", "runtimeArgs": [] } }, "storage-driver": "overlay" }

注:修改Docker daemon 的启动参数,将默认的 runtime修改为 nvidia-container-runtime后,可实现将GPU Device,CUDA Driver库挂载到容器中。

3、启动方式增加2个参数

--privileged -e NVIDIA_VISIBLE_DEVICES=all

例如: docker run -d --net=host --name=nvidiatest --privileged -e NVIDIA_VISIBLE_DEVICES=all -v /data/installenv:/data/installenv -ti sz.artifactory.oa.com:8090/paas/public/tlinux2.2 bash

4、在k8s中做gpu隔离

resources: limits: cpu: "88" memory: 253040Mi nvidia.com/gpu: "8" requests: cpu: "88" memory: 253040Mi nvidia.com/gpu: "8"

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档