Vinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.x

HIGH PERFORMANCE AND QUANTUM COMPUTING

SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05

 

LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA

ANNO ACCADEMICO: 2022-2023

 

INFORMAZIONI GENERALI - DOCENTE

DOCENTE: ALESSANDRO CILARDO
TELEFONO: +39 081 7683852
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

 

INFORMAZIONI GENERALI - ATTIVITÀ

INSEGNAMENTO INTEGRATO (EVENTUALE): 
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): II
SEMESTRE (I, II): I
CFU: 6

 

INSEGNAMENTI PROPEDEUTICI

(se previsti dall'Ordinamento del CdS)

...................................................................................................................................................

 

EVENTUALI PREREQUISITI

...................................................................................................................................................

 

OBIETTIVI FORMATIVI

L'insegnamento si propone di fornire agli studenti le nozioni specialistiche relative alle architetture degli odierni calcolatori impiegati per il calcolo ad alte prestazioni, approfondendo concetti legati alla struttura interna dei processori superscalari, per poi estendere la trattazione ai calcolatori multi- e many-core. A riguardo, l’insegnamento copre anche le architetture di calcolo eterogenee, in particolare basate su GPU, ed i relativi modelli di programmazione. La trattazione delle architetture di calcolo avanzate è poi estesa alle emergenti tecnologie di Quantum Computing, introducendo gli studenti a tematiche di progetto e gestione di sistema ed aspetti di programmazione.

 

RISULTATI DI APPRENDIMENTO ATTESI

(Descrittori di Dublino)

Conoscenza e capacità di comprensione
Il percorso formativo, basato su lezioni teoriche ed esercitative, punta a dotare lo studente delle conoscenze relative alle architetture degli odierni calcolatori impiegati per il calcolo ad alte prestazioni (high performance computing, HPC), con riferimento alle diverse forme di parallelismo offerte alle applicazioni. L’insegnamento pertanto approfondisce la comprensione della struttura interna dei processori superscalari, per poi estendere la trattazione ai calcolatori multi- e many-core. La prima parte del programma è anche rivolta alla presentazione delle architetture di calcolo eterogenee, in particolare basate su GPU, un paradigma assestato per lo sviluppo di applicazioni parallele ad alte prestazioni. La seconda parte del corso è invece volta ad approfondire le opportunità offerte dalle emergenti tecnologie di Quantum Computing (QC) nella prospettiva del calcolo ad alte prestazioni, affrontando tematiche di progetto e gestione di sistema ed aspetti di programmazione.

Capacità di applicare conoscenza e comprensione
Il percorso formativo è orientato a trasmettere le capacità e gli strumenti metodologici/operativi necessari ad applicare le conoscenze in termini di sviluppo di applicazioni parallele, programmazione per architetture di calcolo avanzate ed emergenti, analisi di aspetti prestazionali. Nello specifico, la parte esercitativa del corso è dedicata alla presentazione di modelli di programmazione per GPU, in particolare CUDA ed OpenCL. Inoltre, essa fornisce spunti relativi alle emergenti tecnologie di Quantum Computing, focalizzandosi su piattaforme sperimentali di QC attualmente rese disponibili da realtà industriali internazionali. In tal senso, il corso prevede la presentazione di casi di studio reali, in parte sviluppati in forma interattiva con gli studenti, con riferimento sia alle architetture parallele convenzionali sia agli emergenti scenari del QC.

 

PROGRAMMA-SYLLABUS

l corso è organizzato in due tipologie di contenuti, una teorica ed una applicativa.

Parte teorica
• Architetture superscalari, esecuzione out-of-order, hardware multi-threading, etc.
• Organizzazione della memoria in sistemi paralleli: problematiche di coerenza e consistenza
• Interconnessioni a livello sistema e network on-chip
• Estensioni vettoriali: concetti generali e casi di studio relativi a processori reali
• Graphics Processing Unit: aspetti architetturali e casi di studio reali
• Modelli di programmazione per GPU: approfondimenti su concetti ed aspetti avanzati di programmazione
• Quantum Computing: aspetti tecnologici e modelli computazionali

Parte applicativa
Per il laboratorio, gli studenti svilupperanno individualmente un elaborato che prevedrà l’approfondimento verticale di aspetti tecnologici su architetture di calcolo avanzate o emergenti (QC), o alternativamente lo sviluppo ottimizzato e la presentazione di un programma su un’architettura GPU o un’estensione vettoriale.

 

MATERIALE DIDATTICO

• J. Hennessy, D. A. Patterson, Computer Architecture: A Quantitative Approach, 6th Edition, Morgan Kaufmann, 2019
• R.S. Sutor, Dancing with Qubits: How quantum computing works and how it can change the world, Packt Publishing, 2019
• NVIDIA, CUDA C Programming Guide, v. 11.1.0, online, NVIDIA 2020
• V. Silva, Practical Quantum Computing for Developers, Apress, 2018
• D. Kaeli, P. Mistry, Heterogeneous Computing with OpenCL 2.0, Morgan Kaufmann, 3rd edition, 2015
• D. J. Sorin, M. D. Hill, and D. A. Wood, A Primer on Memory Consistency and Cache Coherence, Morgan Claypool 2011
• N. E. Jerger, T. Krishna, and L.-S. Peh, On-Chip Networks, Morgan Claypool, 2nd edition, 2017
• Manuali e dispense fornite durante il corso.

 

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO

Il docente utilizzerà:

a) lezioni frontali per circa il 65% delle ore totali,

b) esercitazioni per approfondire praticamente aspetti teorici per 8 ore,

c) laboratorio per approfondire le conoscenze applicate per 6 ore, d) seminari per approfondire tematiche specifiche per 2 ore.

 

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE

a) Modalità di esame:

L'esame si articola in prova:
 Scritta e orale  
 Solo scritta o intercorso a metà  
 Solo orale  
 Discussione di elaborato progettuale 
 Altro  

 

In caso di prova scritta i quesiti sono (*):
 A risposta multipla  
 A risposta libera  
 Esercizi numerici  

 

b) Modalità di valutazione:
Non applicabile (una sola tipologia di prova prevista)

 

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.