Pascal est le nom de code d'une microarchitecture GPU développée par Nvidia , en tant que successeur de l' architecture Maxwell . L'architecture a été introduite pour la première fois en avril 2016 avec la sortie de la Tesla P100 (GP100) le 5 avril 2016, et est principalement utilisée dans la série GeForce 10 , à commencer par les GeForce GTX 1080 et GTX 1070 (toutes deux utilisant le GPU GP104), qui ont été lancées respectivement le 27 mai 2016 et le 10 juin 2016. Pascal a été fabriqué à l'aide du processus FinFET 16 nm de TSMC puis du processus FinFET 14 nm de Samsung .
L'architecture doit son nom au mathématicien et physicien français du XVIIe siècle, Blaise Pascal .
En avril 2019, Nvidia a permis une implémentation logicielle de DirectX Raytracing sur les cartes basées sur Pascal à partir de la GTX 1060 6 Go, et dans les cartes de la série 16 , une fonctionnalité réservée à la série RTX basée sur Turing jusqu'à ce point.
Détails



En mars 2014, Nvidia a annoncé que le successeur de Maxwell serait la microarchitecture Pascal, annoncée le 6 mai 2016 et commercialisée le 27 mai de la même année. La Tesla P100 (puce GP100) possède une version différente de l'architecture Pascal par rapport aux GPU GTX (puce GP104). Les unités de shader de la GP104 ont une conception de type Maxwell .
Les améliorations architecturales de l'architecture GP100 incluent les suivantes :
- En Pascal, un SM (streaming multiprocessor) est composé de 64 à 128 cœurs CUDA, selon qu'il s'agit d'un GP100 ou d'un GP104. Maxwell contenait 128 cœurs CUDA par SM ; Kepler en avait 192, Fermi 32 et Tesla 8. Le SM GP100 est partitionné en deux blocs de traitement, chacun ayant 32 cœurs CUDA simple précision, un tampon d'instructions, un planificateur de distorsion, 2 unités de mappage de texture et 2 unités de répartition.
- Capacité de calcul CUDA 6.0.
- Mémoire à bande passante élevée 2 — certaines cartes disposent de 16 Gio HBM2 dans quatre piles avec une largeur de bus totale de 4 096 bits et une bande passante mémoire de 720 Go/s.
- Mémoire unifiée : une architecture de mémoire dans laquelle le processeur et le processeur graphique peuvent 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 à large bande passante entre le processeur et le processeur graphique, et entre plusieurs processeurs graphiques. Permet des vitesses de transfert bien supérieures à celles réalisables en utilisant PCI Express ; estimé entre 80 et 200 Go/s.
- Les opérations à virgule flottante 16 bits ( FP16 ) (appelées familièrement « demi-précision ») peuvent être exécutées à une vitesse deux fois supérieure à celle des opérations à virgule flottante 32 bits (« simple précision ») et les opérations à virgule flottante 64 bits (appelées familièrement « double précision ») exécutées à la moitié de la vitesse des opérations à virgule flottante 32 bits.
- Plus de registres — deux fois plus de registres par cœur CUDA par rapport à Maxwell.
- Plus de mémoire partagée.
- Système de planification d'équilibrage de charge dynamique. Cela permet au planificateur d'ajuster dynamiquement la quantité de GPU affectée à plusieurs tâches, garantissant que le GPU reste saturé de travail sauf lorsqu'il n'y a plus de travail qui peut être distribué en toute sécurité. Nvidia a donc activé en toute sécurité le calcul asynchrone dans le pilote de Pascal.
- Préemption au niveau des instructions et des threads.
Les améliorations architecturales de l'architecture GP104 incluent les suivantes :
- Capacité de calcul CUDA 6.1.
- GDDR5X — nouvelle norme de mémoire prenant en charge des débits de données de 10 Gbit/s, contrôleur de mémoire mis à jour.
- Projection multiple simultanée : génération de plusieurs projections d'un même flux de géométrie, lorsqu'il entre dans le moteur SMP à partir des étages de shader en amont.
- Port d'affichage 1.4, HDMI 2.0b.
- Compression des couleurs Delta de quatrième génération.
- Interface SLI améliorée — Interface SLI avec une bande passante supérieure par rapport aux versions précédentes.
- Ensemble de fonctionnalités PureVideo Décodage vidéo matériel H Décodage matériel HEVC Main10 (10 bits), Main12 (12 bits) et VP9.
- Prise en charge HDCP 2.2 pour la lecture et la diffusion de contenu protégé par DRM 4K (les Maxwell GM200 et GM204 ne prennent pas en charge HDCP 2.2, le GM206 prend en charge HDCP 2.2).
- Encodage matériel NVENC HEVC Main10 10 bits.
- Boost du processeur graphique 3.0.
- Préemption au niveau des instructions. Dans les tâches graphiques, le pilote limite la préemption au niveau des pixels, car les tâches de pixels se terminent généralement rapidement et les coûts généraux liés à la préemption au niveau des pixels sont inférieurs à ceux de la préemption au niveau des instructions (qui est coûteuse). Les tâches de calcul bénéficient d'une préemption au niveau du thread ou au niveau des instructions, car elles peuvent prendre plus de temps à se terminer et il n'y a aucune garantie quant au moment où une tâche de calcul se termine. Par conséquent, le pilote permet la préemption coûteuse au niveau des instructions pour ces tâches.
Aperçu
Cluster de processeurs graphiques
Une puce est divisée en clusters de processeurs graphiques (GPC). Pour les puces GP104, un GPC comprend 5 SM.
Multiprocesseur de streaming "Pascal"
Un « multiprocesseur de streaming » est analogue à l'unité de calcul d'AMD . Un SM comprend 128 ALU simple précision (« cœurs CUDA ») sur les puces GP104 et 64 ALU simple précision sur les puces GP100. Alors que toutes les versions CU se composent de 64 processeurs shader (c'est-à-dire 4 unités vectorielles SIMD, chacune de 16 voies de large), Nvidia a expérimenté des nombres très différents de cœurs CUDA :
- Sur Tesla , 1 SM combine 8 processeurs shader simple précision (FP32)
- Sur Fermi , 1 SM combine 32 processeurs shader simple précision (FP32)
- Sur Kepler , 1 SM combine 192 processeurs shader simple précision (FP32) et 64 unités double précision (FP64) (sur les GPU GK110)
- Sur Maxwell , 1 SM combine 128 processeurs shader simple précision (FP32)
- Chez Pascal, ça dépend :
- Sur le GP100, 1 SM combine 64 processeurs shader simple précision (FP32) et également 32 processeurs double précision (FP64), offrant un rapport de débit simple à double précision de 2:1. Le GP100 utilise des cœurs FP32 plus flexibles capables de traiter un nombre simple précision ou deux nombres demi-précision dans un vecteur à deux éléments. Cela vise à mieux servir les tâches d'apprentissage automatique .
- Sur GP104, 1 SM combine 128 ALU simple précision, 4 ALU double précision (fournissant un rapport de 32:1) et une ALU demi-précision qui contient un vecteur de deux flottants demi-précision qui peuvent exécuter la même instruction sur les deux flottants, fournissant un rapport de 64:1 si la même instruction est utilisée sur les deux éléments.
Moteur Polymorph 4.0
Le moteur Polymorph version 4.0 est l'unité responsable de la tessellation . Il correspond fonctionnellement au processeur géométrique d'AMD . Il a été déplacé du module shader vers le TPC pour permettre à un moteur Polymorph d'alimenter plusieurs SM au sein du TPC.
Puces

- GP100 : l'accélérateur GPU Tesla P100 de Nvidia est destiné aux applications GPGPU telles que le calcul à double précision FP64 et l'apprentissage en profondeur qui utilise FP16. Il utilise la mémoire HBM2 . Quadro GP100 utilise également le GPU GP100.
- GP102 : ce GPU est utilisé dans le Titan Xp, le Titan X Pascal et la GeForce GTX 1080 Ti. Il est également utilisé dans la Quadro P6000 et la Tesla P40.
- GP104 : ce GPU est utilisé dans les GeForce GTX 1070, GTX 1070 Ti, GTX 1080 et certaines GTX 1060 6 Go. La GTX 1070 a 15/20 de ses SM activés et la GTX 1070 Ti a 19/20 de ses SM activés ; les deux utilisent la mémoire GDDR5. La GTX 1080 est une puce entièrement déverrouillée et utilise la mémoire GDDR5X. Certaines GTX 1060 6 Go utilisent GP104 avec 10/20 SM activés et la mémoire GDDR5X. Il est également utilisé dans les Quadro P5000, Quadro P4000, Quadro P3200 (applications mobiles) et Tesla P4.
- GP106 : ce GPU est utilisé dans la GeForce GTX 1060 avec mémoire GDDR5 . Il est également utilisé dans la Quadro P2000.
- GP107 : ce GPU est utilisé dans les GeForce GTX 1050 et 1050 Ti. Il est également utilisé dans les Quadro P1000, Quadro P600, Quadro P620 et Quadro P400.
- GP108 : ce GPU est utilisé dans les GeForce GT 1010 et GeForce GT 1030.
Performance
La puissance de traitement théorique simple précision d'un GPU Pascal en GFLOPS est calculée comme 2 × opérations par instruction FMA par cœur CUDA par cycle × nombre de cœurs CUDA × vitesse d'horloge du cœur (en GHz).
La puissance de traitement théorique en double précision d'un GPU Pascal est la moitié des performances en simple précision du Nvidia GP100 et 1/32 de celles du Nvidia GP102, GP104, GP106, GP107 et GP108.
La puissance de traitement théorique en demi-précision d'un GPU Pascal est 2 fois supérieure à celle en simple précision du GP100 et 1/64 des GP104, GP106, GP107 et GP108.
Successeur
L'architecture Pascal a été remplacée en 2017 par Volta sur les marchés du HPC , du cloud computing et des voitures autonomes , et en 2018 par Turing sur le marché grand public et professionnel.
Accélérateur P100 et DGX-1
Comparaison des accélérateurs utilisés dans DGX :