La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Architettura.

Presentazioni simili


Presentazione sul tema: "Corso di Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Architettura."— Transcript della presentazione:

1 Corso di Informatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Architettura delle GPU e Pipeline di Rendering Prof. Roberto Pirrone 22 marzo 2011

2 Corso di Informatica Grafica a.a DICGIM – University of Palermo Sommario Pipeline di rendering Cenni storici sui controllori grafici Implementazione della pipeline di rendering Pipeline logica programmabile Pipeline mappata sul processore Architetture dei sistemi GPU Cenni alla programmazione delle GPU 22 marzo 2011

3 Corso di Informatica Grafica a.a DICGIM – University of Palermo Pipeline di rendering 22 marzo 2011

4 Corso di Informatica Grafica a.a DICGIM – University of Palermo Cenni storici sui controllori grafici Video and Graphics Array controller - VGA (<1990) Controllore di una memoria DRAM chiamata framebuffer e generatore di segnali (RAMDAC) collegato direttamente al video Basato sul principio della grafica vettoriale Implementa laritmetica intera indicizzata 1990 – 1997 circa Si aggiungono funzioni al controllore VGA Gestione triangoli Rasterizzazione triangoli Shading 22 marzo 2011

5 Corso di Informatica Grafica a.a DICGIM – University of Palermo Cenni storici sui controllori grafici 22 marzo 2011

6 Corso di Informatica Grafica a.a DICGIM – University of Palermo Cenni storici sui controllori grafici Anni 2000 Chip integrato che incorpora praticamente tutti gli elementi di una pipeline di rendering Nasce la Graphics Processing Unit (GPU) > 2005 GPU con implementazione dellaritmetica in virgola fissa e mobile GPU programmabili API di alto livello (OpenGL, Direct3D) shaders delle geometrie, dei vertici e dei pixel 22 marzo 2011

7 Corso di Informatica Grafica a.a DICGIM – University of Palermo Cenni storici sui controllori grafici 22 marzo 2011 Variante: Architettura UMA (Unified Memory Architecture) CPU e GPU condividono la stessa DDR2 RAM

8 Corso di Informatica Grafica a.a DICGIM – University of Palermo Architettura GPU Unificata di base Adesso (>2008 circa) Da luogo a differenti implementazioni tutte compatibili verso lalto I processori sono massicciamente paralleli e multithread Streaming Processors (SP) a flusso continuo Gli SP sono organizzati in Streaming Multiprocessors (SM) La memoria è condivisa due livelli –Dentro lo SM tra gli SP –Tramite rete di interconnessione tra gli SM Soluzione scalabile 22 marzo 2011

9 Corso di Informatica Grafica a.a DICGIM – University of Palermo Pipeline mappata su schiera di processori 22 marzo 2011 Adesso (>2008 circa) Lesecuzione degli shaders viene mappata sulla schiera di processori unificati

10 Corso di Informatica Grafica a.a DICGIM – University of Palermo Architettura di una GPU unificata 22 marzo 2011 NVIDIA GeForce 8800 Arch. TESLA 112 SP 14 SM 1 SP 96 thread DRAM 64 bit

11 Corso di Informatica Grafica a.a DICGIM – University of Palermo Programmazione Grafica Tre livelli API grafiche OpenGL Direct3D Linguaggi di shading GLSL HLSL Cg API di programmazione diretta dei core SP CUDA OpenCL 22 marzo 2011

12 Corso di Informatica Grafica a.a DICGIM – University of Palermo API grafiche Sono API di alto livello che definiscono logicamente la pipeline di rendering Lapplicazione si sviluppa definendo i vari stadi con primitive di alto livello I dettagli sono nascosti allo sviluppatore e gestiti dalle API 22 marzo 2011

13 Corso di Informatica Grafica a.a DICGIM – University of Palermo Linguaggi di shading Gestiscono i tre tipi di shader Shader dei vertici Mappano la posizione dei vertici dei triangoli nello schermo, modificando posizione, colore e orientamento Shader delle geometrie Lavorano sulla base di primitive geometriche (ad es. interi triangoli) definite come insiemi di vertici; le modificano ovvero ne aggiungono di nuove Shader dei pixel (o dei frammenti) Dipingono il pixel sullo schermo e gestiscono gli artefatti visivi 22 marzo 2011

14 Corso di Informatica Grafica a.a DICGIM – University of Palermo Linguaggi di shading Gli shader sono programmati a a flusso continuo cioè su sequenze ininterrotte di dati; lI/O è implicito Le strutture di dati su cui operano consentono un elevato parallelismo e quindi possono essere lanciati più thread dello stesso shader Hanno primitive per operazioni trigonometriche e su matrice, interpolazione, filtraggio … 22 marzo 2011

15 Corso di Informatica Grafica a.a DICGIM – University of Palermo Linguaggi di shading 22 marzo 2011 Shader Cg per environment mapping

16 Corso di Informatica Grafica a.a DICGIM – University of Palermo Programmazione dei core SP Sono API per programmazione general purpose su GPU GPGPU: General Purpose computing on GPU Il problema viene parallelizzato mappandolo sullarchitettura Il programmatore CUDA scrive una procedura detta kernel che istanzia tante esecuzioni di thread paralleli 22 marzo 2011

17 Corso di Informatica Grafica a.a DICGIM – University of Palermo Programmazione CUDA I thread sono organizzati gerarchicamente in blocchi 1D, 2D o 3D i quali sono organizzati in griglie 1D, 2D o 3D Il mapping dipende dai core SP disponibili ed è scelto dal programmatore 22 marzo 2011

18 Corso di Informatica Grafica a.a DICGIM – University of Palermo Programmazione CUDA 22 marzo 2011 Calcola n valori in parallelo con n thread organizzati in blocchi da 256 thread ciascuno


Scaricare ppt "Corso di Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Architettura."

Presentazioni simili


Annunci Google