Salta al contenuto principale
CODICE 90535
ANNO ACCADEMICO 2026/2027
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre

PRESENTAZIONE

La programmazione parallela ha rappresentato per lungo tempo una tematica di interesse quasi esclusivamente per università, centri di ricerca e poche realtà aziendali di grandi dimensioni. Oggi invece rappresenta un requisito per la maggior parte delle applicazioni.

Fino al 2006 ogni nuova generazione di CPU forniva prestazioni migliori agendo su aspetti legati a velocità di clock, ottimizzazione dell'esecuzione e dimensioni della cache. Ma ora il miglioramento è dovuto principalmente al hyperthreading, multicore, oltre alla dimensioni della cache. Queste CPU non hanno quasi alcun impatto positivo sulla maggior parte del software attuale perché questo è stato progettato in modo sequenziale.

 Questo insegnamento introduce l'architettura dei sistemi di elaborazione parallela con i paradigmi di programmazione (openMP, MPI e CUDA) essenziali per sfruttarli.

Poiché l'insegnamento viene tenuto in lingua inglese, si invita a visionare la scheda in inglese per ulteriori informazioni.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

L’insegnamento si propone di fornire una comprensione dei principali aspetti dei moderni sistemi eterogenei per il calcolo ad alte prestazioni (processori basati su pipeline e superscalari, sistemi multiprocessori a memoria condivisa o a scambio di messaggi, processori vettoriali e GPU), nonché delle tecniche di base per la programmazione ad alte prestazioni (ottimizzazione della cache, vettorizzazione, utilizzo di OpenMP, MPI e CUDA).

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

L'insegnamento è erogato integralmente in lingua Inglese. Per tutte le informazioni relative, si veda la corrispondente sezione in lingua Inglese.

PREREQUISITI

Buona conoscenza del linguaggio C/C++ o Fortran.

MODALITA' DIDATTICHE

Lezioni frontali (22) ed attività di laboratorio (6).

 

Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA), per disabilità o altri bisogni educativi sono invitati a contattare il docente e il referente di Scuola per la disabilità all’inizio dell’insegnamento per concordare eventuali modalità didattiche che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali. 

I contatti del referente di Scuola per la disabilità sono disponibili al seguente link https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita. 

 

PROGRAMMA/CONTENUTO

L'insegnamento è erogato integralmente in lingua Inglese. Per tutte le informazioni relative, si veda la corrispondente sezione in lingua Inglese.

TESTI/BIBLIOGRAFIA

Slide, tutorial ed esempi di codice saranno forniti durante le lezioni.

DOCENTI E COMMISSIONI

LEZIONI

INIZIO LEZIONI

https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&_lang=it&include=corso

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

L’esame consiste in una prova scritta sui principali argomenti teorici trattati durante il corso, seguita dalla discussione di un progetto svolto individualmente o in un piccolo gruppo (2-3 studenti).

Per 6 crediti, il progetto consiste nella parallelizzazione di un algoritmo sequenziale utilizzando OpenMP e CUDA.

Per 9 crediti, il progetto consiste nella parallelizzazione di un algoritmo sequenziale utilizzando OpenMP, MPI + OpenMP e CUDA.

Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/10852/studenti-disabilita-dsa

 

MODALITA' DI ACCERTAMENTO

L’esame scritto verterà sulla comprensione efficace dei concetti teorici presentati nella prima parte del corso. Sarà composto da un quiz con domande aperte e chiuse e rappresenta il 40% del voto finale.

Il progetto sarà valutato non solo in base alle prestazioni ottenute dal codice parallelo, ma anche sulla qualità dell’analisi del codice, delle strategie di parallelizzazione adottate e della presentazione e discussione dei risultati.

Ciò significa, ad esempio, che i concetti di parallelismo siano correttamente applicati, i risultati presentati in modo adeguato e significativo, e che siano stati identificati e discussi correttamente eventuali overhead e problematiche. Il progetto rappresenta il 60% del voto finale.

ALTRE INFORMAZIONI

Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente.

Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA) possono richiedere adattamenti in sede d'esame, con almeno 7 giorni di anticipo rispetto alla data dell’esame, compilando il "modulo richieste adattamenti" (dai servizi online https://modulionline.unige.it/richiesta-adattamenti#no-back) che verrà inviato in automatico dal sistema al/alla docente responsabile dell’insegnamento e al/alla docente referente per gli studenti con disabilità e con DSA della propria Scuola/Area. 

Lo studente riceverà una copia della sua richiesta.