CODICE 98217 ANNO ACCADEMICO 2021/2022 CFU 5 cfu anno 2 ENGINEERING TECHNOLOGY FOR STRATEGY (AND SECURITY) 10728 (LM/DS) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre MODULI Questo insegnamento è un modulo di: AUTONOMOUS AGENTS IN GAMES - STRATEGIC PROGRAMS MATERIALE DIDATTICO AULAWEB PRESENTAZIONE OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI The course tackles the design and implementation of numerical algorithms for high performance computers in order to let students have a practical experience of the subject. In this framework, advanced architectures, parallel numerical algorithms, and their application to scientific and engineering problems are considered. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Il corso affronta la progettazione e l'implementazione di algoritmi numerici per computer ad alte prestazioni al fine di consentire agli studenti di avere un'esperienza pratica della materia. In questo contesto vengono prese in considerazione architetture di elaborazione di tipo avanzato, algoritmi numerici paralleli e la loro applicazione a problemi scientifici e ingegneristici. MODALITA' DIDATTICHE Lezioni integrate da tutorial. Molti esempi di algoritmi in Python sono forniti e discussi durante le lezioni. PROGRAMMA/CONTENUTO Richiamo dei concetti di base dell'architettura dei computer: esempi, livelli hardware, architetturali, e software, processori, architettura di sistema di base, macchine di Von Neumann, macchine CISC e RISC, processori di segnali digitali (DSP), memoria. Struttura a strati di un computer: dall'hardware al software. Aspetti progettuali e architetture di elaborazione. Architetture GPU. Calcolo parallelo: macchine parallele e di tipo distribuitio architetture multiprocessore, architetture a memoria condivisa e a scambio di messaggi, reti di interconnessione, comunicazione tra processori, analisi delle prestazioni. Architetture di memoria di computer paralleli. Complessità della comunicazione. Programmazione di tipo parallelo: progettazione di algoritmi paralleli, modelli di programmazione parallela e prestazioni. Introduzione alla programmazione parallela e concorrente con Python. Modelli numerici e algoritmi: Esempi di algoritmi paralleli: ricerca del parallelismo con un esempio concettuale, algoritmo dei numeri primi, estimatore Montecarlo Pi, elaborazione con array, semplice equazione del calore. Introduzione agli algoritmi di Machine Learning. Algoritmo di foresta casuale. TESTI/BIBLIOGRAFIA Kaminsky, A., BIG CPU, BID DATA: Solving the World's Toughest Problems with Parallel Computing, CreateSpace Independent Publishing Platform; 1 edition (30 July 2016) Benmammar, B. (2017), Concurrent, Real-Time and Distributed Programming in Java. Newark: John Wiley & Sons, Incorporated. Zaccone, G. (2019), Python Parallel Programming Cookbook, 2nd edition, Packt Publishing. Birmingham, UK. Prsentazioni e note fornite dal docente. DOCENTI E COMMISSIONI ERMANNO DI ZITTI Ricevimento: Ricevimento su appuntamento Commissione d'esame ERMANNO DI ZITTI (Presidente) RICCARDO BERTA (Presidente Supplente) LEZIONI INIZIO LEZIONI https://corsi.unige.it/10728/p/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME Esame orale. MODALITA' DI ACCERTAMENTO La prova orale verterà sulla mappatura di algoritmi paralleli in architetture parallele a supporto di metodi numerici. In particolare, all'inizio dell'esame, ogni studente avrà la possibilità di presentare l'implementazione di un algoritmo a sua scelta in una specifica architettura concorrente e distribuita, evidenziando punti chiave e problemi. Calendario appelli Data appello Orario Luogo Tipologia Note 14/01/2022 10:00 GENOVA Esame su appuntamento 14/01/2022 10:00 GENOVA Orale 11/02/2022 10:00 GENOVA Esame su appuntamento 11/02/2022 10:00 GENOVA Orale 22/07/2022 10:00 GENOVA Esame su appuntamento 22/07/2022 10:00 GENOVA Orale 26/08/2022 10:00 GENOVA Esame su appuntamento 26/08/2022 10:00 GENOVA Orale 09/09/2022 10:00 GENOVA Esame su appuntamento 09/09/2022 10:00 GENOVA Orale