1. GPU - Graphics Processing Unit
Corso di Sistemi Paralleli
13 Giugno 2012 Luigi La Torre - 744581
2. Outline
Introduzione
Evoluzione nel tempo
Hardware GPU
Fermi
Kepler
Conclusioni
3. Introduzione - 1
Progettata per scaricare e accelerare il
rendering 2D/3D dalla CPU
Architettura core SIMD
Core operano a frequenze basse
Centinaia di core
Unit programmabile
I principali vendor
NVDIA
AMD
6. Evoluzione nel tempo - 1
1980:
Chip TTL
IBM: Intel 8088
Silicon Graphics Inc. (SGI)
1990:
0 Generazione II Generazione
RealityEngine (SGI)
Voodoo (3dfx)
GeForce256 (NVIDIA), Radeon 7500 (ATI): nasce il
termine GPU (1999). Fixed Function pipeline
7. Evoluzione nel tempo - 2
2000:
III Generazione VII Generazione
GeForce 3 - Pipeline semi programmabili: Shaders
GeForce FX, Radeon 9700 - Pipeline programmabili
completamente
GeForce 8 - Processore altamente parallelo.
Streaming Multiprocessor
Architettura Fermi (NVIDIA): Prima GPU progettata
per GPGPU
2010 e oltre:
Architettura
Kepler
APU (Accelerated Processig Unit): CPU + GPU
8. Hardware GPU
N multiprocessori con
M core ciascuno
SIMD - Ogni core
condivide un Istruction
Unit con altri core in
un multiprocessore
9. Hardware GPU - Memorie (Modello Cuda) - 1
Global Memory
Memoria pi湛 grande. Fino a
4 GB
Alto bandwidth (GB/s)
Latenza molta alta
Local Memory
Poco spazio di memoria
Accessibile solo da un
streaming processor
Lenta come Global Memory
Shared Memory
16 KB condivisi da un
multiprocessor
Memoria veloce
Pu嘆 essere considerata
come una cache L1
10. Hardware GPU - Memorie (Modello Cuda) - 2
Constant Memory
64 KB solo lettura per
tutti i blocchi
Abbastanza lenta
Latenza piuttosto alta,
se dati non in cache
Texture Memory
Solo lettura per ogni
blocco
Lenta come Global
Memory
Utilizzata per
linterpolazione lineare
delle immagini
11. Architettura Fermi - 1
512 CUDA core
4 GPC (Graphic
Processing
Cluster)
16 SM
768 KB L2
Cache
4 Raster Engine
1581 GFLOPs
244 W
12. Architettura Fermi - 2
32 CUDA core
Operazioni di Shading e
geometria, oltre ai calcoli
puramente computazionali e
fisici
16 KB L1 Cache
4 SFU (Special Function
Units)
Gestiscono le istruzioni di
interpolazione
2 Warp Scheduler
PolyMorph Engine
Gestisce loutput, tessellation
16. Fermi vs Kepler
Fermi Kepler
# Transistor 3 miliardi 3,54 miliardi
CUDA core 512 1536
Core clock 772 Mhz 1006 Mhz
GFLOPs 1581 3090
TDP 244 W 195 W
Miglioramento Performance/Watt
17. Conclusioni
GPU 竪 passato da specifici single core,
pipeline Fixed Function esclusivamente per
la grafica a un set di core paralleli e altamente
programmabili
Core GPU in continuo aumento
18. References
GPU History Paper
Hardware GPU
Architettura Fermi
Architettura Kepler