Google Cloud Build构建时添加GPU支持的问题及替代方案咨询
Google Cloud Build构建阶段添加GPU支持的问题
背景说明
我计划创建新构建器,用于在Cloud Build构建阶段添加GPU支持(比如编译FlashAttention)。首先构建了GPU构建器,对应的cloudbuild.yaml配置如下:
steps: - name: 'gcr.io/cloud-builders/docker' env: - ZONE=us-east5-b args: ['build', '-t', 'grc.io/project/builder/gpu-builder:latest', '.'] images: - 'grc.io/project/buider/gpu-builder:latest' options: machineType: 'E2_HIGHCPU_8'
使用命令gcloud builds submit --config=cloudbuild.yaml .构建后,镜像推送成功,一切正常。
我的目标是使用该构建器,通过添加--accelerator参数启用GPU实例,因此创建了如下配置文件:
steps: - name: grc.io/project/builder/gpu-builder:latest waitFor: ["-"] env: - INSTANCE_ARGS=--accelerator=type=nvidia-a100-80gb,count=1 - USERNAME=cloud-user - COMMAND=docker run -v /home/cloud-user/workspace:/workspace ubuntu:16.04 bash -xe /workspace/test-scripts/no-op.sh options: machineType: 'E2_HIGHCPU_8'
注:我尝试修改machineType,但并未生效。
问题描述
无论我如何修改machineType(因部分GPU需指定特定可用区),构建时始终尝试使用n1-standard-1机型,报错如下:
- Invalid value for field 'resource.machineType': 'https://compute.googleapis.com/compute/v1/projects/operation-405916/zones/us-east5-b/machineTypes/n1-standard-1'. Machine type with name 'n1-standard-1' does not exist in zone 'us-east5-b'.
当我切换到支持n1-standard-1的可用区时,又出现如下错误:
ERROR: (gcloud.compute.instances.create) Could not fetch resource: - [n1-standard-1, nvidia-a100-80gb] features are not compatible for creating instance.
(已确认所选可用区支持A100 GPU)
[更新]
尝试在INSTANCE_ARGS中指定机型后,仍出现错误:
+ gcloud compute instances create --accelerator=type=nvidia-a100-80gb,count=1 --machine-type a2-ultragpu-1g builder-9821e1c9-58f1-4829-badb-4cf5a3e69a1f --metadata block-project-ssh-keys=TRUE --metadata-from-file ssh-keys=ssh-keys ERROR: (gcloud.compute.instances.create) Could not fetch resource: - Instances with guest accelerators do not support live migration. ERROR
[更新补充]
有提示称在INSTANCE_ARGS中添加--maintenance-policy terminate可能解决该问题。
问题
- 为何修改
machineType的设置始终不生效? - 是否存在其他在Cloud Build中使用GPU的方法?
内容的提问来源于stack exchange,提问作者everyDay0
相关产品推荐
相关产品推荐

