キューに入れられたリソースを管理する
キューに格納されたリソースを使用すると、Cloud TPU リソースをキューに格納してリクエストできます。キューに格納されたリソースをリクエストすると、リクエストは Cloud TPU サービスによって管理されるキューに追加されます。リクエストされたリソースが使用可能になると、すぐに Google Cloud プロジェクトに割り当てられ、すぐに専用で使用できるようになります。プロジェクトを削除またはプリエンプトしない限り、プロジェクトに割り当てられたままになります。プリエンプションの対象は TPU Spot VM とプリエンプティブル TPU のみとなります。
キューに入れられたリソース リクエストで、開始時刻や終了時刻(オプション)を指定できます。開始時刻は、リクエストを入力できる最も早い時刻を指定します。指定された終了時刻までにリクエストが入力されていない場合、リクエストは期限切れになります。リクエストは有効期限が切れた後もキュー内に残ります。
キューに格納されたリソース リクエストは、次のいずれかの状態になります。
WAITING_FOR_RESOURCES
- リクエストは最初の検証に合格し、キューに追加されました。この状態は、リクエストのプロビジョニングを開始するのに十分な空きリソースがあるか、割り当て区間が経過するまで維持されます。需要が高い場合、すべてのリクエストをすぐにプロビジョニングできるわけではありません。TPU の信頼性を高める必要がある場合は、予約の購入を検討してください。
PROVISIONING
- リクエストがキューから選択され、リソースが割り当てられています。
ACTIVE
- リクエストが割り当てられました。キューに格納されたリソース リクエストが
ACTIVE
状態になると、TPU を管理するの説明に従って TPU VM を管理できます。 FAILED
- リクエストに問題があるか、リクエストされたリソースが割り当て区間内で使用できないため、リクエストを完了できませんでした。リクエストは、明示的に削除されるまでキューに残ります。
SUSPENDING
- リクエストに関連付けられているリソースが削除されています。
SUSPENDED
- リクエストで指定されたリソースが削除されました。リクエストが
SUSPENDED
状態になると、それ以上の割り当ての対象外になります。
前提条件
このガイドのコマンドを実行する前に、Google Cloud CLI をインストールし、Google Cloud プロジェクトを作成して、Cloud TPU API を有効にする必要があります。手順については、Cloud TPU 環境を設定するをご覧ください。
キューに入れられたオンデマンド リソースをリクエストする
オンデマンド リソースはプリエンプトされませんが、オンデマンド割り当ては、リクエストを満たすのに十分な Cloud TPU リソースがあることを保証するものではありません。オンデマンド リソースの詳細については、割り当てタイプをご覧ください。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project \ --zone us-central2-b \ --accelerator-type v4-8 \ --runtime-version tpu-vm-tf-2.18.0-pjrt
コマンド パラメータの説明
queued-resource-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
node-id
- キューに入れられたリソース リクエストの割り当て時に作成される TPU のユーザー割り当て ID。
project
- Google Cloud プロジェクト
zone
- Cloud TPU を作成するゾーン。
accelerator-type
- アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU のバージョンごとにサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
runtime-version
- Cloud TPU ソフトウェアのバージョン。
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-central2-b', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v4-8', 'runtime_version': 'tpu-vm-tf-2.18.0-pjrt', } } } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id
コマンド パラメータの説明
queued-resource-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
node-id
- キューに入れられたリソース リクエストの割り当て時に作成される TPU のユーザー割り当て ID。
project
- Google Cloud プロジェクト
zone
- Cloud TPU を作成するゾーン。
accelerator-type
- アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU のバージョンごとにサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
runtime-version
- Cloud TPU ソフトウェアのバージョン。
Console
Google Cloud コンソールの [TPU] ページに移動します。
[TPU を作成] をクリックします。
[名前] フィールドに、TPU の名前を入力します。
[ゾーン] ボックスで、TPU を作成するゾーンを選択します。
[TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU のバージョンごとにサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
[TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。
[キューイングを有効にする] トグルをクリックします。
[キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。
[作成] をクリックして、キューに格納されたリソース リクエストを作成します。
キューに格納されたオンデマンド リソースのデフォルトのスライスサイズ
オンデマンド割り当てを使用する場合は、使用しているアクセラレータ タイプのデフォルトの上限よりも小さいスライスサイズをリクエストする必要があります。デフォルトの上限を超えるリクエストは、システムによって拒否されます。
次の表に、TPU タイプごとのデフォルトの上限を示します。
アクセラレータ タイプ | デフォルトの上限(TensorCore の数) |
v2 | 128 |
v3 | 128 |
v4 | 384 |
v5 | 32 |
より大きなスライスサイズが必要な場合は、Cloud TPU サポートに詳細をお問い合わせください。
予約を使用してキューに入れられたリソースをリクエストする
予約を使用して、キューに格納されたリソースをリクエストできます。予約を購入するには、Google Cloud アカウント チームにお問い合わせください。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project \ --zone us-central2-b \ --accelerator-type v4-8 \ --runtime-version tpu-vm-tf-2.18.0-pjrt \ --reserved
コマンド パラメータの説明
queued-resource-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
node-id
- キューに入れられたリソース リクエストの割り当て時に作成される TPU のユーザー割り当て ID。
project
- Google Cloud プロジェクト
zone
- Cloud TPU を作成するゾーン。
accelerator-type
- アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU のバージョンごとにサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
runtime-version
- Cloud TPU ソフトウェアのバージョン。
reserved
- このフラグは、Cloud TPU 予約の一部としてキュー内のリソースをリクエストするときに使用します。
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-central2-b', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v4-8', 'runtime_version': 'tpu-vm-tf-2.18.0-pjrt', } } }, 'guaranteed': { 'reserved': true, } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id
コマンド パラメータの説明
queued-resource-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
node-id
- キューに入れられたリソース リクエストの割り当て時に作成される TPU のユーザー割り当て ID。
project
- Google Cloud プロジェクト
zone
- Cloud TPU を作成するゾーン。
accelerator-type
- アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU のバージョンごとにサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
runtime-version
- Cloud TPU ソフトウェアのバージョン。
reserved
- このフラグは、Cloud TPU 予約の一部としてキュー内のリソースをリクエストするときに使用します。
Console
Google Cloud コンソールの [TPU] ページに移動します。
[TPU を作成] をクリックします。
[名前] フィールドに、TPU の名前を入力します。
[ゾーン] ボックスで、TPU を作成するゾーンを選択します。
[TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU のバージョンごとにサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
[TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。
[キューイングを有効にする] トグルをクリックします。
[キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。
[管理] セクションを開きます。
[既存の予約を使用する] チェックボックスをオンにします。
[作成] をクリックして、キューに格納されたリソース リクエストを作成します。
キューに入れられた TPU Spot VM のリソースをリクエストする
Spot VM は、いつでもプリエンプトして別のワークロードに割り当てることができるリソースです。Spot VM のリソースは低コストで、Spot VM 以外のリクエストよりも早くリソースにアクセスできる場合があります。TPU Spot VM の詳細については、TPU Spot VM を管理するをご覧ください。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central2-b \ --accelerator-type v4-8 \ --runtime-version tpu-vm-tf-2.18.0-pjrt \ --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-central2-b', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v4-8', 'runtime_version': 'tpu-vm-tf-2.18.0-pjrt' } } }, 'spot': {} }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/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 ソフトウェアのバージョン。
spot
- キューに入れられたリソースが Spot VM であることを指定するブール値のフラグ。
指定した時間の前後にキューに入れられたリソースを割り当てるようリクエストする
キューに入れられたリソース リクエストで、必要に応じて開始時刻または終了時刻を指定できます。開始時刻または開始時間は、リクエストを入力する最も早い時刻を指定します。終了時間または終了時間は、リクエストが有効な期間を指定します。指定した終了時刻までに、または指定した期間内にリクエストが入力されていない場合、リクエストは期限切れになります。リクエストの有効期限が切れると、キューには残りますが、割り当ての対象外になります。
開始時刻または期間と終了時刻または期間を指定して、割り当て間隔を指定することもできます。
サポートされているタイムスタンプと期間の形式の一覧については、日時をご覧ください。
指定した時間の経過後にキューに格納されたリソースをリクエストする
キューに入れられたリソース リクエストで、リソースを割り当てる時間を指定できます。
gcloud
次のコマンドは、2022 年 12 月 14 日午前 9 時以降に割り当てる v4-4096 TPU をリクエストします。
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central2-b \ --accelerator-type v4-4096 \ --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \ --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 topic datetime をご覧ください。
curl
次のコマンドは、2022 年 12 月 14 日午前 9 時以降に割り当てる v4-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-central2-b', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v4-4096', 'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt', } } }, 'queueing_policy': { 'valid_after_time': { 'seconds': 2022-12-14T09:00:00Z } } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/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 topic datetime をご覧ください。
Console
Google Cloud コンソールの [TPU] ページに移動します。
[TPU を作成] をクリックします。
[名前] フィールドに、TPU の名前を入力します。
[ゾーン] ボックスで、TPU を作成するゾーンを選択します。
[TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU のバージョンごとにサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
[TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。
[キューイングを有効にする] トグルをクリックします。
[キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。
[リクエストの開始日時] フィールドに、リソースを割り当てる時間を入力します。
[作成] をクリックして、キューに格納されたリソース リクエストを作成します。
次の例では、v4-32 を 6 時間後に割り当てるようリクエストします。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central2-b \ --accelerator-type v4-32 \ --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \ --valid-after-duration 6h
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-central2-b', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v4-32', 'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt', } } }, 'queueing_policy': { 'valid_after_duration': { 'seconds': 21600 } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/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 トピックの日時をご覧ください。
指定した時間の経過後に期限切れとなるキューに格納されたリソースをリクエストする
キューに格納されたリソース リクエストでは、キューに格納されたリソース リクエストの有効期間を指定できます。指定した時間または期間内にリクエストが処理されていない場合、リクエストは期限切れになります。
gcloud
次のコマンドは、v4-4096 TPU をリクエストします。2022 年 12 月 14 日午前 9 時までにリクエストが処理されなかった場合、リクエストは期限切れになります。
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central2-b \ --accelerator-type v4-4096 \ --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \ --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
次のコマンドは、v4-4096 TPU をリクエストします。2022 年 12 月 14 日午前 9 時までにリクエストが処理されなかった場合、リクエストは期限切れになります。
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-central2-b', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v4-4096', 'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt', } } }, 'queueing_policy': { 'valid_until_time': { 'seconds': 1655197200 } } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/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 トピックの日時をご覧ください。
Console
Google Cloud コンソールの [TPU] ページに移動します。
[TPU を作成] をクリックします。
[名前] フィールドに、TPU の名前を入力します。
[ゾーン] ボックスで、TPU を作成するゾーンを選択します。
[TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
[TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。
[キューイングを有効にする] トグルをクリックします。
[キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。
[リクエストをキャンセルする] フィールドに、キューに登録されたリソース リクエストが満たされなかった場合に期限切れになる時間を入力します。
[作成] をクリックして、キューに格納されたリソース リクエストを作成します。
次の例では、v4-32 をリクエストします。6 時間以内に入力しないと、リクエストは期限切れになります。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central2-b \ --accelerator-type v4-32 \ --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \ --valid-until-duration 6h
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-central2-b', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v4-32', 'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt', } } }, 'queueing_policy': { 'valid_until_duration': { 'seconds': 21600 } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/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 トピックの日時をご覧ください。
キューに格納されたリソースを指定された時間内に割り当てるようリクエストする
開始時刻または期間と終了時刻または期間の両方を指定して、割り当て間隔を指定できます。
gcloud
次のコマンドは、現在の時刻から 5 時間 30 分後で、2022 年 12 月 14 日午前 9 時までに v4-32 を作成するようリクエストします。
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central2-b \ --accelerator-type v4-32 \ --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \ --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-timw
- それ以降はリクエストがキャンセルされる時間。期間形式の詳細については、Google Cloud CLI トピックの日時をご覧ください。
valid-until-duration
- リクエストが有効である期間。期間形式の詳細については、Google Cloud CLI トピックの日時をご覧ください。
curl
次のコマンドは、現在の時刻から 5 時間 30 分後で、2022 年 12 月 14 日午前 9 時までに v4-32 を作成するようリクエストします。
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-central2-b', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v4-32', 'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt', } } }, '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-central2-b/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 トピックの日時をご覧ください。
Console
Google Cloud コンソールの [TPU] ページに移動します。
[TPU を作成] をクリックします。
[名前] フィールドに、TPU の名前を入力します。
[ゾーン] ボックスで、TPU を作成するゾーンを選択します。
[TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
[TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。
[キューイングを有効にする] トグルをクリックします。
[キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。
[リクエストの開始日時] フィールドに、リソースを割り当てる時間を入力します。
[リクエストをキャンセルする] フィールドに、キューに登録されたリソース リクエストが満たされなかった場合に期限切れになる時間を入力します。
[作成] をクリックして、キューに格納されたリソース リクエストを作成します。
起動スクリプトでキューに格納されたリソースをリクエストする
キューに格納されたリソースに対してプロビジョニング後に実行するスクリプトを指定できます。
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 \ --zone us-central2-b \ --accelerator-type v4-8 \ --runtime-version tpu-vm-tf-2.12.0 \ --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-central2-b', node_id: 'your-node-id', node: { accelerator_type: 'v2-8', runtime_version: 'tpu-vm-tf-2.18.0-pjrt', 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-central2-b/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
- リクエストのメタデータを指定します。この例では、メタデータは、キュー内のリソースがプロビジョニングされるときに実行される起動スクリプト コマンドです。
指定したネットワークとサブネットワークでキューに格納されたリソースをリクエストする
キューに格納されたリソース リクエストで、TPU を接続するネットワークとサブネットワークを指定できます。
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project \ --zone us-central2-b \ --accelerator-type v4-8 \ --runtime-version tpu-vm-tf-2.18.0-pjrt \ --network network-name \ --subnetwork subnetwork-name
コマンド パラメータの説明
queued-resource-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
node-id
- キューに入れられたリソース リクエストの割り当て時に作成される TPU のユーザー割り当て 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-central2-b', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v4-8', 'runtime_version': 'tpu-vm-tf-2.18.0-pjrt', '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-central2-b/queuedResources?queued_resource_id=your-queued-resource-id
コマンド パラメータの説明
queued-resource-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
node-id
- キューに入れられたリソース リクエストの割り当て時に作成される TPU のユーザー割り当て ID。
project
- Google Cloud プロジェクト
zone
- Cloud TPU を作成するゾーン。
accelerator-type
- アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU のバージョンごとにサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
runtime-version
- Cloud TPU ソフトウェアのバージョン。
reserved
- このフラグは、Cloud TPU 予約の一部としてキュー内のリソースをリクエストするときに使用します。
network
- キューに入れられたリソースが属するネットワーク。
subnetwork
- キューに入れられたリソースが属するサブネットワーク。
Console
Google Cloud コンソールの [TPU] ページに移動します。
[TPU を作成] をクリックします。
[名前] フィールドに、TPU の名前を入力します。
[ゾーン] ボックスで、TPU を作成するゾーンを選択します。
[TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
[TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。
[キューイングを有効にする] トグルをクリックします。
[キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。
[ネットワーク] セクションを開きます。
[ネットワーク] フィールドと [サブネットワーク] フィールドで、使用するネットワークとサブネットワークを選択します。
[作成] をクリックして、キューに格納されたリソース リクエストを作成します。
キューに入れられたリソース リクエストを削除する
キューに入れられたリソース リクエストとそのリクエストに関連付けられた TPU を削除するには、キューに入れられたリソース リクエストを削除します。
gcloud
--force
フラグを queued-resource delete
コマンドに渡します。
gcloud compute tpus queued-resources delete your-queued-resource-id \ --project my-project \ --zone us-central2-b \ --force \ --async
コマンドフラグの説明
your-queued-resource-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
project
- キューに入れられたリソースが割り当てられている Google Cloud プロジェクト。
zone
- 削除する Cloud TPU のゾーン。
force
- TPU VM とキューに入れられたリソース リクエストの両方を削除します。
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/my-project/locations/us-central2-b/queuedResources/your-queued-resource-id?force=true
コマンドフラグの説明
your-queued-resource-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
project
- キューに入れられたリソースが割り当てられている Google Cloud プロジェクト。
zone
- 削除する Cloud TPU のゾーン。
force
- TPU VM とキューに入れられたリソース リクエストの両方を削除します。
Console
Google Cloud コンソールの [TPU] ページに移動します。
[キューに登録されたリソース] タブをクリックします。
キューに登録されているリソース リクエストの横にあるチェックボックスをオンにします。
[
削除] をクリックします。
TPU を直接削除する場合は、次の例に示すように、キューに登録されたリソースも削除する必要があります。TPU を削除すると、キューに入れられたリソース リクエストは SUSPENDED
状態に移行し、その後、キューに入れられたリソース リクエストを削除できます。
gcloud
TPU を削除します。
$ gcloud compute tpus tpu-vm delete your-node-id \ --project=your-project \ --zone=zone \ --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-central2-b
コマンドフラグの説明
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-central2-b/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-central2-b/queuedResources/your-queued-resource-id
コマンドフラグの説明
queued-resource-request-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
project
- キューに入れられたリソースが割り当てられている Google Cloud プロジェクト。
zone
- 削除する Cloud TPU のゾーン。
Console
TPU を削除します。
Google Cloud コンソールの [TPU] ページに移動します。
TPU の横にあるチェックボックスをオンにします。
[
削除] をクリックします。
TPU を削除すると、関連するキューに入れられたリソースは、停止中状態になり、その後停止状態になります。キューに格納されたリソースが [Suspended] 状態の場合、削除できます。
- [キューに登録されているリソース] タブをクリックします。
- キューに登録されているリソース リクエストの横にあるチェックボックスをオンにします。
- [ 削除] をクリックします。
キューに入れられたリソース リクエストの状態と診断情報を取得する
キューに入れられたリソース リクエストの状態と診断情報を取得します。
gcloud
gcloud compute tpus queued-resources describe queued-resource-request-id \ --project your-project-id \ --zone us-central2-b
コマンドフラグの説明
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-central2-b/queuedResources/your-queued-resource-id
コマンドフラグの説明
queued-resource-request-id
- キューに入れられたリソース リクエストのユーザー割り当て ID。
project
- キューに格納されたリソースが割り当てられているプロジェクトの ID。
zone
- Cloud TPU を作成するゾーン。
Console
Google Cloud コンソールの [TPU] ページに移動します。
[キューに登録されているリソース] タブをクリックします。
キューに登録されているリソース リクエストの名前をクリックします。
TPU がプロビジョニングされたら、TPU ページに移動して TPU を見つけ、対応するキューに格納されたリソース リクエストの名前をクリックすると、キューに格納されたリソース リクエストの詳細を確認することもできます。
リクエストが失敗した場合、出力にエラー情報が含まれます。リソースを待機しているリクエストの場合、出力は次のようになります。
gcloud
name: projects/your-project-id/locations/us-central2-b/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-central2-b/queuedResources/your-queued-resource-id runtimeVersion: tpu-vm-tf-2.10.0 schedulingConfig: {} serviceAccount: {} shieldedInstanceConfig: {} useTpuVm: true nodeId: your-node-id parent: projects/your-project-number/locations/us-central2-b
Console
[キューに格納されたリソースのステータス] フィールドに「リソースを待機中」と表示されます。
プロジェクト内のキューに入れられたリソース リクエストを一覧表示する
プロジェクト内のキューに入れられたリソース リクエストを一覧表示します。
gcloud
gcloud compute tpus queued-resources list --project your-project-id \ --zone us-central2-b
コマンドフラグの説明
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/us-central2-b/queuedResources
コマンドフラグの説明
project
- キューに入れられたリソースが割り当てられている Google Cloud プロジェクト。
zone
- Cloud TPU を作成するゾーン。
Console
Google Cloud コンソールの [TPU] ページに移動します。
[キューに登録されているリソース] タブをクリックします。