GPGPU General Purpose Computation on GPU Emanuele Ruffaldi 2005 Corso su Elasticità non lineare ed Oggetti Deformabili.

Slides:



Advertisements
Presentazioni simili
CAPI04 - 8^ Workshop: Calcolo ad Alte Prestazioni in Italia, Milano 24-25/11/2004 CESI Problemi operativi di un modello fluidodinamico di atmosfera Paolo.
Advertisements

Lavoro di una forza A cura di Orsola Paciolla.
Definizione e tipi di implementazione
Linguaggi di programmazione
AZIONI DELLA SCIA VORTICOSA
Prova di completamento: selezione di domande
2 SCOPO DELLA TESI Realizzare un sistema capace di migliorare la riproduzione sonora affidata ai comuni altoparlanti MODALITA Realizzazione di un sistema.
FEM 2010, Roma 13 dicembre 2010 S. Ventre et all, Calcolo Elettromagnetico Intensivo per la soluzione di problemi basati su formulazione integrale Calcolo.
Realizzazione del file system
Realizzazione del file system
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
Politecnico di Milano Algoritmi e Architetture per la Protezione dellInformazione Multichannel Adaptive Information Systems Paolo Maistri Dipartimento.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
UNIVERSITA DEGLI STUDI DI PAVIA Corso di Laurea Interfacoltà in Comunicazione Interculturale e Multimediale Usabilità dei Siti Flash: problemi e strategie.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 prove.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 prove generali.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Metodi iterativi semplici G. Puppo. Riassunto Problema del fill-in Memorizzazione di matrici sparse Metodo di Jacobi.
Misura della costante elastica di una molla per via statica
Introduzione DSP. Trestino Cosmo Università degli studi di Padova Capitolo 1, Slide 2 Obiettivi della lezione Perché elaborare i segnali in digitale ?
Stima ed algoritmi di consensus distribuito: considerazioni su IKF
Dinamica di corpi deformabili basata sulle posizioni
Introduzione ai PLC.
ELEMENTI DI DINAMICA DELLE STRUTTURE
Dinamica del punto materiale
Dinamica del punto materiale
FLUSSI GEOSTROFICI E DINAMICA DELLA VORTICITA’
G. Braschi, S. Falappi, M. Gallati
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Università de L’AQUILA
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Architettura di un calcolatore
CINEMATICA DINAMICA ENERGIA. Cosa rappresenta la linea a ? a LO SPAZIO PERCORSO LA TRAIETTORIA LA POSIZIONE RAGGIUNTA ……………...
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
Stefano CERONI Sara TOIA
Università degli studi di Modena e Reggio Emilia
I.T.C. e per Geometri Enrico Mattei
Programmazione ad oggetti per la simulazione numerica di strutture su grande scala dellUniverso di Daniele Giunchi Relatore: Prof. Antonio Messina.
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
Architettura del calcolatore
Simulazione Anatomica di Muscoli Facciali per Volti Virtuali Generici
Onde piane nel vuoto.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
Daniele Marini, Maurizio Rossi
Daniele Marini Con contributi di Maurizio Rossi
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
Testi e dispense consigliati
Stima del flusso ottico per il controllo dei movimenti oculari
Antialiasing tratto da: Han-Wei Shen.
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Introduzione al corso Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Architettura di OGL e pipe-line Daniele Marini Davide Gadia Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
Tesi di specializzazione
Il supercalcolo fai-da-te
FISICA presentazione delle attività formative docente: Lorenzo Morresi
Graphic Processing Unit GPU. ARCHITETTURA DI COMUNICAZIONE.
Corso di Laurea in Ingegneria dell’Informazione
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Metodi numerici per lo studio di sistemi multicorpo
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Costruzione di interfacce Paolo Cignoni
Simulazione Interattiva di Capelli Marta De Cinti Anno accademico 2005/2006 Università di Roma “La Sapienza” Relatore Prof. Marco Schaerf Correlatore Ing.
GPU - Graphics Processing Unit Corso di Sistemi Paralleli Luigi La Torre Giugno 2012.
SEMINARI CAMO 2003 LA SIMULAZIONE NUMERICA COMPIE 50 ANNI
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Presentazione del corso 6 crediti, 48 h Mar – Ven 8.30 – Esercitazioni il venerdì 8.30 – Orario di ricevimento:
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

GPGPU General Purpose Computation on GPU Emanuele Ruffaldi 2005 Corso su Elasticità non lineare ed Oggetti Deformabili

Calcolo parallelo Il calcolo parallelo permette di accelerare la risoluzione di un problema attraverso il parallelismo Soluzioni possibili –Multiprocessore –Cluster –GPU –Cluster di GPU!!

Calcolo parallelo (2) La computazione parallela può essere portata sintetizzata in due concetti Stream –Un insieme di unità di informazione sulle quali vengono fatte delle operazioni Kernel –Un’operazione da effettuare sui flussi, altamente parallelizzabile

Perchè le GPU? Velocità di calcolo –Un 3GHz Pentium 4 ha 6GFLOPS teorici (55MT) –Una GeForceFX 5900 ha 20 GFLOPS reali (130MT) Sviluppo temporale –Le CPU hanno seguito la legge di Moore per molti anni (1.5x annuale, 60x nel decennio) –Lo sviluppo delle GPU è nettamente superiore per via degli interessi nel campo del gaming (investimenti nella ricerca) 2x annuale, 1000x nel decennio Altri aspetti –Parallelismo –Aritmetica specializzata: i transistor aggiunti ad una CPU vengono usati per la memoria cache (tranne nei recenti dualcore) mentre nelle GPU sono unità di calcolo [gpudb]gpudb

Problemi del GPGPU Nello sviluppo... –Le tecnologie sono state sviluppate nel mondo della grafica –Il modello di programmazione è altamente parallelo Nell’esecuzione... –Limitazioni nella memoria per le matrici –Precisione (32-bit)

Campi Applicativi In campo ludico –Simulazione di effetti ambientali: Fluidi, Nuvole –Dinamica di oggetti rigidi –Sistemi a particelle Il GPGPU può essere utilizzato anche in ambiti non ludici –Simulazione di Fluidi –Dinamica dei Corpi –TomografiaTomografia –Simulazione di corpi deformabili –Computer Vision [here]here Algoritmi possibili –FFT –Linear Algebra per PDE –Risoluzione sistemi Masse-Molle –FEMFEM

Programmazione La programmazione delle GPU parte dalla pipeline grafica Concetti chiave Primitive Vertici Texture Passaggi

Programmazione La flessibilità delle GPU sta in due elementi: –Vertex Program (VP) opera a livello di vertici delle primitive accedendo eventualmente alle texture –Fragment Program (FP) opera a livello di pixel accedento a più textures Le funzioni a disposizione dei due sono simili, ma il vantaggio dei fragment program sta nel loro numero –1VP/4 FP nei sistemi low-end e 6VP/16FP in quelli high end.

Programmazione – Dati Le matrici ed i vettori del nostro algoritmo vanno rappresentati sulle texture Ogni texture –Dimensione potenze di 2 fino a 2048 x 2048 –4 componenti RGBA Matrici Dense, Banded, Random Sparse N 2D-Textures... 1iN

Programmazione Operazioni Operatori lineari: prodotti MxV, MxM e VxV Risolutori di equazioni

Sistema Masse e Molle Un problema classico facilmente parallelizzabile –Ogni iterazione dipende dalla precendenti Aspetti per la trasposizione in GPU –Topologia: volumetrica, griglia planare, tetraedro –Mappatura delle informazioni in gioco: lunghezza di riposo, massa, posizioni, forze esterne, volume –Rappresentazione della topologia: si utilizza la texture per fare il lookup dei nodi vicini Riferimenti: MOSEEGARD GEORGIIMOSEEGARDGEORGII

Sistema Masse Molle Informazioni per ciascun vertice: –Posizione, Massa e Forze esterne Informazioni per ciascuna relazione vicinanza –Posizione di riposo

Algoritmo Integrazione Verlet (senza velocità) Implementazione [THMG04]

Strumenti Soluzione a basso livello: sviluppo attraverso gli strumenti grafici per il 3D –OpenGL ed linguaggio di shading GLSL/Cg –DirectX ed il linguaggio di shading Cg OpenGL Mathematics (GLM)GLM –Orientata alla computazione generica su GPU Brook for GPUBrook for GPU –Un linguaggio per il calcolo parallelo che utilizza la GPU

Riferimenti Corso SIGGRAPH 2004 [here]here Libro GPUGems2 [here]here Sito Simulazione su GPU [here]here Corso UPenn [here]here