Sunteți pe pagina 1din 14

Arhitectura Pascal

Cuprins
 Prezentarea Conferintei de presa din 2017
- Ansel
 Arhitectura Pascal

Prezentarea Conferintei de presa din 2017


2017, un an ce avea sa schimbe definitiv nivelul de performanta si inceperea unei noi ere din
punct de vedere graphic & putere de procesare. CEO-ul companiei Nvidia a anuntat o multime
de tehnologii noi si totodata placile video din gama de top, ce promite de 2 ori mai multa
performanta decat Titan X si GTX 980, din punct de vedere al performantei video si eficientei.

Prima tehnologie anuntata odata cu trecerea pe Pascal a fost Ansel.

Ansel
Ansel vine in ajutorul celor pasionati in arta gaming-ului, astfel incat iti permite sa creezi
screenshot-uri artistice prin multitudinea de functii. Aceasta tehnologie este implementata
direct in driverele placilor si aduce ca si concept, dar si realitate, un free-
camera virtual ce are rolul de a capta fotografii de calitate inalta, ajustand
imaginea si facand-o pe placul tau.
Free Camera
Abilitatea de a de tolosi de un free-camera virtual, in-game, pentru a iti cauta
un unghi de fotografiere perfect si totodata pentru a avea o experienta de
vizualizare a intregii lumi printr-un free-camera. Acesta este implementat
direct din driver, driver-ul activeaza modul free-camera si iti activeaza un
mod de vizionare in-game pentru a-ti cauta cadrul perfect. Acest featuring nu
presupune a avea implementat in sursa jocului un free-camera, ci acesta
poate fii activat pe orice joc disponibil pentru Nvidia Ansel.

Filters
Dupa ce utilizatorul si-a ales un loc unde poate face screenshot-ul, acesta se poate
folosi de filtre pentru a face totul mai artistic. Ansel include o multitudine de
moduri in care iti poti ajusta imaginea (filtru alb-negru / filtru de ajustare a
densitatii luminii si culorilor / dof / greenscreen / stickers / letterbox si altele).
Practic, iti poti transforma jocul dintr-un simplu frame intr-o poveste, adaugandu-I
filtre, facand corectii de culoare ori adauga un emoji, de a scrie ceva peste
imagine ori greenscreen pentru a-ti adauga propriul content peste frame.
Activand modul Filter, acesta iti pune la dispozitie preset-urile de mai sus si un
submeniu in care iti poti ajusta cum vrei setarile din preset-ul respectiv.
FXR
FXR este o tehnologie din cadrul Ansel ce-ti permite sa creezi o
imagine HDR si apoi sa o exporti in format RAW. Formatele RAW sunt
folosite cel mai adesea in industria design-ului foto, deoarece acesta
reprezinta o imagine de o dimensiune mai mare, ce retine o
multitudine de detalii in format HDR.

Super Rez
Super Rez aduce posibilitatea de a randa imaginea din rezolutia nativa a jocului in
rezolutie mai mare (upscalling). CEO-ul Nvidia a mentionat faptul ca, placa video va
randa imaginea in timp real la rezolutii mai mari, cum ar fi 2k sau 4k. Super-Rez are o
limita, de aceea acesta permite un upscalling de pana la x13 (pentru a evita efectul de
extra-sharping in care texturile se pot vedea prea crispy si urat).
Putem compara tehnologia cu dea de DLSS, doar ca DLSS se bazeaza pe core-uri fizice
si aduce un salt mare in performanta in-game, comparativ cu super-rez care este doar
la nivel estetic si disponibil doar pentru Ansel.
O tehnologie asemanatoare gasim si in driverele AMD, “sharpness”, doar ca acesta se
mentine pe tot parcursul gameplay-ului.

360 degrees Stereo & Single


V-ati gandit vreodata cum ar fi sa folositi un headset VR pentru a-ti explora lumea virtuala
simuland-o in realitate? Acest feature practice permite oricarui joc sa simuleze free-camera-ul,
sa capteze screenshot-uri in 360 grade si totodata sa foloseasca un set VR pentru a-si folosi
camera si a explora lumea virtuala din joc. Poti capta screenshot-uri in VR sau 360 grade si
trimite-o prietenilor ca sa experimenteze aceeasi experienta cu tine, ori sa o experimentezi tu in
mod live si sa te folosesti de stereo view pentru a simula lumea jocului.
Totodata, Nvidia a anuntat faptul ca s-a schimbat modul in care utilizatorul poate percepe
sunetele folosind un VR. Pana acum, sunetul vinea dintr-o singura directie, fapt pentru care
experienta era una limitata. Cu imbunatatirile acustice, sunetul se poate propaga din
screenview, senzorii masurand si detectand obiectele din camera ta, iar sunetul se va propaga
peste tot in camera din mai multe directii.
Toate aceste featuring-uri si totodata proiectul “Ansel” sunt deja implementate in driverele
video, si acesta se poate folosi utilizand GeForce Experience.

Simultaneaously surround multi-monitor

Arhitectura Pascal
Arhitectura Pascal, este succesorul microarhitecturii Maxwell, nume de cod “GP10X”.

Ca si schimbari, Pascal aduce un GPU Die mai marit si mult mai bogat, gratie microarhitecturii
pe 16nm (28 pe Maxwell). Avem cu doua Streaming Multiprocessors mai multe per GPC , asta
insemnand cu pana la 8 SM-uri mai multe decat pe arhitectura precedenta. In functie de
modelul placilor video, numarul de SM-uri / GPC / CUDA / TMU pot varia.

GPC (Graphics Processor Cluster)


Ca si pe arhitectura precedenta, seriile Geforce dedicate gamerilor include 4 GPC-uri (Graphics
Processor Cluster). Acesta include 5 randuri de TPC (Texture Processor Cluster) per GPC, si
totodata 5 SM-uri per GPC (SM = TPC pe Geforce GTX, iar numarul de SM este dublu pe Titan).
GPC include un pachet de TPC-uri si SM-uri, practic, avand rol de CCX grafic. Acesta actioneaza
ca si niste core-uri, folosindu-se de un engine si cache pentru a split-ui instructiunile pe grupuri
de SM-uri pentru a facilita pre-procesarea calculelor computationale si informatiilor.

TPC (Texture Processor Cluster)


TPC-ul este constituit dintr-un rand sau grup de streaming multiprocessors, un texture unit si o
unitate logica (Texture L1).
In urmatoarea imagine observam cum un TPC pe aceasta
arhitectura (nu Pascal), include 3 SM-uri. Acesta actioneaza
ca si un core-in-core (TPC in GPC) ce duce informatiile
texturiale, calculele computationale si alte calcule sau
procese ce necesita procesare grafica in grupurile de SM-uri
ce urmeaza a fi pre-procesate de core-urile din SM.

Streaming Multiprocessors
SM se refera la un grup de core-uri, un cache si un fisier de
registrii si alte componente ce faciliteaza procesarea in
paralel. SM se ocupa cu fetching -> decoding -> processing
si transfering de informatii in paralel. Aceasta o gasim sub
denumirea de “Streaming Multiprocessor” pe Nvidia, iar
apoi adus termenul de “Compute Unit” pe AMD.
Un Streaming Multiprocessor include core-uri CUDA.
Fiecare core executa aceleasi seturi de instructiuni
simultan. Pe fiecare SM avem un Shared Memory si registrii de memorie.
Toate sub-componentele unui SM, dar si cele dinafara lui, sunt interconectate intre ele, facand
schimb de informatii (GPC aduce informatia in SM, SM-ul asista la pre-procesarea CUDA si
apeleaza la cache si memoria lor independenta pentru a stoca ori retine informatii pentru
procesare, sau stocheaza permanent date repetitive ce urmeaza a fi apelate mai tarziu). Fiecare
core CUDA dintr-un SM se numeste Warp

CUDA Core
Core-urile CUDA sunt constituite intr-un SM si actioneaza ca si niste CPU Cores
Componentele totale unui CUDA sunt:

 CUDA Driver (inclus in pachetul de drivere ale placii video, este un firmware ce face
posibila comunicarea dintre hardware-ul cuda si instructiunile / codul oferit de
program).
 CUDA Architecture (Arhitectura CUDA continuta in arhitectura Pascal ori altele ce
include CUDA-uri).
 CUDA Toolkit (Compilatoare, librarii)

(Observam cum programul ce face call la procesarea CUDA


Include librariile, compilatorul si driverul pentru a trimite
mai departe procesul catre core-urile din arhitectura).
Un CUDA este format din:
 Floating Point Unit(procesarea informatiilor de tip float)
 Integer Unit (procesarea informatiilor de tip int)
 Result queue (o unitate ce are ca rol preluarea
proceselor si redirectionarea lor).

Librariile CUDA includ biblioteci custom in limbaje precum C / C++ / C#


OpenCL / OpenGL si au compatibilitate cu librarii
extinse precum python, java, julia etc.
Nucleele CUDA sunt echivalentul nucleelor procesorului
GPU Nvidia. Acestea sunt optimizate pentru a rula un număr
mare de calcule simultan, ceea ce este vital pentru grafica

Memory Controllers
Memory Controller-ul interactioneaza in mod indirect cu memoria principala a PC-ului, prin PCI-
E buses. Acesta preia informatiile din memoria RAM si o transfera catre GPU si invers. Pe
arhitectura Pascal, s-a splituit, astfel incat controller-ul de memorie devine mai fluidizant si intr-
un numar mai mare (8 pe pascal, 4 pe maxwell). Sa ne gandim al un scenariu si sa asimilam
memory controller-ul cu peretele celular (acesta lasa sa intre si sa iasa doar informatii ce
urmeaza a fi procesate de catre GPU, din memoria primara).
Citirea specificatiilor GPU (Pascal)
GTX 1080 (Pascal)
20 SM (5 SM * 4 GPC = 20 SM) – De luat in calcul faptul ca, pana pe generatia Ampere SM-urile au
ramas unificate intr-un GPC (gasesti un SM de sus pana jos unificat), iar apoi de la Ampere incoace,
numarul de Streaming Multiprocessors
s-au dublat din cauza divizarii lor VS 16
(Maxwell)

64 ROPs – Constituie pasii finali privind


randarea si pre-procesarea, sunt
marcate cu albastru (divizate in 8 x 8
grupe – 64) identic cu Maxwell

TMU – Unitati texturiale ce cuprinde


alte sub-componente (marcate cu maro
[8x20SM = 160TMU] VS 128 (Maxwell)
L1 Cache – Cache de nivel L1 cu marimea de 48KB pe fiecare SM same cu Maxwell

L2 Cache – Cache de nivel L2 ce constituie mijlocul prin care fiecare SM / ROP are acces la memoria de
stocare same cu Maxwell

Litografie - 16nm (VS 28 nm)

Noi memorii GDDR5X


Noua serie de memorii produse de Micron, ating un nou nivel. Arhitectura Pascal promite,
odata cu implementarea noii versiuni de memorii GDDR, o viteza efectiva de 10Gbps pana la
14Gbps (7 pe GDDR5).
Acesta foloseste 190pini BGA pe chip ce asigura viteza efectiva de transfer de date dintre chip-
ul grafic si memorii, prin circuitele placii. Fiecare chip are un clock de gestionare (Write CLCK) si
(Read CLCK) in care frecventa acestora se sincronizeaza in functie de speed-ul memoriilor la
care lucreaza in acel moment.
Cum se calculeaza latimea de banda?
Memory clock: 1251 MHz
Bus width: 256-bit
Memory type: GDDR5X

(1251 * 256 / 8) * 8 = ~320 GB/s


Latimea de banda GPU reprezinta potentialul maxim al unui bus si arata cat de repede chip-ul
grafic poate accesa framebuffer-ul. Practic reprezinta capabilitatea GPU-ului de a muta sau
accesa date.
(Imaginati-va cum un autobuz reprezinta latimea de banda, iar motorul reprezinta viteza la care
memoria opereaza)

GDDR5X are 10Gbps efectiv pe rail


GDDR5X are 32 rail-uri si maxim 8 chip-uri pe PCB

Benchmarkt-uri
(GTX 1080 - Pascal Versus GTX 980ti – Maxwell)
In aceste 4 jocuri, GTX 1080 a reusit sa scoata o medie totala de 77 FPS-uri, in timp ce 980TI
61FPS-uri, in total, diferenta de performanta in gaming dintre aceste doua modele a fost de
aproximativ 16 FPS-uri (pe preset-uri maximizate, dar rezolutii diferite). Diferenta de framerate
este mai mica pe rezolutii mai inalte, insa de bagat in seama. Average-ul diferentei in 1080p a
fost de aproximativ 20-25 FPS-uri, in 2K, 10-15 FPS-uri si in 4K aproximativ 7-10 FPS-uri
diferenta.
In 3DMARK FireStrike diferenta a fost de ~2000 de puncte pe 1080p extreme, iar in 4K Ultra
punctajul a fost de aproximativ 1040 diferenta

Anuntarea noii tehnologii de interconectare a GPU-urilor Nvidia: NVLINK

PCI-Express-ul este standardizat, de aceea ofera un numar limitat de latime de banda si lane-
uri. NVLink este o tehnologie ce interconecteaza mai multe GPU-uri, cu pana la 12X mai multa
latime de banda. Exista algoritmi speciali folositi in servere numite FFT, alta decat procesarea
GPU normala, ce necesita tehnologia NVLink pentru a nu creea bottleneck la nivel de procesare
GPU.
Cum functioenaza?
NVLink-ul se foloseste de o tehnologie de lagatura a nodurile astfel incat informatia sa fie share-
uita pe fiecare nod la viteze egale.
*in SLI In cazurile in care se folosesc mai mult decat doua GPU-
uri, acesta lucreaza printr-un GPU master (GPU0), iar celalalte
(GPU1, GPU2 …. GPU N) isi impart sarcinile in mod egal, GPU0
avand rolul de a face el cheduling-ul de frame-uri si de a asigura
ca celalate GPU-uri lucreaza in mod egal si constant

Beneficii NVLink VS SLI

 Viteza mai mare


 Latenta mai mica
 Memorie GDDR si CUDA Cores indendente (SLI
foloseste alta ideologie in care specificatiile sunt
impartasite)
 Viteze constante pe fiecare nod NVLink
 Este bidirectional
 Niciun GPU nu este master, toate lucreaza in mod egal
(mesh networking)

Concluzii
Arhitectura Pascal cat si tehnologiile noi anuntate avea sa aduca un pas destul de important
privind schimbarea viziunii unui GPU. Arhitectura in sine a fost putin modificata fata de seria
precedenta (Formatul GPU die-ului este aproape identic cu seria Turing). In zilele de azi,
aproape orice utilizator ce doreste sa isi achizitioneze o placa video, ori ca e destinata gaming-
ului sau productiei, in cea mai mare parte devin cele mai vandute si “bagate in seama” placile
video de la Pascal incoace, pentru ca performanta este mult mai crescuta decat pe Maxwell (si
precedentele) si pentru ca s-a imbunatatit experienta de paralelism privind procesarea CUDA,
aducand performante mult mai crescute in productie. Pot spune personal ca atat Pascal cat si
Turing sunt generatiile mele preferate, din cauza schimbarilor masive aduse.
Surse: Techpowerup
Nvidia.com – (Pascal GP100 Architecture Whitepaper)

S-ar putea să vă placă și