Salta al contenuto principale della pagina

ARCHITECTURES AND MODELS FOR NUMERICAL METHODS

CODICE 98217
ANNO ACCADEMICO 2021/2022
CFU
  • 10 cfu al 2° anno di 10728 ENGINEERING TECHNOLOGY FOR STRATEGY (AND SECURITY)(LM/DS) - GENOVA
  • SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01
    LINGUA Inglese
    SEDE
  • GENOVA
  • PERIODO 1° Semestre
    MODULI Questo insegnamento è un modulo di:
    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

    1. 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.
    2. 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.
    3. Programmazione di tipo parallelo: progettazione di algoritmi paralleli, modelli di programmazione parallela e prestazioni. Introduzione alla programmazione parallela e concorrente con Python.
    4. 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 DATASolving 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

    Commissione d'esame

    ERMANNO DI ZITTI (Presidente)

    RICCARDO BERTA (Presidente Supplente)

    LEZIONI

    Orari delle lezioni

    L'orario di tutti gli insegnamenti è consultabile su 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 Ora 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