Criar uma instância de VM de TPU do Cloud TPU usando o Compute Engine
Neste documento, mostramos como criar uma única VM de TPU com o comando gcloud compute instances create do Compute Engine. Também é possível criar uma instância de VM de TPU
especificando um modelo de instância. Para mais
informações, consulte Criar uma VM com base em um modelo de instância.
Pré-requisitos
Siga os seguintes pré-requisitos:
Crie um projeto do Google Cloud para suas TPUs, conforme descrito em Configurar um projeto do Google Cloud para TPUs.
Determine os requisitos de TPU conforme descrito em Planejar os recursos do Cloud TPU.
Criar uma instância de VM de TPU
Os parâmetros usados para criar uma instância de VM de TPU dependem da opção de consumo que você está usando: sob demanda, spot, vinculada à reserva ou início flexível. Para mais informações, consulte Planejar os recursos de TPU .
Criar uma instância de VM de TPU on demand
Para criar uma instância de VM de TPU on demand, use o
comando gcloud compute instances create:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Substitua os seguintes marcadores de posição:
- PROJECT_ID: ID do seu projeto do Google Cloud .
- TPU_NAME: um nome para a VM de TPU.
- MACHINE_TYPE: o tipo de máquina
para a VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a flag
--image. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b).
Criar uma instância de VM spot de TPU
Para criar uma instância de VM spot de TPU, use o
comando gcloud compute instances create
com a flag --provisioning-model=SPOT:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=SPOT \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "SPOT",
"instanceTerminationAction": "DELETE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Substitua os seguintes marcadores de posição:
- PROJECT_ID: ID do seu projeto do Google Cloud .
- TPU_NAME: um nome para a VM de TPU.
- MACHINE_TYPE: o tipo de máquina
para a VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a flag
--image. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b).
Criar uma instância de VM de TPU usando uma reserva
Para criar uma instância de VM de TPU usando a opção de consumo vinculada à reserva,
use o
comando gcloud compute instances create
com as flags --reservation-affinity=specific e --reservation:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=reservation-bound \
--reservation-affinity=specific \
--reservation=RESERVATION_NAME \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "DELETE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION_NAME"
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Substitua os seguintes marcadores de posição:
- PROJECT_ID: ID do seu projeto do Google Cloud .
- TPU_NAME: um nome para a VM de TPU.
- MACHINE_TYPE: o tipo de máquina
para a VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a flag
--image. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b). RESERVATION_NAME: o nome da reserva específica que será consumida. Para todas as reservas do modo de capacidade, é possível segmentar um bloco ou sub-bloco especificando o link de reserva da seguinte maneira:
Especifique um bloco:
RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAMEEspecifique um sub-bloco:
RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
Criar uma VM flex-start de TPU
Para criar uma instância de VM de início flexível de TPU, use o
comando gcloud compute instances create
com a flag --provisioning-model=FLEX_START:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=FLEX_START \
--max-run-duration=MAX_RUN_DURATION \
--request-valid-for-duration=VALID_DURATION \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"params": {
"requestValidForDuration": {
"seconds": VALID_DURATION
}
},
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START",
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": MAX_RUN_DURATION
}
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Substitua os seguintes marcadores de posição:
- PROJECT_ID: ID do seu projeto do Google Cloud .
- TPU_NAME: um nome para a VM de TPU.
- MACHINE_TYPE: o tipo de máquina
para a VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a flag
--image. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b). - MAX_RUN_DURATION: a duração máxima de execução da VM de TPU (por exemplo,
6h). Para REST, especifique como um número de segundos (por exemplo,21600para 6 horas). - VALID_DURATION: a duração máxima da validade da solicitação. Para REST, especifique como um número de segundos (por exemplo,
3600para 1 hora).
Para mais informações sobre como criar instâncias do Compute Engine, consulte Criar e iniciar uma instância do Compute Engine.
A seguir
- Saiba como criar um MIG com frações de host único do Cloud TPU.
- Saiba como criar um MIG com uma fração do Cloud TPU de vários hosts.
- Saiba como gerenciar VMs de TPU.
- Saiba mais sobre TPUs no GKE.