Gpu computing

A.A. 2021/2022
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Italiano
Learning objectives
L'obiettivo di questo insegnamento è l'apprendimento delle principali tecniche di programmazione parallela e disegno di algoritmi paralleli per lo sviluppo di applicazioni su architetture many-core, come le GPU (Graphics Processing Units), progettate per il calcolo parallelo ad elevate prestazioni.
Expected learning outcomes
Ci si attende che lo studente maturi una decisa attitudine alla progettazione orientata a sistemi ibridi CPU-GPU, al fine di:
- affrontare il processo di disegno logico volto ad individuare sotto-task effettivamente parallelizzabili
- analizzare in modo critico l'uso di risorse hw richieste dai diversi livelli di concorrenza
- consolidare il fondamentale processo di valutazione e ottimizzazione delle prestazioni
Corso singolo

Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.

Course syllabus and organization

Edizione unica

Responsabile
Periodo
Secondo semestre

Programma
- Introduzione ai sistemi di calcolo eterogenei basati su CPU e GPU
- Il concetto di GPGPU (General Purpose GPU) programming
- Architetture di calcolo parallelo
- Il modello di programmazione CUDA
- Il modello di esecuzione CUDA
- Il modello di memoria CUDA
- Stream, concorrenza e ottimizzazione delle prestazioni
- Librerie di CUDA SDK accelerate da GPU
- Programmazione e computazione multi-GPU
- Pattern di parallelismo negli algoritmi
- Sviluppo e implementazione di applicazioni su GPU NVIDIA
Prerequisiti
Sono requisiti essenziali le basi di teoria e pratica della programmazione e una buona conoscenza del linguaggio ANSI C standard
Metodi didattici
Il corso è strutturato in lezioni frontali ed esercitazioni di laboratorio basate sul linguaggio di programmazione CUDA C.
Materiale di riferimento
I lucidi delle lezioni, i testi di riferimento e i documenti tecnici sono reperibili sulla pagina web del corso http://gpu.di.unimi.it/
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste di due parti:
- Prova scritta: domande aperte sugli argomenti trattati a lezione (fino a un massimo 24 punti)
- Progetto: sviluppo di un progetto basato sul linguaggio CUDA C (fino a un massimo 10 punti)
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Docente: Grossi Giuliano
Professor(s)
Ricevimento:
Su appuntamento (da prendere per email)
Stanza 4016, 4° piano di via Celoria 18