Schede Grafiche

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

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