Neste documento, descrevemos como criar uma instância de máquina virtual (VM) de TPU. Uma VM de TPU também é chamada de fração de TPU de host único.
Para criar um grupo de frações de host único, consulte Criar um MIG com frações de TPU de host único.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a Google Cloud serviços e APIs do. Para executar
código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no
Compute Engine com um destes métodos:
Selecione a guia para como planeja usar as amostras nesta página:
gcloud
-
Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
-
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Pré-requisitos
Antes de criar uma instância de TPU, faça o seguinte:
Escolher a versão da TPU: selecione a versão da TPU adequada à sua carga de trabalho. Para uma lista de versões de TPU por tipo de carga de trabalho, consulte Versões de TPU recomendadas por tipos de carga de trabalho.
Validar a disponibilidade da TPU no local preferido: as TPUs estão disponíveis em regiões Google Cloud específicas. Para usar uma versão de TPU, verifique a disponibilidade dela na região preferida. Para uma lista de locais de TPU, consulte Disponibilidade de TPU.
Verificar se o projeto tem cota de TPU suficiente: se você estiver criando uma instância de TPU com VMs spot ou sob demanda, é preciso ter cota de TPU suficiente disponível na região que você quer usar. A criação de uma instância de TPU que consome uma reserva de TPU não exige nenhuma cota de TPU, já que a cota é usada quando a reserva é criada. Para uma lista de nomes de cota de TPU, consulte Cota de TPU e, para instruções sobre como visualizar a cota, consulte Visualizar e gerenciar cotas
Escolher uma opção de consumo de TPU: selecione uma opção de consumo que melhor se adapte à sua carga de trabalho, à duração dela e às suas necessidades de custo. Para uma lista de disponibilidade de opções de consumo por versões de TPU, consulte Opções de consumo de 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 de início flexível. Para mais informações, consulte Sobre modelos de provisionamento de VM .
Criar uma instância de VM de TPU sob demanda
Para criar uma instância de VM de TPU sob demanda, use o
gcloud compute instances create comando:
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: o ID doprojeto. Google Cloud
- TPU_NAME: um nome para sua VM de TPU.
- MACHINE_TYPE: o tipo de máquina
da 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
--imageflag. 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, esse é
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
gcloud compute instances create comando
com a --provisioning-model=SPOT flag:
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: o ID doprojeto. Google Cloud
- TPU_NAME: um nome para sua VM de TPU.
- MACHINE_TYPE: o tipo de máquina
da 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
--imageflag. 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, esse é
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
gcloud compute instances create comando
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: o ID doprojeto. Google Cloud
- TPU_NAME: um nome para sua VM de TPU.
- MACHINE_TYPE: o tipo de máquina
da 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
--imageflag. 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, esse é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b). - RESERVATION_NAME: o nome da sua reserva.
Criar uma VM flex-start de TPU
Para criar uma instância de VM de TPU de início flexível, use o
gcloud compute instances create comando
com a --provisioning-model=FLEX_START flag:
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: o ID doprojeto. Google Cloud
- TPU_NAME: um nome para sua VM de TPU.
- MACHINE_TYPE: o tipo de máquina
da 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
--imageflag. 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, esse é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b). - MAX_RUN_DURATION: a duração máxima da execução da VM de TPU (por exemplo,
6h). Para REST, especifique isso como um número de segundos (por exemplo,21600para 6 horas). - VALID_DURATION: a duração máxima para a
solicitação é válida. Para REST, especifique isso como um número de segundos (por exemplo,
3600para 1 hora). A solicitação é válida.
Para mais informações sobre como criar instâncias do Compute Engine, consulte Criar e iniciar uma instância do Compute Engine.
Limitações
Operações de ciclo de vida: não é possível parar, iniciar, retomar ou suspender instâncias de TPU. Para mudar configurações que exigem uma reinicialização ou para interromper a cobrança de taxas, é necessário excluir as instâncias.
Atualizar detalhes da VM: é possível atualizar as propriedades que exigem apenas uma ação de atualização (
REFRESH). Se uma configuração exigir uma reinicialização (RESTART), será necessário recriar a instância.
A seguir
- Conectar-se a uma instância de TPU
- Conferir os detalhes de uma instância de TPU
- Monitorar TPUs
- Excluir uma instância de TPU