Applications may have custom requirements on instance types, such as GPU capabilities, enhanced network capabilities, high clock speed, local storage, and AMD models. Workflow clusters allow you to run workflows on a specified type of Elastic Compute Service (ECS) instances. This topic describes how to run workflows on a specified type of ECS instances.
Table of contents
Supported ECS instance types
Supported GPU-accelerated ECS instance types
The GPU driver version supported by GPU-accelerated elastic container instances is NVIDIA 460.73.01. The CUDA Toolkit version supported by GPU-accelerated elastic container instances is 11.2. For more information about CUDA Toolkit, see NVIDIA CUDA.
You can create elastic container instances on GPU-accelerated ECS instances. You can run workflows on the following GPU-accelerated ECS instance types:
gn6v, a GPU-accelerated compute-optimized instance family that uses NVIDIA V100 GPUs. This instance family includes a variety of instance types, such as ecs.gn6v-c8g1.2xlarge.
gn6i, a GPU-accelerated compute-optimized instance family that uses NVIDIA T4 GPUs. This instance family includes a variety of instance types, such as ecs.gn6i-c4g1.xlarge.
gn5, GPU-accelerated compute-optimized instance family that uses NVIDIA P100 GPUs. This instance family includes a variety of instance types, such as ecs.gn5-c4g1.xlarge.
gn5i, GPU-accelerated compute-optimized instance family that uses NVIDIA P4 GPUs. This instance family includes a variety of instance types, such as ecs.gn5i-c2g1.large.
For more information about GPU-accelerated ECS instance types, see Instance families.
Supported AMD-based ECS instance types
You can create AMD-based elastic container instances on AMD-based ECS instances. AMD-based elastic container instances are powered by AMD EPYCTM ROME processors. These instances offload a large number of virtualization features to dedicated hardware with the use of the SHENLONG architecture to provide predictable and consistent ultra-high performance and reduce virtualization overheads. AMD-based elastic container instances are suitable for the following scenarios: video encoding and decoding, web frontend servers, frontend servers of large multiplayer online (MMO) games, scenarios where large numbers of packets are received and transmitted, and scenarios where applications such as DevOps applications are developed and tested.
You can run workflows on the following AMD-based ECS instance types:
g7a and g6a, general-purpose instance families. These instance families include a variety of instance types, such as ecs.g7a.large and ecs.g6a.large.
c7a and c6a, compute-optimized instance families. These instance families include a variety of instance types, such as ecs.c7a.large and ecs.c6a.large.
r7a and r6a, memory-optimized instance families. These instance families include a variety of instance types, such as ecs.r7a.large and ecs.r6a.large.
For more information about AMD-based ECS instance types, see Instance families.
Examples
You can add the annotations: k8s.aliyun.com/eci-use-specs
annotation to pod metadata to specify GPU-accelerate ECS instance types and AMD-based ECS instance types. The following sample code provides an example:
Examples of GPU-accelerated ECS instances
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: hello-world-
spec:
entrypoint: whalesay
templates:
- name: whalesay
metadata:
annotations:
k8s.aliyun.com/eci-use-specs: ecs.gn5i-c4g1.xlarge # Specify a GPU-accelerated ECS instance type.
container:
image: docker/whalesay
command: [ cowsay ]
args: [ "hello world" ]
Examples of AMD-based ECS instances
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: hello-world-
spec:
entrypoint: whalesay
templates:
- name: whalesay
metadata:
annotations:
k8s.aliyun.com/eci-use-specs: "ecs.c6a.xlarge" # Specify an AMD-based ECS instance type.
container:
image: docker/whalesay
command: [ cowsay ]
args: [ "hello world" ]