Architettura delle GPU e

Slides:



Advertisements
Presentazioni simili
CUDA & OpenMP parallel programming.
Advertisements

WSDL (Web Services Description Language) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
E.Mumolo, DEEI Player Stage E.Mumolo, DEEI
Sequential Statements. – Il VHDL simula lo svolgersi in parallelo di varie operazioni – Loggetto fondamentale e il PROCESS – Un PROCESS contiene una serie.
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
GPU: processori manycore
Model – View - Controller
1s < 2s < 3s < 4s < 5s < 6s < 7s A(g) + IP = A + (g) + e -
Environment Mapping Tamiazzo Claudio EGD07. Cosè Tecnica utilizzata in grafica digitale allo scopo di realizzare oggetti riflettenti senza ricorrere agli.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Citrix Metaframe. Metaframe è la soluzione client-server prodotta dalla Citrix in grado di rendere disponibili applicazioni e desktop a qualsiasi dispositivo.
1 Implementazione di Linguaggi 2 PARTE 6 Implementazione di Linguaggi 2 PARTE 6 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman.
© CEFRIEL Cenni su XML in Java Docente: Gabriele Lombardi
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Array Ricerca Ordinamento Fusione Nicola Fanizzi Laboratorio - Corso di Programmazione (B) C.d.L. in Informatica DIB - Università degli Studi di Bari.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
ROLLIO PER UN VEICOLO INFINITAMENTE RIGIDO
1 Programmazione grafica 1 Daniele Marini. 2 Linguaggio di riferimento OpenGL: libreria di procedure che realizza un API (application programmers interface)
SOURCE TERM ON NPP SAFETY ANALYSES Marino Mazzini Professore Ordinario nel s.s.d. Impianti Nucleari Università di Pisa Facoltà di Ingegneria Dipartimento.
14 giugno 2011 Rasterizzazione Prof. Roberto Pirrone.
MIC 2008, Roma Antonio Pistoia Università Politecnica delle Marche MOODLELab Uno strumento per MOODLE per la gestione dei telelaboratori durante i corsi.
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena Corso di Laurea Specialistica in Ingegneria Informatica Analisi e valutazione.
Un esempio: Registrazione e lettura di dati in un file
Definizione Dispositivo adatto a svolgere funzioni diverse modificando solo parzialmente la parte circuitale ma variando di vota in volta il programma.
Il sistema operativo Sistema operativo (in breve) –È costituito dai programmi di gestione delle operazioni più elementari del computer –… gestione di vari.
1 Università degli Studi di Messina Facoltà di Ingegneria Visilab – Computer Vision and Image Processing Lab Nanodesktop Software development kit per sistemi.
Lambiente operativo. 2 Per avviare e poter utilizzare il computer è necessario un particolare programma che si chiama sistema operativo. Windows è un.
Corso di Elementi di Informatica
OVVERO Una delle 3 articolazioni del dipartimento di Elettronica ed Elettrotecnica : Elettronica Elettrotecnica Automazione.
DISPOSITIVI ASIC Application Specific Integrated Circuit De Faveri Martina Classe 3 BET.
Corso di Informatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Introduzione.
Creare grafici con un foglio di calcolo Copyright© owned by Ubaldo Pernigo, please contact: Tutti i contenuti, ove non diversamente.
Cosa vuol dire «Embedded»? Valter
Tableau de bord Cruscotto di direzione
Scheda Video Ricerca Hardware sulla Scheda Video INF4
El Kaouam Reda Clemente Vincenzo
Sviluppo di una Xlet per la TV digitale terrestre Vademecum della regione marche 2006 Ventura Luca.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
SALA AUDIO-VIDEO. La Fondazione Christian Cappelluti Onlus ha realizzato allinterno della Biblioteca Multimediale Chris Cappell una sala per la visione.
Le porte di comunicazione
TAQ Identità oggetto Contenuto Modalità di uso Nome oggetto: numero
Architettura dei sistemi di elaborazione
Corso Alfabetizzazione Informatica I sistemi ANFN Isacco Sistema informativo per la gestione distribuita della banca dati degli associati.
Il controllo della tecnologia come strumento abilitante per i servizi innovativi.
Innovazioni versione 4 Bari, 17 ottobre Innovazioni versione 4 Il menù dinamico secondo logica operativa Il ruolo dei Ruoli Facilitare la scelta.
Indagine sulla percezione del rischio degli eventi idrogeologici Indagine per CNR PERUGIA S c – Marzo 2013.
AgentGroup MEnSA Project - Future work Agent and Pervasive Computing Group Dipartimento di Ingegneria dellInformazione Università degli Studi di Modena.
Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web: modelli per la qualità dei siti (Ingegneria del Web)
INTERNET Antonio Papa Classe 2^ beat I.S.I.S. G. Meroni a.s. 2007/2008.
La nascita di internet Luigi Di Chiara Arci Solidarietà Napoli.
Giochi educativi on line e off line Come programmarne limpiego in classe.
PROGETTO DI STRUMENTI PER LA CONFIGURAZIONE DI APPLICAZIONI JAVA ENTERPRISE Anno Accademico 2006 / 2007 Sessione III FACOLTÀ DI INGEGNERIA CORSO DI LAUREA.
Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A.
INDAGINE STATISTICA DIPLOMATI 2009/2010 Istituto Professionale di Stato per lIndustria e lArtigianato Giancarlo Vallauri.
Appunti di Informatica
Introduzione alla computer graphics
Un Architettura Risc - Pipeline Il Processore Deluxe - DLX
IV Congresso Nazionale SISMES
Corso di Web Services A A Domenico Rosaci Patterns di E-Business D. RosaciPatterns per l'e-Business.
Introduzione al linguaggio C. Cos’e’ il C? Il C e’ un linguaggio ad alto livello Un compilatore C prende in input un file contenente codice sorgente C.
Display list e scene graph Daniele Marini Dipartimento di Informatica e Comunicazione.
Analysis and Development of Functions in REST Logic: Application to the «DataView» Web App UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA DIPARTIMENTO.
Collection & Generics in Java
Video Streaming dal player standard Android verso device non convenzionali GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci.
Graphic Processing Unit GPU. ARCHITETTURA DI COMUNICAZIONE.
GPGPU General Purpose Computation on GPU Emanuele Ruffaldi 2005 Corso su Elasticità non lineare ed Oggetti Deformabili.
GPU - Graphics Processing Unit Corso di Sistemi Paralleli Luigi La Torre Giugno 2012.
Breve Storia 3d prima generazione (escludiamo Wolf3d, Doom e Duke3d, che erano una sorta di 2D)  per ogni triangolo che compone una mesh calcoliamo la.
Transcript della presentazione:

Architettura delle GPU e 22 marzo 2011 Architettura delle GPU e Pipeline di Rendering Prof. Roberto Pirrone

Sommario Pipeline di rendering Cenni storici sui controllori grafici 22 marzo 2011 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

Pipeline di rendering 22 marzo 2011

Cenni storici sui controllori grafici 22 marzo 2011 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 l’aritmetica intera indicizzata 1990 – 1997 circa Si aggiungono funzioni al controllore VGA Gestione triangoli Rasterizzazione triangoli Shading

Cenni storici sui controllori grafici 22 marzo 2011

Cenni storici sui controllori grafici 22 marzo 2011 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 dell’aritmetica in virgola fissa e mobile GPU programmabili API di alto livello (OpenGL, Direct3D) shaders delle geometrie, dei vertici e dei pixel

Cenni storici sui controllori grafici 22 marzo 2011 Variante: Architettura UMA (Unified Memory Architecture) CPU e GPU condividono la stessa DDR2 RAM

Architettura GPU Unificata di base 22 marzo 2011 Adesso (>2008 circa) Da luogo a differenti implementazioni tutte compatibili “verso l’alto” 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

Pipeline mappata su schiera di processori 22 marzo 2011 Adesso (>2008 circa) L’esecuzione degli shaders viene mappata sulla “schiera di processori unificati”

Architettura di una GPU unificata 22 marzo 2011 Arch. TESLA 112 SP 14 SM 1 SP  96 thread DRAM 64 bit NVIDIA GeForce 8800

Programmazione Grafica 22 marzo 2011 Tre livelli API grafiche OpenGL Direct3D Linguaggi di shading GLSL HLSL Cg API di programmazione diretta dei core SP CUDA OpenCL

API grafiche 22 marzo 2011 Sono API di alto livello che definiscono logicamente la pipeline di rendering L’applicazione si sviluppa definendo i vari stadi con primitive di alto livello I dettagli sono nascosti allo sviluppatore e gestiti dalle API

Linguaggi di shading Gestiscono i tre tipi di shader 22 marzo 2011 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

Linguaggi di shading 22 marzo 2011 Gli shader sono programmati a “a flusso continuo” cioè su sequenze ininterrotte di dati; l’I/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 …

Shader Cg per environment mapping Linguaggi di shading 22 marzo 2011 Shader Cg per environment mapping

Programmazione dei core SP 22 marzo 2011 Sono API per programmazione general purpose su GPU GPGPU: General Purpose computing on GPU Il problema viene parallelizzato mappandolo sull’architettura Il programmatore CUDA scrive una procedura detta kernel che istanzia tante esecuzioni di thread paralleli

Programmazione CUDA 22 marzo 2011 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

Programmazione CUDA Calcola n valori in parallelo 22 marzo 2011 Calcola n valori in parallelo con n thread organizzati in blocchi da 256 thread ciascuno