# Pascal (microarchitecture)

L'architecture Pascal est une architecture de processeur graphique développée par NVidia pour ses cartes graphiques, qui a succédé au cours de l'année 2016 à l'architecture Maxwell annoncé en mars 2014. Elle est nommée en l'honneur du mathématicien, physicien et philosophe français du XVIIe siècle Blaise Pascal.

## Architecture

L'architecture Pascal inaugure une nouvelle technique de fabrication appelée FinFET (Fin Field Effect Transistor), afin de passer à une finesse de gravure de 16 nm. Le nombre de transistors par unité de surface sera donc plus élevé.
Certains modèles haut de gamme supportent la mémoire HBM2.

### Améliorations

Les améliorations sont :
* Le « multiprocesseur de flux » (SM, streaming multiprocessor) qui se compose de 64 cœurs CUDA, un nombre identique à celui des unités de calcul (UC) de l'architecture GCN d'AMD. Maxwell en comptait 128, Kepler 192, Fermi 32 et Tesla ne comportait que seulement 8 cœurs CUDA dans une SM ; le SM du GP100 est partitionné en deux blocs de traitement, ayant chacun 32 cœurs CUDA simple-précision, un tampon d'instruction, un ordonnanceur de warps (composés de 32 threads), deux TMU et deux unités d'expédition.
* 16 Go de mémoire HBM2 en quatre piles avec un bus de 4096 bits et une bande passante mémoire de 720 Go/s.
* Mémoire unifiée - architecture mémoire unifiée afin que le CPU et le GPU puissent accéder à la fois à la mémoire principale du système et à la mémoire de la carte graphique à l'aide d'une technologie appelée Page Migration Engine.
* NVLink - un bus à haute vitesse de transfert entre le CPU et le GPU, et entre plusieurs GPU. Il permet des vitesses de transfert beaucoup plus élevées que celles pouvant être atteintes en utilisant PCI Express ; estimée à fournir entre 80 et 200 Go/s$^,$.
* Les opérations en virgule flottante 16 bits (half precision) peuvent être exécutées deux fois plus vite que celles en virgule flottante 32 bits (single precision) et les opérations en virgule flottante 64 bits (double precision) exécutées en moitié plus de temps que les opérations en virgule flottante 32 bits (Maxwell taux 1/32).

## Modèles
### Sous la marque GeForce

| Modèles | GeForce GT 1030 | GeForce GTX 1050$^,$$^,$ | GeForce GTX 1050 Ti$^,$$^,$ | GeForce GTX 1060 3Go$^,$$^,$ | GeForce GTX 1060 6Go$^,$$^,$ | GeForce GTX 1070$^,$$^,$ | GeForce GTX 1070 Ti | GeForce GTX 1080$^,$$^,$ | GeForce GTX 1080 Ti | Titan X (Pascal)$^,$ | Titan Xp |
| Finesse de gravure | 14 nm | 14 nm | 14 nm | 16 nm | 16 nm | 16 nm | 16 nm | 16 nm | 16 nm | 16 nm | 16 nm |
| Code de la puce | GP108-300 | GP107-300 | GP107-400 | GP106-300 | GP106-400 | GP104-200 | GP104-300 | GP104-400 | GP102-350 | GP102-400 | GP102-450 |
| Surface de la puce | 74 mm² | 135 mm$^2$ | 135 mm$^2$ | 200 mm$^2$ | 200 mm$^2$ | 314 mm$^2$ | 314 mm$^2$ | 314 mm$^2$ | 471 mm$^2$ | 471 mm$^2$ | 471 mm$^2$ |
| Nombre de transistors | ~1.8 G | 3,3 G | 3,3 G | 4,4 G | 4,4 G | 7,2 G | 7,2 G | 7,2 G | 12 G | 12 G | 12 G |
| Fréquence | 1228 MHz | 1354 MHz | 1290 MHz | 1506 MHz | 1506 MHz | 1506 MHz | 1607 MHz | 1607 MHz | 1480 MHz | 1417 MHz | 1405 MHz |
| Fréquence Turbo | 1468 MHz | 1455 MHz | 1392 MHz | 1708 MHz | 1708 MHz | 1683 MHz | 1683 MHz | 1733 MHz | 1584 MHz | 1531 MHz | 1582 MHz |
| Nb. cœurs CUDA | 384 | 640 | 768 | 1152 | 1280 | 1920 | 2432 | 2560 | 3584 | 3584 | 3840 |
| Nb. unités de texture | 24 | 40 | 48 | 72 | 80 | 120 | 152 | 160 | 224 | 224 | 240 |
| Nb. ROP | 16 | 32 | 32 | 48 | 48 | 64 | 64 | 64 | 88 | 96 | 96 |
| Cache L2 | | 1024 Ko | 1024 Ko | 1536 Ko | 1536 Ko | 2048 Ko | 2048 Ko | 2048 Ko | 2816 Ko | 3072 Ko | 3072 Ko |
| Type de mémoire | GDDR5 | GDDR5 | GDDR5 | GDDR5 | GDDR5 | GDDR5 | GDDR5 | GDDR5X | GDDR5X | GDDR5X | GDDR5X |
| Capacité mémoire | 2 Go | 2 Go | 4 Go | 3 Go | 6 Go | 8 Go | 8 Go | 8 Go | 11 Go | 12 Go | 12 Go |
| Vitesse mémoire | 6 Gbits/s | 7 Gbits/s | 7 Gbits/s | 8 Gbit/s | 8 Gbit/s | 8 Gbit/s | 8 Gbit/s | 10 Gbit/s | 11 Gbits/s | 10 Gbits/s | 11 Gbits/s |
| Largeur du bus mémoire | 64 bits | 128 bits | 128 bits | 192 bits | 192 bits | 256 bits | 256 bits | 256 bits | 352 bits | 384 bits | 384 bits |
| Débit mémoire | 48 Go/s | 112 Go/s | 112 Go/s | 192 Go/s | 192 Go/s | 256 Go/s | 256 Go/s | 320 Go/s | 484 Go/s | 480 Go/s | 547 Go/s |
| Fréquence mémoire | 1502 MHz | 1752 MHz | 1752 MHz | 2000 MHz | 2000 MHz | 2000 MHz | 2000 MHz | 1251 MHz | 1375 MHz | 1251 MHz | 1425 MHz |
| Enveloppe thermique (TDP) | 30 W | 75 W | 75 W | 120 W | 120 W | 150 W | 180 W | 180 W | 220 W | 250 W | 250 W |
| Calcul FP16 | 17 GFLOPs | | | | | | | | | | |
| Calcul FP32 | 1.1 TFLOPs | 1,9 TFLOPS | 2,1 TFLOPS | 3,9 TFLOPS | 4,4 TFLOPS | 6,5 TFLOPS | 8.2 TFLOPS | 8,9 TFLOPS | 11 TFLOPS | 11 TFLOPS | 12 TFLOPS |
| Calcul FP64 | 35 GFLOPS | | | | | | | | | | |
| Date de sortie | 17 mai 2017 | 8 novembre 2016 | 25 octobre 2016 | 19 juillet 2016 | 19 juillet 2016 | 10 juin 2016 | 2 novembre 2017 | 27 mai 2016 | 10 mars 2017 | 2 août 2016 | 6 avril 2017 |

### Sous la marque Quadro

| Modèles | Quadro P400 | Quadro P600 | Quadro P1000 | Quadro P2000 | Quadro P4000 | Quadro P5000$^,$ | Quadro P6000$^,$ | Quadro GP100 |
| Finesse de gravure | 14 nm | 14 nm | 14 nm | 16 nm | 16 nm | 16 nm | 16 nm | 16 nm |
| Code de la puce | GP107 | GP107 | GP107 | GP106 | GP104 | GP104 | GP102 | GP100 |
| Surface de la puce | 132 mm² | 132 mm² | 132 mm² | 200 mm² | 314 mm² | 314 mm² | 471 mm² | 610 mm² |
| Nombre de transistors | 3.3 G | 3.3 G | 3.3 G | 4.4 G | 7.2 G | 7.2 G | 12 G | 15.3 G |
| Fréquence | 1228 MHz | 1354 MHz | 1266 MHz | 1370 MHz | 1202 MHz | 1607 MHz | 1506 MHz | 1380 MHz |
| Fréquence Turbo | 1328 MHz | 1455 MHz | 1354 MHz | 1470 MHz | 1480 MHz | 1733 MHz | 1645 MHz | 1441 MHz |
| Nb. cœurs CUDA | 256 | 384 | 640 | 1024 | 1792 | 2560 | 3840 | 3584 |
| Nb. unités de texture | 16 | 24 | 40 | 64 | 112 | 160 | 240 | 224 |
| Nb. ROP | 16 | 16 | 32 | 40 | 64 | 64 | 96 | 96 |
| Cache L2 | 512 Ko | 1024 Ko | 1024 Ko | 1280 Ko | 2048 Ko | 2048 Ko | 3072 Ko | 4096 Ko |
| Type de mémoire | GDDR5 | GDDR5 | GDDR5 | GDDR5 | GDDR5 | GDDR5X | GDDR5X | HBM2 |
| Capacité mémoire | 2 Go | 2 Go | 4 Go | 5 Go | 8 Go | 16 Go | 24 Go | 16 Go |
| Fréquence mémoire | 1000 MHz | 1000 MHz | 1250 MHz | 2000 MHz | 1900 MHz | 1127 MHz | 1127 MHz | 900 MHz |
| Largeur du bus mémoire | 64 bits | 128 bits | 128 bits | 160 bits | 256 bits | 256 bits | 384 bits | 4096 bits |
| Débit mémoire | 32 Go/s | 64 Go/s | 80 Go/s | 160 Go/s | 243 Go/s | 288 Go/s | 432 Go/s | 921 Go/s |
| Enveloppe thermique (TDP) | 30 W | 40 W | 47 W | 75 W | 105 W | 180 W | 250 W | 250 W |
| Calcul INT8 | 2.7 TIOPS | 4.4 TIOPS | 6.9 TIOPS | 12 TIOPS | 21.2 TIOPS | 35.5 TIOPS | 50.5 TIOPS | |
| Calcul FP16 | 10 GFLOPS | 17 GFLOPS | 27 GFLOPS | 47 GFLOPS | 83 GFLOPS | 138 GFLOPS | 187 GFLOPS | 20 TFLOPS |
| Calcul FP32 | 680 GFLOPS | 1.1 TFLOPS | 1.7 TFLOPS | 3 TFLOPS | 5.3 TFLOPS | 8.9 TFLOPS | 12 TFLOPS | 10 TFLOPS |
| Calcul FP64 | 21 GFLOPS | 35 GFLOPS | 54 GFLOPS | 94 GFLOPS | 166 GFLOPS | 277 GFLOPS | 395 GFLOPS | 5 TFLOPS |
| Date de sortie | février 2017 | février 2017 | février 2017 | février 2017 | février 2017 | octobre 2016 | octobre 2016 | octobre 2016 |

### Sous la marque Tesla

| Modèles | Tesla P4 | Tesla P40 | Tesla P100 PCIe 12GB | Tesla P100 PCIe 16GB | Tesla P100 SXM2 |
| Finesse de gravure | 16 nm | 16 nm | 16 nm | 16 nm | 16 nm |
| Code de la puce | GP104-995-A1 | GP102 | GP100 | GP100 | GP100-893-A1 |
| Surface de la puce | 314 mm² | 471 mm² | 610 mm² | 610 mm² | 610 mm² |
| Nombre de transistors | 7.2 G | 12 G | 15.3 G | 15.3 G | 15.3 G |
| Fréquence | 810 MHz | 1303 MHz | 1328 MHz | 1328 MHz | 1328 MHz |
| Fréquence Turbo | 1063 MHz | 1531 MHz | 1480 MHz | 1480 MHz | 1480 MHz |
| Nb. cœurs CUDA | 2560 | 3840 | 3584 | 3584 | 3584 |
| Nb. unités de texture | 160 | 240 | 224 | 224 | 224 |
| Nb. ROP | 64 | 96 | 96 | 96 | 96 |
| Cache L2 | 2048 Ko | 3072 Ko | 3072 Ko | 4096 Ko | 4096 Ko |
| Type de mémoire | GDDR5 | GDDR5 | HBM2 | HBM2 | HBM2 |
| Capacité mémoire | 8 Go | 24 Go | 12 Go | 16 Go | 16 Go |
| Fréquence mémoire | 1500 MHz | 1250 MHz | 704 MHz | 704 MHz | 704 MHz |
| Largeur du bus mémoire | 256 bits | 384 bits | 3072 bits | 4096 bits | 4096 bits |
| Débit mémoire | 192 Go/s | 480 Go/s | 540 Go/s | 721 Go/s | 721 Go/s |
| Enveloppe thermique (TDP) | 75 W | 250 W | 300 W | 300 W | 300 W |
| Calcul INT8 | 21.7 TIOPS | 47 TIOPS | | | |
| Calcul FP16 | 85 GFLOPS | 183 GFLOPS | 21.2 TFLOPS | 21.2 TFLOPS | 21.2 TFLOPS |
| Calcul FP32 | 5.4 TFLOPS | 11.7 TFLOPS | 10.6 TFLOPS | 10.6 TFLOPS | 10.6 TFLOPS |
| Calcul FP64 | 170 GFLOPS | 367 GFLOPS | 5.3 TFLOPS | 5.3 TFLOPS | 5.3 TFLOPS |
| Date de sortie | septembre 2016 | septembre 2016 | juin 2016 | juin 2016 | avril 2016 |