キューに入れられたリソースを管理する

キューに格納されたリソースを使用すると、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

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. [TPU を作成] をクリックします。

  3. [名前] フィールドに、TPU の名前を入力します。

  4. [ゾーン] ボックスで、TPU を作成するゾーンを選択します。

  5. [TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。

  6. [TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。

  7. [キューイングを有効にする] トグルをクリックします。

  8. [キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。

  9. [作成] をクリックして、キューに格納されたリソース リクエストを作成します。

キューに格納されたオンデマンド リソースのデフォルトのスライスサイズ

オンデマンド割り当てを使用する場合は、使用しているアクセラレータ タイプのデフォルトの上限よりも小さいスライスサイズをリクエストする必要があります。デフォルトの上限を超えるリクエストは、システムによって拒否されます。

次の表に、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

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. [TPU を作成] をクリックします。

  3. [名前] フィールドに、TPU の名前を入力します。

  4. [ゾーン] ボックスで、TPU を作成するゾーンを選択します。

  5. [TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。

  6. [TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。

  7. [キューイングを有効にする] トグルをクリックします。

  8. [キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。

  9. [管理] セクションを開きます。

  10. [既存の予約を使用する] チェックボックスをオンにします。

  11. [作成] をクリックして、キューに格納されたリソース リクエストを作成します。

キューに入れられた 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

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. [TPU を作成] をクリックします。

  3. [名前] フィールドに、TPU の名前を入力します。

  4. [ゾーン] ボックスで、TPU を作成するゾーンを選択します。

  5. [TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。

  6. [TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。

  7. [キューイングを有効にする] トグルをクリックします。

  8. [キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。

  9. [リクエストの開始日時] フィールドに、リソースを割り当てる時間を入力します。

  10. [作成] をクリックして、キューに格納されたリソース リクエストを作成します。

次の例では、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

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. [TPU を作成] をクリックします。

  3. [名前] フィールドに、TPU の名前を入力します。

  4. [ゾーン] ボックスで、TPU を作成するゾーンを選択します。

  5. [TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。

  6. [TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。

  7. [キューイングを有効にする] トグルをクリックします。

  8. [キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。

  9. [リクエストをキャンセルする] フィールドに、キューに登録されたリソース リクエストが満たされなかった場合に期限切れになる時間を入力します。

  10. [作成] をクリックして、キューに格納されたリソース リクエストを作成します。

次の例では、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

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. [TPU を作成] をクリックします。

  3. [名前] フィールドに、TPU の名前を入力します。

  4. [ゾーン] ボックスで、TPU を作成するゾーンを選択します。

  5. [TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。

  6. [TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。

  7. [キューイングを有効にする] トグルをクリックします。

  8. [キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。

  9. [リクエストの開始日時] フィールドに、リソースを割り当てる時間を入力します。

  10. [リクエストをキャンセルする] フィールドに、キューに登録されたリソース リクエストが満たされなかった場合に期限切れになる時間を入力します。

  11. [作成] をクリックして、キューに格納されたリソース リクエストを作成します。

起動スクリプトでキューに格納されたリソースをリクエストする

キューに格納されたリソースに対してプロビジョニング後に実行するスクリプトを指定できます。

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

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. [TPU を作成] をクリックします。

  3. [名前] フィールドに、TPU の名前を入力します。

  4. [ゾーン] ボックスで、TPU を作成するゾーンを選択します。

  5. [TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。

  6. [TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、インストールされる TPU ランタイム バージョンが TPU ソフトウェア バージョンによって指定されます。詳細については、TPU VM イメージをご覧ください。

  7. [キューイングを有効にする] トグルをクリックします。

  8. [キューに登録されたリソース名] フィールドに、キューに登録されたリソース リクエストの名前を入力します。

  9. [ネットワーク] セクションを開きます。

  10. [ネットワーク] フィールドと [サブネットワーク] フィールドで、使用するネットワークとサブネットワークを選択します。

  11. [作成] をクリックして、キューに格納されたリソース リクエストを作成します。

キューに入れられたリソース リクエストを削除する

キューに入れられたリソース リクエストとそのリクエストに関連付けられた 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

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. [キューに登録されているリソース] タブをクリックします。

  3. キューに登録されているリソース リクエストの横にあるチェックボックスをオンにします。

  4. [削除] をクリックします。

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 を削除します。

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. TPU の横にあるチェックボックスをオンにします。

  3. [削除] をクリックします。

TPU を削除すると、関連するキューに入れられたリソースは [停止中] 状態になり、その後 [停止中] 状態になります。キューに格納されたリソースが [Suspended] 状態の場合、削除できます。

  1. [キューに登録されたリソース] タブをクリックします。
  2. キューに登録されているリソース リクエストの横にあるチェックボックスをオンにします。
  3. [削除] をクリックします。

キューに入れられたリソース リクエストの状態と診断情報を取得する

キューに入れられたリソース リクエストの状態と診断情報を取得します。

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

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. [キューに登録されているリソース] タブをクリックします。

  3. キューに登録されているリソース リクエストの名前をクリックします。

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

  1. Google Cloud コンソールの [TPU] ページに移動します。

    [TPU] に移動

  2. [キューに登録されているリソース] タブをクリックします。