Tom's Hardware Italia
Schede Grafiche

Tesla P100: Pascal GP100 con 3840 CUDA core e 16 GB di HBM2

Nvidia ha svelato le caratteristiche della GPU GP100, basata su architettura Pascal. L'azienda ne ha annunciato l'arrivo nella scheda acceleratrice Tesla P100.

Nel corso della GPU Technology Conference 2016 Nvidia ha annunciato Tesla P100, la prima scheda acceleratrice basata su GPU GP100 Pascal. Questa soluzione punta a offrire altissime prestazioni per il settore dei supercomputer (HPC) e ambiti come il deep learning.

tesla p100

Ci troviamo davanti a un chip da 610 mm2 con 15,3 miliardi di transistor, realizzato con processo a 16 nanometri FinFET. La GPU è accompagnata da 16 GB di memoria High Bandwidth Memory 2 (HBM2) con supporto error correcting code (ECC) e un bandwidth di picco di 720 GB/s.

"Come le precedenti GPU, GP100 è composto da un insieme di Graphics Processing Cluster (GPC), Streaming Multiprocessor (SM) e controller di memoria. GP100 raggiunge il suo throughput fornendo sei GPC, fino a 60 SMs e otto controller di memoria a 512 bit (4096 bit in totale). La capacità di calcolo dell'architettura Pascal è più di semplice forza bruta: aumenta le prestazioni non solo con l'aggiunta di più SM rispetto alle GPU precedenti, ma rendendo ogni SM più efficiente. Ogni SM ha 64 CUDA core e quattro unità texture per un totale di 3840 CUDA core e 240 unità texture", fa sapere Nvidia (il che lascia intendere che GP100, con 3584 CUDA core e 224 unità texture, sia castrato, ndr).

tesla p100 01

Lo streaming multiprocessor in GP100 integra 64 CUDA core FP32, laddove un SM in Maxwell e Kepler ne aveva 128 e 192 FP32. Il nuovo SM è partizionato in due blocchi di calcolo ognuno con 32 CUDA core a singola precisione, un buffer instruction, uno scheduler warp e due unità dispatch. Così, mentre l'SM di GP100 ha metà del numero di CUDA core rispetto a un SM di Maxwell, mantiene la stessa dimensione dei file di registro e supporta una simile occupazione di warp e blocchi thread.

Tesla Tesla K40 Tesla M40 Tesla P100
GPU GK110 (Kepler) GM200 (Maxwell) GP100 (Pascal)
SM 15 24 56
TPC 15 24 28
FP32 CUDA Cores / SM 192 128 64
FP32 CUDA Core / GPU 2880 3072 3584
FP64 CUDA Core / SM 64 4 32
FP64 CUDA Core / GPU 960 96 1792
Freq. GPU Base 745 MHz 948 MHz 1328 MHz
Freq. GPU Boost 810/875 MHz  1114 MHz 1480 MHz
FP64 GFLOPs 1680 213 5304
Unità texture 240 192 224
Bus 384-bit GDDR5 384-bit GDDR5 4096-bit HBM2
Capacità memoria Fino a 12 GB Fino a 24 GB 16 GB
Dimensione cache L2 1536 KB 3072 KB 4096 KB
Dimensione file registro / SM 256 KB 256 KB 256 KB
Dimensione file registro / GPU 3840 KB 6144 KB 14336 KB
TDP 235 watt 250 watt 300 watt
Transistor 7,1 miliardi 8 miliardi 15,3 miliardi
Die GPu 551 mm² 601 mm² 610 mm²
Processo produttivo 28 nm 28 nm 16 nm

L'SM di GP100 ha lo stesso numero di registri di GM200 e GK100, ma l'intero core grafico ha molti più SM e così più registri complessivamente. Questo significa che i thread nella GPU hanno accesso a più registri e GP100 supporta più thread, warp e blocchi thread rispetto alle GPU precedenti.

tesla p100 02

Complessivamente la memoria condivisa in GP100 è maggiore per via del numero di SM maggiore (4 MB di cache L2 e 14 MB di memoria condivisa solo per il file di registro) e il bandwidth di memoria condiviso totale è più che raddoppiato. Un rapporto più alto di memoria condivisa, registri e warp per SM in GP100 permette di eseguire codice in modo più efficiente. Ci sono più warp per l'instruction scheduler tra cui scegliere, più carichi da iniziare e più bandwidth per-thread per la memoria condivisa (per thread).

gp100 blocco diagramma
Clicca per ingrandire

Rispetto a Kepler l'SM di Pascal ha un'organizzazione datapath più semplice che richiede meno area del die e minore energia per gestire i trasferimenti dati all'interno dell'SM. Pascal fornisce anche uno scheduling migliore e istruzioni load/store per incrementare l'uso in virgola mobile. La nuova architettura dello scheduler SM in GP100 è più avanzata e intelligente di Maxwell, fornendo maggiori prestazioni e consumi inferiori. Ogni warp scheduler – uno per blocco di calcolo – è capace di evadere due istruzioni warp per ciclo di clock.

gp100 sm diagramma
Clicca per ingrandire

GP100 promette di offrire prestazioni molto elevate: 21,2 teraflops con calcoli "mixed precision" FP16, 10,6 teraflops con calcoli in virgola mobile a singola precisione FP32 e 5,3 Teraflops con calcoli a doppia precisione. Un'altra caratteristica che permette di avere alte prestazioni è l'interconnessione NVLink, che garantisce comunicazioni più rapide tra più GPU e tra la GPU e la memoria.

NVLink offre un bandwidth superiore rispetto al PCIe 3.0 ed è compatibile con GPU ISA per supportare carichi all'interno di memoria condivisa. Completano le caratteristiche il supporto alla memoria unificata per semplificare programmazione e porting di software alle GPU fornendo un singolo e unificato spazio d'indirizzamento virtuale per accedere a tutta la memoria di CPU e GPU nel sistema.

GPU Kepler GK110 Maxwell GM200 Pascal GP100
Capacità di calcolo 3.5 5.3 6.0
Thread / Warp 32 32 32
Max Warps / Multiprocessor 64 64 64
Max Threads / Multiprocessor 2048 2048 2048
Max Thread Blocks / Multiprocessor 16 32 32
Max 32-bit Registers / SM 65536 65536 65536
Max Registers / Block 65536 32768 65536
Max Registers / Thread 255 255 255
Max Thread Block Size 1024 1024 1024
CUDA Core / SM 192 128 64
Shared Memory Size / SM Configurations (bytes) 16K/32K/48K 96K 64K

La GPU P100 è attualmente in produzione di massa ma arriverà agli OEM solo nel primo trimestre 2017, quindi è prevedibile che la variante per schede video desktop non sia proprio dietro l'angolo.

Geforce GTX 950 Geforce GTX 950
ePRICE

Geforce GTX 970 Geforce GTX 970
ePRICE