(tpu-create-vm)= # Create a TPU VM Create a TPU VM for one generation. The command and software version depend on the generation, so build this topic with that generation's DITAVAL file. You have a Google Cloud project with the Cloud TPU API enabled and quota in your chosen zone. ::::{only} not ditaval 1. ```{include} ../_includes/tpu-task-warehouse--step-set-project.md ``` 2. Create the {{ product_v5e }} VM: ```{code-block} bash :substitutions: gcloud compute tpus tpu-vm create TPU_NAME \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --version={{v5e_runtime}} ``` 3. Create the {{ product_v5p }} VM: ```{code-block} bash :substitutions: gcloud compute tpus tpu-vm create TPU_NAME \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --version={{v5p_runtime}} ``` 4. Create the {{ product_v6e }} VM: ```{code-block} bash :substitutions: gcloud compute tpus tpu-vm create TPU_NAME \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --version={{v6e_runtime}} ``` 5. Create {{ product_tpu7x }} capacity with GKE or Compute Engine, using the {{ tpu7x_machine_type }} machine type. ```{include} ../_includes/tpu-warehouse--note-tpu-api-tpu7x.md ``` 6. **Optional:** To keep the VM off the public internet, add the `--internal-ips` flag. ```{include} ../_includes/tpu-warehouse--note-internal-ips.md ``` :::: ::::{only} tpu7x 1. ```{include} ../_includes/tpu-task-warehouse--step-set-project.md ``` 2. Create {{ product_tpu7x }} capacity with GKE or Compute Engine, using the {{ tpu7x_machine_type }} machine type. ```{include} ../_includes/tpu-warehouse--note-tpu-api-tpu7x.md ``` 3. **Optional:** To keep the VM off the public internet, add the `--internal-ips` flag. ```{include} ../_includes/tpu-warehouse--note-internal-ips.md ``` :::: ::::{only} v5e 1. ```{include} ../_includes/tpu-task-warehouse--step-set-project.md ``` 2. Create the {{ product_v5e }} VM: ```{code-block} bash :substitutions: gcloud compute tpus tpu-vm create TPU_NAME \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --version={{v5e_runtime}} ``` 3. **Optional:** To keep the VM off the public internet, add the `--internal-ips` flag. ```{include} ../_includes/tpu-warehouse--note-internal-ips.md ``` :::: ::::{only} v5p 1. ```{include} ../_includes/tpu-task-warehouse--step-set-project.md ``` 2. Create the {{ product_v5p }} VM: ```{code-block} bash :substitutions: gcloud compute tpus tpu-vm create TPU_NAME \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --version={{v5p_runtime}} ``` 3. **Optional:** To keep the VM off the public internet, add the `--internal-ips` flag. ```{include} ../_includes/tpu-warehouse--note-internal-ips.md ``` :::: ::::{only} v6e 1. ```{include} ../_includes/tpu-task-warehouse--step-set-project.md ``` 2. Create the {{ product_v6e }} VM: ```{code-block} bash :substitutions: gcloud compute tpus tpu-vm create TPU_NAME \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --version={{v6e_runtime}} ``` 3. **Optional:** To keep the VM off the public internet, add the `--internal-ips` flag. ```{include} ../_includes/tpu-warehouse--note-internal-ips.md ``` :::: The VM appears in the list returned by `gcloud compute tpus tpu-vm list --zone=ZONE`. :::::{container} manifest-nav **Related information** [{{ product_v5e }}](../topics/tpu-v5e-intro.md) [{{ product_v5e }} specifications](../topics/tpu-v5e-specifications.md) [{{ product_v5e }} supported configurations](../topics/tpu-v5e-configurations.md) [{{ product_v5e }} VM types](../topics/tpu-v5e-vm-types.md) [{{ product_v5p }}](../topics/tpu-v5p-intro.md) [{{ product_v5p }} specifications](../topics/tpu-v5p-specifications.md) [{{ product_v5p }} supported configurations](../topics/tpu-v5p-configurations.md) [{{ product_v5p }} VM types](../topics/tpu-v5p-vm-types.md) [{{ product_v6e }}](../topics/tpu-v6e-intro.md) [{{ product_v6e }} specifications](../topics/tpu-v6e-specifications.md) [{{ product_v6e }} supported configurations](../topics/tpu-v6e-configurations.md) [{{ product_v6e }} VM types](../topics/tpu-v6e-vm-types.md) [{{ product_tpu7x }}](../topics/tpu7x-intro.md) [{{ product_tpu7x }} specifications](../topics/tpu7x-specifications.md) [{{ product_tpu7x }} supported configurations](../topics/tpu7x-configurations.md) [{{ product_tpu7x }} VM types](../topics/tpu7x-vm-types.md) [Networking and access for Cloud TPU VMs](../topics/tpu-networking.md) [TPU software versions](../topics/tpu-software-versions.md) :::::