TPU v5p
Ce document décrit l'architecture et les configurations compatibles de Cloud TPU v5p.
Architecture du système
Cette section décrit l'architecture système spécifique à la version v5p. Chaque TensorCore comporte quatre unités de multiplication matricielle (MXU), une unité vectorielle et une unité scalaire.
Une tranche v5p comporte 8 960 puces. Le plus grand job programmable est un job de 96 cubes (6 144 puces).
Le tableau suivant présente les principales spécifications d'un v5p.
Caractéristiques techniques | Valeurs v5p |
---|---|
Puissance de calcul maximale par puce (bf16) | 459 TFLOPS |
Capacité et bande passante HBM2e | 95 Go, 2 765 Gbit/s |
Taille du pod TPU | 8 960 puces |
Topologie d'interconnexion | Tore 3D* |
Bande passante d'interconnexion entre puces | 4 800 Gbit/s |
Configurations
Un pod TPU v5p est composé de 8 960 puces interconnectées par des liaisons reconfigurables à haut débit. La mise en réseau flexible des TPU v5p permet de connecter les puces d'une tranche de même taille de plusieurs façons. Lorsque vous créez une tranche TPU à l'aide de la commande gcloud compute tpus tpu-vm create
, vous spécifiez son type et sa forme à l'aide du paramètre AcceleratorType
.
Le tableau suivant présente les formes de tranche unique les plus courantes compatibles avec v5p, ainsi que la plupart des formes de cube complet (mais pas toutes) de plus d'un cube. La forme v5p maximale est de 16x16x24 (6 144 puces, 96 cubes).
Topologie | Cœurs | Puces | Hôtes | Cubes | Compatible avec Twisted ? |
2x2x1 | 8 | 4 | 1 | N/A | N/A |
2x2x2 | 16 | 8 | 2 | N/A | N/A |
2x4x4 | 64 | 32 | 8 | N/A | N/A |
4x4x4 | 128 | 64 | 16 | 1 | N/A |
4x4x8 | 256 | 128 | 32 | 2 | Oui |
4x8x8 | 512 | 256 | 64 | 4 | Oui |
8x8x8 | 1 024 | 512 | 128 | 8 | N/A |
8x8x16 | 2 048 | 1 024 | 256 | 16 | Oui |
8x16x16 | 4096 | 2 048 | 512 | 32 | Oui |
16x16x16 | 8 192 | 4096 | 1 024 | 64 | N/A |
16x16x24 | 12 288 | 6 144 | 1 536 | 96 | N/A |
L'entraînement utilisant une seule tranche est pris en charge jusqu'à un maximum de 6 144 puces. Vous pouvez évoluer jusqu'à 18 432 puces à l'aide de Multislice. Pour en savoir plus sur Multislice, consultez la Présentation de Cloud TPU Multislice.
Utiliser le paramètre AcceleratorType
Lorsque vous allouez des ressources TPU, vous utilisez l'argument --accelerator-type
pour spécifier le nombre de TensorCores dans une tranche. --accelerator-type
est une chaîne formatée "v$VERSION_NUMBER
p-$CORES_COUNT
".
Par exemple, v5p-32
spécifie une tranche TPU v5p avec 32 TensorCores (16 puces).
Pour provisionner des TPU pour un job d'entraînement v5p, utilisez l'un des types d'accélérateur suivants dans votre requête de création CLI ou d'API TPU :
- v5p-8
- v5p-16
- v5p-32
- v5p-64
- v5p-128 (un cube/rack complet)
- v5p-256 (2 cubes)
- v5p-512
- v5p-1024 ... v5p-12288
La commande suivante crée une tranche TPU v5p avec 256 TensorCores v5p (128 puces) pour l'entraînement :
$ gcloud compute tpus tpu-vm create your-tpu-name \ --zone=us-east5-a \ --accelerator-type=v5p-256 \ --version=v2-alpha-tpuv5
Pour en savoir plus sur la gestion des TPU, consultez Gérer des TPU. Pour en savoir plus sur l'architecture système de Cloud TPU, consultez Architecture système.
Résilience de l'interconnexion entre puces Cloud TPU
La résilience de l'interconnexion entre puces (ICI) permet d'améliorer la tolérance aux pannes des liaisons optiques et des commutateurs de circuits optiques (OCS) qui connectent les TPU entre les cubes. (Les connexions ICI dans un cube utilisent des liaisons en cuivre qui ne sont pas concernées.) La résilience ICI permet aux connexions ICI de contourner les défaillances ICI des liaisons OCS et optiques. Cela améliore la disponibilité de la planification des tranches TPU, mais entraîne en retour une dégradation temporaire des performances de l'ICI.
Comme pour Cloud TPU v4, la résilience ICI est activée par défaut pour les tranches v5p d'un cube ou plus :
- v5p-128 lors de la spécification du type d'accélérateur
- 4x4x4 lors de la spécification de la configuration de l'accélérateur
Propriétés des VM, des hôtes et des tranches
Propriété | Valeur dans un TPU |
Nombre de puces v5p | 4 |
Nombre de processeurs virtuels | 208 (seule la moitié est utilisable si vous utilisez la liaison NUMA afin d'éviter les pertes de performances liés aux accès inter-NUMA) |
Mémoire RAM (Go) | 448 (seule la moitié est utilisable si vous utilisez la liaison NUMA afin d'éviter les pertes de performances liés aux accès inter-NUMA) |
Nombre de nœuds NUMA | 2 |
Débit de la carte d'interface réseau (Gbit/s) | 200 |
Relation entre le nombre de TensorCores, de puces, d'hôtes/VM et de cubes dans un pod :
Cœurs | Puces | Hôtes/VM | Cubes | |
---|---|---|---|---|
Hôte | 8 | 4 | 1 | |
Cube (ou rack) | 128 | 64 | 16 | 1 |
Tranche la plus grande acceptée | 12 288 | 6 144 | 1 536 | 96 |
Pod complet v5p | 17 920 | 8 960 | 2 240 | 140 |