我正在使用以下代码行在 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",