CODICE 90535 ANNO ACCADEMICO 2025/2026 CFU 6 cfu anno 2 COMPUTER ENGINEERING 11160 (LM-32) - GENOVA 9 cfu anno 2 COMPUTER SCIENCE 10852 (LM-18) - GENOVA 6 cfu anno 2 COMPUTER SCIENCE 10852 (LM-18) - GENOVA 6 cfu anno 1 COMPUTER ENGINEERING 11965 (LM-32) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB 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 Learning the main aspects of modern, heterogeneous high-performance computing systems (e.g. pipeline/superscalar processors, accelerators as GPUs, shared-memory systems, clusters, supercomputers) and basic programming skills for high-performance computing, i.e. the proper use of the cache and vectorization, OpenMP, MPI, and 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). 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 DANIELE D'AGOSTINO Ricevimento: Su appuntamento, in presenza o via Teams LEZIONI INIZIO LEZIONI In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/10852/studenti-orari Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L'insegnamento è erogato integralmente in lingua Inglese. Per tutte le informazioni relative, si veda la corrispondente sezione in lingua Inglese. MODALITA' DI ACCERTAMENTO L'insegnamento è erogato integralmente in lingua Inglese. Per tutte le informazioni relative, si veda la corrispondente sezione in lingua Inglese. ALTRE INFORMAZIONI Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente. Agenda 2030 Istruzione di qualità Lavoro dignitoso e crescita economica Imprese, innovazione e infrastrutture