GPU 机器学习开箱使用记录

作者阿里云代理 文章分类 分类:linux图文教程 阅读次数 已被围观 344

内容简介

一、 ECI GPU 介绍

二、 ECI GPU 完成

三、 ECI GPU 运用

四、 演示实例


一、 ECI GPU 介绍

ECI GPU 实例为用户容器提供 NVIDIA GPU 资源以加快机器学习等事务的运行。

1. 预装 GPU 驱动:

用户无需安装和保护驱动;

2. 兼容 CRI 接口

Kubernetes 能够直接对接 ECI GPU 实例进行调度和编排;

3. 一键式布置,开箱即用:

4. 利用官方容器镜像,用户只需要专心于事务功用的开发和完成,无需关心CUDA Toolkit/Tensorflow/MxNet 等工具和结构的搭建和布置。

5. 经过 ECI GPU 实例,用户能够一键式布置和运行经过 GPU 加快的机器学习等事务。


二、 ECI GPU 完成

用户容器若要运用 GPU,与其他实例不同,容器中的进程无法经过内核接口拜访GPU 资源,有必要经过 GPU 驱动库来与 GPU 进行交互。

ECIGPU 的完成计划本质上就是经过 NVIDIA 开源的 libnvidia-container 组件将 ECI 预装的 GPU 驱动的必要动态库文件挂载到用户容器中,从而使得用户容器能够经过 GPU 驱动的动态库文件拜访到GPU资源。

1. containerd 向 runc 下发创立运用GPU的容器指令;

2. runc 创立容器时调用

prestart hook(nvidia- container-runtime-hook);

3. hook 调用 libnvidia-container 将必要的 GPU 驱动动态库挂载到容器上;

4. 创立好容器进程经过挂载的 GPU 驱动动态库拜访并运用 GPU 资源。

图片33.png


一、 ECI GPU运用

ACK/ASK

metadata:

name:gpu-example

annotations:

k8s.allyun.com/eci-use-specs:ecs.gn6v-c8g1.8xlarge

spec:

containers:

-name:tensorflow

image:tensorflow/tensorf1ow:1.14.0-gpu

imagePullPolicy: IfNotPresent

resources;

limits:

nvidia.com/gpu:1

- name: mxnet

1mage:mxnet/python:1.4.1_gpu_cu100_py3

imagePullPolicy:IfNotPresent

resources:

limits:

nvidia.com/gpu:1


二、 演示实例

MNIST

1. 创立容器

apiVersion:v1

kind:Pod

metadata:

name: mnist-gpu-example

annotations:

k8s.aliyun.com/eci-use-specs:ecs.gn5i-c8g1.2xlarge

spec:

containers:

-name:pytorch

image: nvcr.io/nvidia/pytorch:18.05-py3

imagePullPolicy:IfNotPresent

args:["sleep","infinity"]

resources:

limits:

nvidia.com/gpu:1

2. 经过 Kubectl 登录到容器中执行 nvidia-smi 指令承认 GPU 可用;

3. 在 /workspace/examples/mnist 目录下执行 python main.py 开始训练任务。

本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。

我有话说: