1

我正在使用以下代码行在 Kubeflow 管道 (KFP) 上指定所需的机器类型和加速器/GPU,我将通过 Vertex AI/Pipelines 以无服务器方式运行。

op().
set_cpu_limit(8).
set_memory_limit(50G).
add_node_selector_constraint('cloud.google.com/gke-accelerator', 'nvidia-tesla-k80').
set_gpu_limit(1)

它也适用于其他 GPU,即 Pascal、Tesla、Volta 卡。

但是,我不能对最新的加速器类型做同样的事情,Tesla A100因为它需要一个特殊的机器类型,它至少是a2-highgpu-1g.

a2-highgpu-1g当我在 Vertex 上运行它时,如何确保这个特定组件将在其之上运行?

如果我只是按照旧 GPU 的方法:

op().
set_cpu_limit(12). # max for A2-highgpu-1g
set_memory_limit(85G). # max for A2-highgpu-1g
add_node_selector_constraint('cloud.google.com/gke-accelerator', 'nvidia-tesla-a100').
set_gpu_limit(1)

它在运行/部署时引发错误,因为生成的机器类型是通用类型,即 N1-Highmem-*

当我没有指定 cpu 和内存限制时也发生了同样的事情,希望它会根据加速器约束自动选择正确的机器类型。

    op().
    add_node_selector_constraint('cloud.google.com/gke-accelerator', 'nvidia-tesla-a100').
    set_gpu_limit(1)

错误: "NVIDIA_TESLA_A100" is not supported for machine type "n1-highmem-2",

4

1 回答 1

2

目前,GCP 不支持普通 KF 组件的 A2 机器类型。现在一个潜在的解决方法是使用GCP 自定义作业组件,您可以明确指定机器类型。

于 2021-09-20T02:13:08.633 回答