際際滷

際際滷Share a Scribd company logo
GPU - Graphics Processing Unit
                                           Corso di Sistemi Paralleli




13 Giugno 2012   Luigi La Torre - 744581
Outline
   Introduzione
   Evoluzione nel tempo
   Hardware GPU
     Fermi

     Kepler

   Conclusioni
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
Introduzione - 2
   CPU vs GPU
Introduzione - 3
   Motivazioni
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
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
Hardware GPU
   N multiprocessori con
    M core ciascuno
   SIMD - Ogni core
    condivide un Istruction
    Unit con altri core in
    un multiprocessore
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
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
Architettura Fermi - 1
   512 CUDA core
   4 GPC (Graphic
    Processing
    Cluster)
   16 SM
   768 KB L2
    Cache
   4 Raster Engine
   1581 GFLOPs
   244 W
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
Tessellation - Esempio
Architettura Kepler
   1536 CUDA core
   4 GPC
   8 SMX
   512 KB L2 Cache
   4 Raster Engine
   3090 GFLOPs
   195 Watt
Architettura Kepler - SMX
   192 CUDA core
   64KB L1 Cache
   32 SFU
   PolyMorph Engine 2.0
   4 Warp Scheduler
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
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
References
   GPU History Paper
   Hardware GPU
   Architettura Fermi
   Architettura Kepler

More Related Content

Gpu

  • 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
  • 4. Introduzione - 2 CPU vs GPU
  • 5. Introduzione - 3 Motivazioni
  • 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
  • 14. Architettura Kepler 1536 CUDA core 4 GPC 8 SMX 512 KB L2 Cache 4 Raster Engine 3090 GFLOPs 195 Watt
  • 15. Architettura Kepler - SMX 192 CUDA core 64KB L1 Cache 32 SFU PolyMorph Engine 2.0 4 Warp Scheduler
  • 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