本文介绍如何使用ECI GPU实例,使用ECI GPU可以通过GPU对应的docker镜像直接跑在ECI上,不需要安装tensorflow,cuda toolkit等软件,比如tensorflow/tensorflow:1.13.1-gpu, nvidia/cuda。当前ECI GPU支持的驱动版本NVIDIA 418.87,可支持的CUDA Toolkit版本是10.0。
GPU规格
ECI支持通过指定ECS GPU规格进行GPU实例的创建。
支持的ECS GPU规格族包括:
- GPU计算型实例规格族gn6v(NVIDIA V100),例如:ecs.gn6v-c8g1.2xlarge。
- GPU计算型实例规格族gn6i(NVIDIA T4),例如:ecs.gn6i-c4g1.xlarge。
- GPU计算型实例规格族gn5(NVIDIA P100),例如:ecs.gn5-c4g1.xlarge。
- GPU计算型实例规格族gn5i(NVIDIA P4),例如:ecs.gn5i-c2g1.large。
完整的ECS GPU规格定义,请参见实例规格族。
Kubernetes方式
pod声明中增加annotations: k8s.aliyun.com/eci-use-specs。
- 在Pod metadata中添加指定规格的annotations。
- 【必须】在Container的resources中申明GPU资源,添加nvidia.com/gpu属性。
apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
name: nginx-gpu-demo-1
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
annotations:
k8s.aliyun.com/eci-use-specs: ecs.gn5i-c4g1.xlarge
spec:
containers:
- name: nginx
image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.15.10 # replace it with your exactly <image_name:tags>
resources:
limits:
nvidia.com/gpu: '1' # !!!注意,必须指定该值,否则Pod应用启动后会报错。
ports:
- containerPort: 80
OpenAPI方式
CreateContainerGroup
ECI API已经有介绍, 对于GPU的支持,需要在请求参数中增加一项。
请求参数中增加:
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
InstanceType | String | 是 | 实例规格 |
Container中增加
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
Gpu | Integer | 是 | 容器级别gpu个数 |
其中InstanceType
使用ECS实例规格标识。在CreateContainerGroup创建ECI GPU实例的时候,InstanceType
需要给定,如果这个参数未给定,但是指定了Container
中的Gpu,
请求会返回错误;
ECI GPU实例是container级别的使用,所有container使用的Gpu
个数加起来不能大于InstanceType
中规定的个数,如果大于则CreateContainerGroup请求会返回错误。
UpdateContainerGroup
与CreateContainerGroup相似,如果要更新container中gpu的数量的话,UpdateContainerGroup的API接口也需要在container中加入Gpu
参数:
Container中增加
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
Gpu | Integer | 是 | 容器级别gpu个数 |
在文档使用中是否遇到以下问题
更多建议
匿名提交