# Volta (microarchitecture)

Volta est le nom de code d' une architecture pour processeurs graphiques (utilisés dans les cartes graphiques) développée par NVidia qui succède à l'architecture Pascal. Elle a été annoncée pour la première fois dans un roadmap en mars 2013, bien que le premier produit n'ait pas été annoncé avant mai 2017$^,$. L'architecture est nommée d'après le chimiste et physicien italien des 18/19e siècles Alessandro Volta. C'est la première puce de Nvidia à posséder des Tensor Core (en), des cœurs spécialement conçus qui ont une performance en apprentissage profond accrue par rapport aux cœurs CUDA standards. Les puces de cette architecture sont fabriquées avec le procédé 12 nm FinFET de TSMC. Une de ses innovations est le support de la mémoire empilée.
La première carte graphique à l'utiliser fut la carte accélératrice pour centre de calcul Tesla V100, incluse par exemple dans le système Nvidia DGX-1 (en). Il a également été utilisé dans le Quadro GV100 et le Titan V. Il n'y a pas de cartes graphiques GeForce basées sur Volta.

## Architecture

Les améliorations architecturales de l'architecture Volta comprennent :
* CUDA Compute Capability 7.0
** exécution concurrente des opérations sur entiers et nombres en virgule flottante
* Procédé FinFET 12 nm de TSMC, avec 21,1 milliards de transistors
* Mémoire HBM2$^,$
* NVLink 2.0 : un bus à grande bande passante entre le CPU et le GPU et entre plusieurs GPU. Il permet des vitesses de transfert beaucoup plus élevées que celles atteintes en utilisant PCI Express ; estimé pouvoir fournir 25 Gbit/s par voie. Cette fonctionnalité est désactivée sur Titan V.
* Cœurs Tensor : un cœur tensor est une unité qui multiplie deux matrices 4×4 en FP16, puis ajoute une troisième matrice en FP16 ou FP32 au résultat en utilisant des opérations fused multiply-add, et obtient un résultat FP32 qui peut ensuite être éventuellement rétrogradé en un résultat FP16. Les cœurs Tensor sont destinés à accélérer l'entraînement des réseaux de neurones. Les cœurs Tensor de Volta sont de la première génération tandis qu'Ampere possède des cœurs Tensor de 3ème génération$^,$
* Décodage vidéo hardware PureVideo (en) avec l'ensemble de caractéristiques I

## Produits

Volta a été annoncé comme la microarchitecture de GPU de la génération Xavier du SoC Tegra axé sur les voitures autonomes$^,$.
Lors de la "keynote" de la GPU Technology Conference annuelle du 10 mai 2017, Nvidia a officiellement annoncé la microarchitecture Volta en même temps que le Tesla V100. Le GPU Volta GV100 est fabriqué avec un procédé 12 nm utilisant de la mémoire HBM2 avec une bande passante de 900 GB/s.
Nvidia a officiellement annoncé le TITAN V le 7 décembre 2017$^,$.
Nvidia a officiellement annoncé le Quadro GV100 le 27 mars 2018.
| Modèle | Date de lancement | Nom de code | Fab (nm) | Nb. de transistors (milliards) | Taille de puce (mm$^2$) | Interface Bus | Configuration des cœurs | Configuration des cœurs | Nombre de SM | Nb. Graphics Processing Clusters | Taille du Cache L2 (Mo) | Fréquence d'horloge | Fréquence d'horloge | Fréquence d'horloge | Fillrate | Fillrate | Mémoire | Mémoire | Mémoire | Mémoire | Puissance de calcul (GFLOPS) | Puissance de calcul (GFLOPS) | Puissance de calcul (GFLOPS) | TDP (Watts) | Support de NVLink | Prix de lancement (USD) |
| Modèle | Date de lancement | Nom de code | Fab (nm) | Nb. de transistors (milliards) | Taille de puce (mm$^2$) | Interface Bus | Cœurs CUDA | Cœurs Tensor | Nombre de SM | Nb. Graphics Processing Clusters | Taille du Cache L2 (Mo) | Fréq. horloge base (MHz) | Fréq. horloge Boost (MHz) | Mémoire (MT/s) | Pixel (GP/s) | Texture (GT/s) | Taille (Go) | Bande passante (Go/s) | Type de bus | Largeur du bus (bit) | Simple précision (boost) | Double précision (boost) | Demi-précision (boost) | TDP (Watts) | Support de NVLink | Prix de lancement (USD) |
| Modèle | Date de lancement | Nom de code | Fab (nm) | Nb. de transistors (milliards) | Taille de puce (mm$^2$) | Interface Bus | Cœurs CUDA | Cœurs Tensor | Nombre de SM | Nb. Graphics Processing Clusters | Taille du Cache L2 (Mo) | Fréq. horloge base (MHz) | Fréq. horloge Boost (MHz) | Mémoire (MT/s) | Pixel (GP/s) | Texture (GT/s) | Taille (Go) | Bande passante (Go/s) | Type de bus | Largeur du bus (bit) | Simple précision (boost) | Double précision (boost) | Demi-précision (boost) | TDP (Watts) | Support de NVLink | MSRP |
| Nvidia Titan V | 7 décembre 2017 | GV100-400-A1 | TSMC 12 nm | 21.1 | 815 | PCIe 3.0 ×16 | 5120:320:96 | 640 | 80 | 6 | 4.5 | 1200 | 1455 | 1700 | 139.7 | 465.6 | 12 | 652.8 | HBM2 | 3072 | 12288 (14899) | 6144 (7450) | 24576 (29798) | 250 | Non | 2999 |
| Nvidia Quadro GV100 | 27 mars 2018 | GV100 | TSMC 12 nm | 21.1 | 815 | PCIe 3.0 ×16 | 5120:320:128 | 640 | 80 | 6 | 6 | 1132 | 1628 | 1696 | 208.4 | 521 | 32 | 868.4 | HBM2 | 4096 | 11592 (16671) | 5796 (8335) | 23183 (33341) | 250 | Oui | 8999 |
| Nvidia Titan V CEO Edition$^,$ | 21 juin 2018 | GV100 | TSMC 12 nm | 21.1 | 815 | PCIe 3.0 ×16 | 5120:320:128 | 640 | 80 | 6 | 6 | 1200 | 1455 | 1700 | 186.2 | 465.6 | 32 | 870.4 | HBM2 | 4096 | 12288 (14899) | 6144 (7450) | 24576 (29798) | 250 | Oui | N/A |
* ↑ Un Streaming Multiprocessor (SM) comprend 64 cœurs CUDA et 4 TMU.
* ↑ Un Graphics Processing Cluster (GPC) comprend 14 Streaming Multiprocessors.
* ↑ Nb. cœurs CUDA : Nb. TMU : Nb. ROP
* ↑ Un cœur Tensor est un FPU multi-précision spécialement conçu pour l'arithmétique matricielle.