# Pascal (microarquitectura)

Pascal és el nom en clau d'una microarquitectura de GPU desenvolupada per Nvidia, com a successor de l'arquitectura Maxwell. L'arquitectura es va presentar per primera vegada l'abril del 2016 amb el llançament del Tesla P100 (GP100) el 5 d'abril del 2016, i s'utilitza principalment a la sèrie GeForce 10, començant per la GeForce GTX 1080 i la GTX 1070 (ambdues utilitzant la GPU GP104), que es van publicar el 17 de maig del 2016 i el 10 de juny del 2016, respectivament. Pascal es va fabricar mitjançant el procés FinFET de 16 nm de TSMC, i posteriorment 14 nm de Samsung.
L'arquitectura rep el nom del matemàtic i físic francès del segle XVII Blaise Pascal.
L'abril del 2019, Nvidia va habilitar una implementació de programari de DirectX Raytracing a les targetes basades en Pascal a partir de la GTX 1060 6 GB, i a les targetes de la sèrie 16, una característica reservada a la sèrie RTX basada en Turing fins a aquest moment.

## Detalls

El març de 2014, Nvidia va anunciar que el successor de Maxwell seria la microarquitectura Pascal; anunciat el 6 de maig de 2016 i llançat el 27 de maig del mateix any. El Tesla P100 (xip GP100) té una versió diferent de l'arquitectura Pascal en comparació amb les GPU GTX (xip GP104). Les unitats d'ombra del GP104 tenen un disseny semblant a Maxwell.
Les millores arquitectòniques de l'arquitectura GP100 inclouen les següents:
* A Pascal, un SM (streaming multiprocessador) consta d'entre 64-128 nuclis CUDA, depenent de si és GP100 o GP104. Maxwell va empaquetar 128, Kepler 192, Fermi 32 i Tesla només 8 nuclis CUDA en un SM; el GP100 SM està dividit en dos blocs de processament, cadascun amb 32 nuclis CUDA d'una precisió, un buffer d'instruccions, un programador de warp, 2 unitats de mapatge de textures i 2 unitats d'enviament.
* Capacitat de càlcul CUDA 6.0.
* Memòria 2 d'ample de banda alt: algunes targetes inclouen 16 GiB HBM2 en quatre piles amb un total de bus de 4096 bits amb una amplada de banda de memòria de 720 GB/s.
* Memòria unificada: una arquitectura de memòria, on la CPU i la GPU poden accedir tant a la memòria principal del sistema com a la memòria de la targeta gràfica amb l'ajuda d'una tecnologia anomenada "Page Migration Engine".
* NVLink : un bus d'ample de banda elevat entre la CPU i la GPU i entre diverses GPU. Permet velocitats de transferència molt més altes que les que es poden aconseguir mitjançant PCI Express; s'estima que en proporcionen entre 80 i 200 GB/s.
* Les operacions de coma flotant de 16 bits (FP16, col·loquialment "mitja precisió") es poden executar al doble de la velocitat de les operacions de coma flotant de 32 bits ("precisió única") i les operacions de coma flotant de 64 bits (col·loquialment "doble precisió") executada a la meitat de la velocitat de les operacions de coma flotant de 32 bits.
* Més registres: el doble de la quantitat de registres per nucli CUDA en comparació amb Maxwell.
* Més memòria compartida.
* Sistema de programació dinàmic d'equilibri de càrrega. Això permet al planificador ajustar de forma dinàmica la quantitat de GPU assignada a diverses tasques, assegurant que la GPU es mantingui saturada de treball, excepte quan no hi hagi més feina que es pugui distribuir de manera segura per distribuir. Per tant, Nvidia ha habilitat de manera segura la computació asíncrona al controlador de Pascal.
* Preempció a nivell d'instrucció i de fil.
Les millores arquitectòniques de l'arquitectura GP104 inclouen les següents:
* Capacitat de càlcul CUDA 6.1.
* GDDR5X: nou estàndard de memòria que admet velocitats de dades de 10 Gbit/s, controlador de memòria actualitzat.
* Multiprojecció simultània: genera múltiples projeccions d'un sol flux de geometria, a mesura que entra al motor SMP des de les etapes de l'ombra amunt.
* DisplayPort 1.4, HDMI 2.0b.
* Compressió de color Delta de quarta generació.
* Interfície SLI millorada: interfície SLI amb una amplada de banda més gran en comparació amb les versions anteriors.
* PureVideo Feature Set H descodificació de vídeo de maquinari HEVC Main10 (10 bits), Main12 (12 bits) i descodificació de maquinari VP9.
* Compatibilitat amb HDCP 2.2 per a la reproducció i reproducció de contingut protegit amb 4K DRM (Maxwell GM200 i GM204 no tenen suport HDCP 2.2, GM206 admet HDCP 2.2).
* Codificació de maquinari NVENC HEVC Main10 de 10 bits.
* GPU Boost 3.0.
* Preempció a nivell d'instrucció. A les tasques gràfiques, el controlador restringeix la preempció al nivell de píxel, perquè les tasques de píxel normalment acaben ràpidament i els costos generals de fer la preempció a nivell de píxel són inferiors a la preempció a nivell d'instrucció (que és car). Les tasques de càlcul obtenen una preempció a nivell de fil o a nivell d'instrucció, perquè poden trigar més temps a finalitzar i no hi ha garanties sobre quan s'acaba una tasca de càlcul. Per tant, el controlador habilita la costosa preempció a nivell d'instrucció per a aquestes tasques.

## Xips

* GP100: l'accelerador de GPU Nvidia Tesla P100 està orientat a aplicacions GPGPU com ara el càlcul de doble precisió FP64 i la formació d'aprenentatge profund que utilitza FP16. Utilitza memòria HBM2. Quadro GP100 també utilitza la GPU GP100.
* GP102: aquesta GPU s'utilitza a la TITAN Xp, Titan X i la GeForce GTX 1080 Ti. També s'utilitza al Quadro P6000 i al Tesla P40.
* GP104: aquesta GPU s'utilitza a les GeForce GTX 1070, GTX 1070 Ti i GTX 1080. El GTX 1070 té 15/20 i el GTX 1070 Ti té 19/20 dels seus SM activats. Tots dos estan connectats a la memòria GDDR5, mentre que el GTX 1080 és un xip complet i està connectat a la memòria GDDR5X. També s'utilitza al Quadro P5000, Quadro P4000, Quadro P3200 (aplicacions mòbils) i Tesla P4.
* GP106: aquesta GPU s'utilitza a la GeForce GTX 1060 amb memòria GDDR5/GDDR5X. També s'utilitza al Quadro P2000.
* GP107: aquesta GPU s'utilitza a les GeForce GTX 1050 Ti i GeForce GTX 1050. També s'utilitza al Quadro P1000, Quadro P600, Quadro P620 i Quadro P400.
* GP108: aquesta GPU s'utilitza a les GeForce GT 1010 i GeForce GT 1030.

## Referències

* ↑ «Samsung to Optical-Shrink NVIDIA "Pascal" to 14 nm» (en anglès). [Consulta: 13 agost 2016].
* ↑ «Accelerating The Real-Time Ray Tracing Ecosystem: DXR For GeForce RTX and GeForce GTX» (en anglès). NVIDIA.
* ↑ «Ray Tracing Comes to Nvidia GTX GPUs: Here's How to Enable It» (en anglès), 11-04-2019.
* ↑ «NVIDIA GeForce GTX 1080» (en anglès). International.download.nvidia.com. [Consulta: 15 setembre 2016].
* ↑ Gupta, Sumit. «NVIDIA Updates GPU Roadmap; Announces Pascal» (en anglès). Blogs.nvidia.com, 21-03-2014. Arxivat de l'original el 2014-03-25. [Consulta: 25 març 2014].
* ↑ «Parallel Forall» (en anglès). NVIDIA Developer Zone. Devblogs.nvidia.com. Arxivat de l'original el 2014-03-26. [Consulta: 25 març 2014].
* ↑ «NVIDIA Tesla P100» (en anglès). International.download.nvidia.com. [Consulta: 15 setembre 2016].
* ↑ «NVIDIA GeForce GTX 1080» (en anglès). International.download.nvidia.com. [Consulta: 15 setembre 2016].