管理已排队的资源
借助已排队的资源,您可以按排队方式请求 Cloud TPU 资源。在您请求已排队的资源时,请求会被添加到由 Cloud TPU 服务维护的队列中。请求的资源可用后,会分配给您的 Google Cloud 项目,供您立即专门使用。除非您将该资源删除或被抢占,否则该资源仍会分配给您的项目。只有 TPU Spot 虚拟机和抢占式 TPU 才符合抢占条件。
您可以在已排队的资源请求中指定可选的开始时间和结束时间。开始时间用于指定完成请求的最早时间。如果请求未在指定的结束时间之前完成,则请求会失效。请求在失效后仍会保留在队列中。
已排队的资源请求可以处于以下任一状态:
WAITING_FOR_RESOURCES
- 请求已通过初始验证,并已添加到队列中。在有足够的可用资源可开始预配您的请求或分配时间间隔到期之前,请求会保持此状态。当需求较高时,并非所有请求都可以立即预配。如果您需要更可靠的 TPU 可获取性,请考虑购买预留。
PROVISIONING
- 已从队列中选择请求,并且正在分配其资源。
ACTIVE
- 请求已分配。当已排队的资源请求处于
ACTIVE
状态时,您可以按照管理 TPU 中所述管理 TPU 虚拟机。 FAILED
- 请求无法完成,原因是请求存在问题,或者请求的资源在分配时间间隔内不可用。请求会保留在队列中,直到它被明确删除为止。
SUSPENDING
- 与请求关联的资源正在被删除。
SUSPENDED
- 请求中指定的资源已被删除。当请求处于
SUSPENDED
状态时,便不再符合进一步分配的条件。
前提条件
在运行本指南中的命令之前,您必须安装 Google Cloud CLI,创建 Google Cloud 项目,然后启用 Cloud TPU API。如需查看相关说明,请参阅设置 Cloud TPU 环境。
如果您使用的是某个 Cloud 客户端库,请按照适用于您所用语言的设置说明执行操作。
请求按需队列资源
按需资源不会被抢占,但按需配额不能保证有足够的可用 Cloud TPU 资源来满足您的请求。如需详细了解按需资源,请参阅配额类型。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central1-a \ --accelerator-type v5litepod-8 \ --runtime-version v2-alpha-tpuv5-lite
curl
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ 'tpu': { 'node_spec': { 'parent': 'projects/your-project-number/locations/us-central1-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5litepod-8', 'runtime_version': 'v2-alpha-tpuv5-lite', } } } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central1-a/queuedResources?queued_resource_id=your-queued-resource-id
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击创建 TPU。
在名称字段中,输入 TPU 的名称。
在可用区框中,选择您要在其中创建 TPU 的可用区。
在 TPU 类型框中,选择加速器类型。加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
在 TPU 软件版本框中,选择软件版本。创建 Cloud TPU 虚拟机时,TPU 软件版本用于指定要安装的 TPU 运行时的版本。如需了解详情,请参阅 TPU 软件版本。
点击启用队列功能切换开关。
在已排队资源的名称字段中,输入已排队的资源请求的名称。
点击创建以创建已排队的资源请求。
Java
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
使用预留请求已排队的资源
您可以使用预留请求已排队的资源。如需购买预留,请与您的 Google Cloud 客户支持团队联系。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central1-a \ --accelerator-type v5litepod-8 \ --runtime-version v2-alpha-tpuv5-lite \ --reserved
命令参数说明
curl
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ 'tpu': { 'node_spec': { 'parent': 'projects/your-project-number/locations/us-central1-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5litepod-8', 'runtime_version': 'v2-alpha-tpuv5-lite', } } }, 'guaranteed': { 'reserved': true, } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central1-a/queuedResources?queued_resource_id=your-queued-resource-id
命令参数说明
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击创建 TPU。
在名称字段中,输入 TPU 的名称。
在可用区框中,选择您要在其中创建 TPU 的可用区。
在 TPU 类型框中,选择加速器类型。加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
在 TPU 软件版本框中,选择软件版本。创建 Cloud TPU 虚拟机时,TPU 软件版本用于指定要安装的 TPU 运行时的版本。如需了解详情,请参阅 TPU 软件版本。
点击启用队列功能切换开关。
在已排队资源的名称字段中,输入已排队的资源请求的名称。
展开管理部分。
选中使用现有预留复选框。
点击创建以创建已排队的资源请求。
请求 TPU Spot 虚拟机已排队的资源
Spot 虚拟机是一种可随时被抢占并分配给其他工作负载的资源。与非 Spot 虚拟机请求相比,Spot 虚拟机资源的费用更低,并且您可能更快地访问资源。如需详细了解 TPU Spot 虚拟机,请参阅管理 TPU Spot 虚拟机。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central1-a \ --accelerator-type v5litepod-8 \ --runtime-version v2-alpha-tpuv5-lite \ --spot
curl
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ 'tpu': { 'node_spec': { 'parent': 'projects/your-project-number/locations/us-central1-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5litepod-8', 'runtime_version': 'v2-alpha-tpuv5-lite' } } }, 'spot': {} }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central1-a/queuedResources?queued_resource_id=your-queued-resource-id
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击创建 TPU。
在名称字段中,输入 TPU 的名称。
在可用区框中,选择您要在其中创建 TPU 的可用区。
在 TPU 类型框中,选择加速器类型。加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
在 TPU 软件版本框中,选择软件版本。创建 Cloud TPU 虚拟机时,TPU 软件版本用于指定要安装的 TPU 运行时的版本。如需了解详情,请参阅 TPU 软件版本。
点击启用队列功能切换开关。
在已排队资源的名称字段中,输入已排队的资源请求的名称。
展开管理部分。
选中将此项设置为 TPU Spot 虚拟机复选框。
点击创建。
Java
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
请求在指定时间之前或之后分配已排队的资源
您可以在已排队的资源请求中指定可选的开始时间或结束时间。开始时间或开始时长用于指定完成请求的最早时间。结束时间或结束时长用于指定请求保持有效的时长。如果请求未在指定的结束时间之前或指定的时长内完成,则请求会失效。请求失效后,会保留在队列中,但不再符合分配条件。
您还可以通过指定开始时间或时长以及结束时间或时长来指定分配时间间隔。
如需查看支持的时间戳和时长格式列表,请参阅日期时间。
请求在指定的时间后执行已排队的资源
在已排队的资源请求中,您可以指定在多久时间或时长之后应分配资源。
gcloud
以下命令请求在 2022 年 12 月 14 日上午 9 点之后分配 v5p-4096 TPU。
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-east5-a \ --accelerator-type v5p-4096 \ --runtime-version v2-alpha-tpuv5 \ --valid-after-time 2022-12-14T09:00:00Z
命令参数说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-after-time
- 在什么时间之后应分配资源。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期时间。
curl
以下命令请求在 2022 年 12 月 14 日上午 9 点之后分配 v5p-4096 TPU。
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ 'tpu': { 'node_spec': { 'parent': 'projects/your-project-number/locations/us-east5-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5p-4096', 'runtime_version': 'v2-alpha-tpuv5', } } }, 'queueing_policy': { 'valid_after_time': { 'seconds': 2022-12-14T09:00:00Z } } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-east5-a/queuedResources?queued_resource_id=your-queued-resource-id
命令参数说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-after-time
- 在多久时间之后应分配资源。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期时间。
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击创建 TPU。
在名称字段中,输入 TPU 的名称。
在可用区框中,选择您要在其中创建 TPU 的可用区。
在 TPU 类型框中,选择加速器类型。加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
在 TPU 软件版本框中,选择软件版本。创建 Cloud TPU 虚拟机时,TPU 软件版本用于指定要安装的 TPU 运行时的版本。如需了解详情,请参阅 TPU 软件版本。
点击启用队列功能切换开关。
在已排队资源的名称字段中,输入已排队的资源请求的名称。
在请求开始时间字段中,输入在多久时间之后应分配资源。
点击创建以创建已排队的资源请求。
以下示例请求在六小时后分配 v5p-32。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-east5-a \ --accelerator-type v5p-32 \ --runtime-version v2-alpha-tpuv5 \ --valid-after-duration 6h
命令参数说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-after-duration
- 在多久时长之前不得预配 TPU。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期时间
curl
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ 'tpu': { 'node_spec': { 'parent': 'projects/your-project-number/locations/us-east5-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5p-32', 'runtime_version': 'v2-alpha-tpuv5', } } }, 'queueing_policy': { 'valid_after_duration': { 'seconds': 21600 } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-east5-a/queuedResources?queued_resource_id=your-queued-resource-id
命令参数说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-after-duration
- 在多久时长之前不得预配 TPU。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期时间
Java
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
请求在指定的时间后过期的已排队资源
在已排队的资源请求中,您可以指定已排队的资源请求保持有效的时长。如果请求未在您指定的时间或时长内完成,则请求会失效。
gcloud
以下命令请求 v5p-4096 TPU。如果请求未在 2022 年 12 月 14 日上午 9:00 之前完成,则请求会失效。
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-east5-a \ --accelerator-type v5p-4096 \ --runtime-version v2-alpha-tpuv5 \ --valid-until-time 2022-12-14T09:00:00Z
命令参数说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的项目的 ID。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-until-time
- :在多久时间之后请求会被取消。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式。
curl
以下命令请求 v5p-4096 TPU。如果请求未在 2022 年 12 月 14 日上午 9:00 之前完成,则请求会失效。
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ 'tpu': { 'node_spec': { 'parent': 'projects/your-project-number/locations/us-east5-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5p-4096', 'runtime_version': 'v2-alpha-tpuv5', } } }, 'queueing_policy': { 'valid_until_time': { 'seconds': 1655197200 } } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-east5-a/queuedResources?queued_resource_id=your-queued-resource-id
命令参数说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的项目的 ID。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-until-time
- :在多久时间之后请求会被取消。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式。
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击创建 TPU。
在名称字段中,输入 TPU 的名称。
在可用区框中,选择您要在其中创建 TPU 的可用区。
在 TPU 类型框中,选择加速器类型。加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
在 TPU 软件版本框中,选择软件版本。创建 Cloud TPU 虚拟机时,TPU 软件版本用于指定要安装的 TPU 运行时的版本。如需了解详情,请参阅 TPU 软件版本。
点击启用队列功能切换开关。
在已排队资源的名称字段中,输入已排队的资源请求的名称。
在请求取消时间字段中,输入已排队的资源请求在未完成时应失效的时间。
点击创建以创建已排队的资源请求。
以下示例请求 v5p-32。如果在六小时内未完成请求,则请求会失效。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-east5-a \ --accelerator-type v5p-32 \ --runtime-version v2-alpha-tpuv5 \ --valid-until-duration 6h
命令参数说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-until-duration
- 请求有效的时长。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式
curl
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ 'tpu': { 'node_spec': { 'parent': 'projects/your-project-number/locations/us-east5-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5p-32', 'runtime_version': 'v2-alpha-tpuv5', } } }, 'queueing_policy': { 'valid_until_duration': { 'seconds': 21600 } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-east5-a/queuedResources?queued_resource_id=your-queued-resource-id
命令参数说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-until-duration
- 请求有效的时长。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式
Python
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
请求在指定的时间间隔内分配已排队的资源
您可以通过同时指定开始时间或时长和结束时间或时长来指定分配时间间隔。
gcloud
以下命令请求从当前时间开始的 5 小时 30 分钟内创建 v5p-32,创建时间不得晚于 2022 年 12 月 14 日上午 9:00。
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-east5-a \ --accelerator-type v5p-32 \ --runtime-version v2-alpha-tpuv5 \ --valid-after-duration 5h30m \ --valid-until-time 2022-12-14T09:00:00Z
命令标志说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的项目的 ID。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-until-time
- :在多久时间之后请求会被取消。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式。
valid-after-duration
- 在多久时长之前不得预配 TPU。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式。
curl
以下命令请求从当前时间开始的 5 小时 30 分钟内创建 v5p-32,创建时间不得晚于 2022 年 12 月 14 日上午 9:00。
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ 'tpu': { 'node_spec': { 'parent': 'projects/your-project-number/locations/us-east5-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5p-32', 'runtime_version': 'v2-alpha-tpuv5', } } }, 'queueing_policy': { 'validInterval': { 'startTime': '2022-12-10T14:30:00Z', 'endTime': '2022-12-14T09:00:00Z' } }, }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-east5-a/queuedResources?queued_resource_id=your-queued-resource-id
命令标志说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的项目的 ID。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
valid-until-timw
- :在多久时间之后请求会被取消。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式。
valid-until-duration
- 请求有效的时长。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式。
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击创建 TPU。
在名称字段中,输入 TPU 的名称。
在可用区框中,选择您要在其中创建 TPU 的可用区。
在 TPU 类型框中,选择加速器类型。加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
在 TPU 软件版本框中,选择软件版本。创建 Cloud TPU 虚拟机时,TPU 软件版本用于指定要安装的 TPU 运行时的版本。如需了解详情,请参阅 TPU 软件版本。
点击启用队列功能切换开关。
在已排队资源的名称字段中,输入已排队的资源请求的名称。
在请求开始时间字段中,输入在多久时间之后应分配资源。
在请求取消时间字段中,输入已排队的资源请求在未完成时应失效的时间。
点击创建以创建已排队的资源请求。
使用启动脚本请求已排队的资源
您可以指定脚本在预配后的已排队资源上运行。
gcloud
使用 gcloud
命令时,您可以分别使用 --metadata
或 --metadata-from-file
标志来指定脚本命令或包含脚本代码的文件。以下示例会创建一个运行 startup-script.sh
脚本的已排队资源请求。
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central1-a \ --accelerator-type v5litepod-8 \ --runtime-version v2-alpha-tpuv5-lite \ --metadata-from-file='startup-script=startup-script.sh'
命令标志说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的项目的 ID。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
validInterval
- 请求有效的时间段,在此时间之后,请求会被取消。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式。
metadata-from-file
- 指定包含元数据的文件。如果您未指定元数据文件的完全限定路径,该命令会假定该文件位于当前目录中。在此示例中,该文件包含一个启动脚本,该脚本会在预配已排队的资源后运行。
metadata
- 指定请求的元数据。在此示例中,元数据是预配已排队的资源后运行的启动脚本命令。
curl
使用 curl
时,您必须在 JSON 内容中添加脚本代码。以下示例会在 JSON 正文中添加内嵌脚本。
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ tpu: { node_spec: { parent: 'projects/your-project-number/locations/us-central1-a', node_id: 'your-node-id', node: { accelerator_type: 'v5e-8', runtime_version: 'v2-alpha-tpuv5-lite', metadata: { "startup-script": "#! /bin/bash\npwd > /tmp/out.txt\nwhoami >> /tmp/out.txt" } } } }, 'queueing_policy': { 'validInterval': { 'startTime': '2022-12-10T14:30:00Z', 'endTime': '2022-12-14T09:00:00Z' } }, }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central1-a/queuedResources?queued_resource_id=your-queued-resource-id
命令标志说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
node-id
- :响应请求而创建的 TPU 的用户定义 ID。
project
- :已排队的资源分配到的项目的 ID。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
validInterval
- 请求有效的时间段,在此时间之后,请求会被取消。如需详细了解时长格式,请参阅 Google Cloud CLI 主题日期格式。
metadata-from-file
- 指定包含元数据的文件。如果您未指定元数据文件的完全限定路径,该命令会假定该文件位于当前目录中。在此示例中,该文件包含一个启动脚本,该脚本会在预配已排队的资源后运行。
metadata
- 指定请求的元数据。在此示例中,元数据是预配已排队的资源后运行的启动脚本命令。
Java
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
请求具有指定网络和子网的已排队资源
在已排队的资源请求中,您可以指定要将 TPU 连接到的网络和子网。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central1-a \ --accelerator-type v5e-8 \ --runtime-version v2-alpha-tpuv5-lite \ --network network-name \ --subnetwork subnetwork-name
命令参数说明
queued-resource-id
- 已排队的资源请求的用户分配 ID。
node-id
- 用户分配的 TPU ID,该 ID 是在分配已排队的资源请求时创建的。
project
- 您的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
reserved
- 在请求已排队的资源作为 Cloud TPU 预留的一部分时使用此标志。
network
- :已排队的资源所属的网络。
subnetwork
- :已排队的资源所属的子网。
curl
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "{ 'tpu': { 'node_spec': { 'parent': 'projects/your-project-number/locations/us-central1-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5e-8', 'runtime_version': 'v2-alpha-tpuv5-lite', 'network_config': { 'network': 'network-name', 'subnetwork': 'subnetwork-name', 'enable_external_ips': true } } }, 'guaranteed': { 'reserved': true, } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central1-a/queuedResources?queued_resource_id=your-queued-resource-id
命令参数说明
queued-resource-id
- 已排队的资源请求的用户分配 ID。
node-id
- 用户分配的 TPU ID,该 ID 是在分配已排队的资源请求时创建的。
project
- 您的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
accelerator-type
- 加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
runtime-version
- Cloud TPU 软件版本。
reserved
- 在请求已排队的资源作为 Cloud TPU 预留的一部分时使用此标志。
network
- :已排队的资源所属的网络。
subnetwork
- :已排队的资源所属的子网。
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击创建 TPU。
在名称字段中,输入 TPU 的名称。
在可用区框中,选择您要在其中创建 TPU 的可用区。
在 TPU 类型框中,选择加速器类型。加速器类型用于指定您要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
在 TPU 软件版本框中,选择软件版本。创建 Cloud TPU 虚拟机时,TPU 软件版本用于指定要安装的 TPU 运行时的版本。如需了解详情,请参阅 TPU 软件版本。
点击启用队列功能切换开关。
在已排队资源的名称字段中,输入已排队的资源请求的名称。
展开网络部分。
在网络和子网字段中,选择要使用的网络和子网。
点击创建以创建已排队的资源请求。
Java
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
删除已排队的资源请求
您可以删除已排队的资源请求,并通过删除已排队的资源请求来删除与该请求关联的 TPU:
gcloud
将 --force
标志传递给 queued-resource delete
命令:
gcloud compute tpus queued-resources delete your-queued-resource-id \ --project your-project-id \ --zone us-central1-a \ --force \ --async
命令标志说明
your-queued-resource-id
- 已排队的资源请求的用户分配 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 要删除的 Cloud TPU 的可用区。
force
- 同时删除 TPU 虚拟机和已排队的资源请求。
curl
在 curl
请求中使用查询参数 force=true
:
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://tpu.googleapis.com/v2/projects/your-project-id/locations/us-central1-a/queuedResources/your-queued-resource-id?force=true
命令标志说明
your-queued-resource-id
- 已排队的资源请求的用户分配 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 要删除的 Cloud TPU 的可用区。
force
- 同时删除 TPU 虚拟机和已排队的资源请求。
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击已排队的资源标签页。
选中已排队的资源请求旁边的复选框。
点击
删除。
Java
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
如果您直接删除 TPU,则还需要删除已排队的资源,如以下示例所示。删除 TPU 后,已排队的资源请求会转换为 SUSPENDED
状态,之后便可删除已排队的资源请求。
gcloud
删除 TPU:
$ gcloud compute tpus tpu-vm delete your-node-id \ --project=your-project-id \ --zone=us-central1-a \ --quiet
命令标志说明
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 要删除的 Cloud TPU 的可用区。
your-node-id
- 要删除的 TPU 的名称。
删除 TPU 后,关联的已排队资源会先进入 SUSPENDING
状态,然后进入 SUSPENDED
状态。当已排队的资源处于 SUSPENDED
状态时,您可以将其删除:
gcloud compute tpus queued-resources delete your-queued-resource-id \ --project your-project-id \ --zone us-central1-a
命令标志说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 要删除的 Cloud TPU 的可用区。
curl
删除 TPU:
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://tpu.googleapis.com/v2/projects/your-project/locations/us-central1-a/nodes?node_id=your-node-id
命令标志说明
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 要删除的 Cloud TPU 的可用区。
your-node-id
- 要删除的 TPU 的名称。
删除 TPU 后,关联的已排队资源会先进入 SUSPENDING
状态,然后进入 SUSPENDED
状态。当已排队的资源处于 SUSPENDED
状态时,您可以将其删除:
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://tpu.googleapis.com/v2/projects/your-project-id/locations/us-central1-a/queuedResources/your-queued-resource-id
命令标志说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 要删除的 Cloud TPU 的可用区。
控制台
删除 TPU:
在 Google Cloud 控制台中,前往 TPU 页面:
选中 TPU 旁边的复选框。
点击
删除。
删除 TPU 后,关联的已排队资源会先进入正在暂停状态,然后进入已暂停状态。当已排队的资源处于已暂停状态时,您可以将其删除:
- 点击已排队的资源标签页。
- 选中已排队的资源请求旁边的复选框。
- 点击 删除。
Java
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
删除 TPU 后,关联的已排队资源会先进入 SUSPENDING
状态,然后进入 SUSPENDED
状态。当已排队的资源处于 SUSPENDED
状态时,您可以将其删除:
Python
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
删除 TPU 后,关联的已排队资源会先进入 SUSPENDING
状态,然后进入 SUSPENDED
状态。当已排队的资源处于 SUSPENDED
状态时,您可以将其删除:
检索有关已排队资源请求的状态和诊断信息
检索有关已排队资源请求的状态和诊断信息:
gcloud
gcloud compute tpus queued-resources describe queued-resource-request-id \ --project your-project-id \ --zone us-central1-a
命令标志说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
project
- :已排队的资源分配到的项目的 ID。
zone
- 拟在其中创建 Cloud TPU 的可用区。
curl
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://tpu.googleapis.com/v2/projects/your-project-id/locations/us-central1-a/queuedResources/your-queued-resource-id
命令标志说明
queued-resource-request-id
- 已排队的资源请求的用户分配 ID。
project
- :已排队的资源分配到的项目的 ID。
zone
- 拟在其中创建 Cloud TPU 的可用区。
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击已排队的资源标签页。
点击已排队的资源请求的名称。
预配 TPU 后,您还可以前往 TPU 页面,找到您的 TPU,然后点击相应的已排队资源请求的名称,以查看有关已排队的资源请求的详细信息。
Java
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
如果请求失败,输出将包含错误信息。对于正在等待资源的请求,输出类似于以下内容:
gcloud
name: projects/your-project-id/locations/us-central1-a/queuedResources/your-queued-resource-id state: state: WAITING_FOR_RESOURCES tpu: nodeSpec: - node: acceleratorType: v4-8 bootDisk: {} networkConfig: enableExternalIps: true queuedResource: projects/your-project-number/locations/us-central1-a/queuedResources/your-queued-resource-id runtimeVersion: v2-alpha-tpuv5-lite schedulingConfig: {} serviceAccount: {} shieldedInstanceConfig: {} useTpuVm: true nodeId: your-node-id parent: projects/your-project-number/locations/us-central1-a
控制台
已排队资源的状态字段显示正在等待资源。
列出项目中已排队的资源请求
列出项目中已排队的资源请求:
gcloud
gcloud compute tpus queued-resources list --project your-project-id \ --zone us-central1-a
命令标志说明
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
curl
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://tpu.googleapis.com/v2/projects/your-project-id/locations/your-zone/queuedResources
命令标志说明
project
- :已排队的资源分配到的 Google Cloud 项目。
zone
- 拟在其中创建 Cloud TPU 的可用区。
控制台
在 Google Cloud 控制台中,前往 TPU 页面:
点击已排队的资源标签页。
Java
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。