Exécuter un calcul sur une VM Cloud TPU à l'aide de PyTorch
Ce document présente brièvement l'utilisation de PyTorch et de Cloud TPU.
Avant de commencer
Avant d'exécuter les commandes de ce document, vous devez créer un compte Google Cloud , installer Google Cloud CLI et configurer la commande gcloud
. Pour en savoir plus, consultez la section Configurer l'environnement Cloud TPU.
Créer un Cloud TPU à l'aide de gcloud
Définissez des variables d'environnement pour faciliter l'utilisation des commandes.
export PROJECT_ID=your-project export ACCELERATOR_TYPE=v5p-8 export ZONE=us-east5-a export RUNTIME_VERSION=v2-alpha-tpuv5 export TPU_NAME=your-tpu-name
Descriptions des variables d'environnement
PROJECT_ID
- L'ID de votre Google Cloud projet.
ACCELERATOR_TYPE
- Le type d'accélérateur spécifie la version et la taille du Cloud TPU que vous souhaitez créer. Pour en savoir plus sur les types d'accélérateurs compatibles avec chaque version de TPU, consultez la section Versions de TPU.
ZONE
- Zone dans laquelle vous prévoyez de créer votre Cloud TPU.
RUNTIME_VERSION
- Version du runtime Cloud TPU.
- TPU_NAME
- Nom attribué par l'utilisateur à votre Cloud TPU.
Créez votre VM TPU en exécutant la commande suivante:
$ gcloud compute tpus tpu-vm create $TPU_NAME \ --project=$PROJECT_ID \ --zone=$ZONE \ --accelerator-type=$ACCELERATOR_TYPE \ --version=$RUNTIME_VERSION
Se connecter à la VM Cloud TPU
Connectez-vous à votre VM TPU via SSH à l'aide de la commande suivante:
$ gcloud compute tpus tpu-vm ssh $TPU_NAME \ --project=$PROJECT_ID \ --zone=$ZONE
Installer PyTorch/XLA sur votre VM TPU
$ (vm) sudo apt-get update $ (vm) sudo apt-get install libopenblas-dev -y $ (vm) pip install numpy $ (vm) pip install torch torch_xla[tpu]~=2.5.0 -f https://storage.googleapis.com/libtpu-releases/index.html
Vérifier que PyTorch peut accéder aux TPU
Utilisez la commande suivante pour vérifier que PyTorch peut accéder à vos TPU.
$ (vm) PJRT_DEVICE=TPU python3 -c "import torch_xla.core.xla_model as xm; print(xm.get_xla_supported_devices(\"TPU\"))"
Le résultat de la commande devrait ressembler à ceci:
['xla:0', 'xla:1', 'xla:2', 'xla:3']
Effectuer un calcul de base
Créez un fichier nommé
tpu-test.py
dans le répertoire actuel et collez-y le script suivant.import torch import torch_xla.core.xla_model as xm dev = xm.xla_device() t1 = torch.randn(3,3,device=dev) t2 = torch.randn(3,3,device=dev) print(t1 + t2)
Exécutez le script :
(vm)$ PJRT_DEVICE=TPU python3 tpu-test.py
Le résultat du script montre le résultat du calcul:
tensor([[-0.2121, 1.5589, -0.6951], [-0.7886, -0.2022, 0.9242], [ 0.8555, -1.8698, 1.4333]], device='xla:1')
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page ne soient facturées sur votre compte Google Cloud , procédez comme suit :
Déconnectez-vous de l'instance Compute Engine, si vous ne l'avez pas déjà fait :
(vm)$ exit
Votre invite devrait maintenant être
username@projectname
, indiquant que vous êtes dans Cloud Shell.Supprimez votre Cloud TPU.
$ gcloud compute tpus tpu-vm delete $TPU_NAME \ --project=$PROJECT_ID \ --zone=$ZONE
Le résultat de cette commande doit confirmer que votre TPU a été supprimé.
Étape suivante
En savoir plus sur les VM Cloud TPU :