Architetture avanzate (2018/2019)

Codice insegnamento
4S02910
Crediti
6
Coordinatore
Nicola Bombieri
Altri corsi di studio in cui è offerto
Altri corsi di studio in cui è offerto
    Settore disciplinare
    ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
    Lingua di erogazione
    Italiano
    L'insegnamento è organizzato come segue:
    Attività Crediti Periodo Docenti Orario
    Teoria 4 II semestre Nicola Bombieri

    Vai all'orario delle lezioni

    Laboratorio 2 II semestre Nicola Bombieri

    Vai all'orario delle lezioni

    Obiettivi formativi

    Il corso si propone di fornire le conoscenze teoriche e pratiche per la programmazione e l'analisi di architetture di calcolo avanzate con particolare enfasi alle piattaforme multiprocessore e GPU. Al termine del corso lo studente dovrà dimostrare di essere in grado di applicare le conoscenze necessarie per individuare tecniche di parallelizzazione di applicazioni software, anche in un contesto di ricerca, attraverso l'analisi dell'efficienza delle applicazioni considerando vincoli funzionali e non funzionali di progettazione (correttezza, performance, consumo energetico). Queste conoscenze consentiranno allo studente di effettuare un’analisi delle performance e profiling del codice, con individuazione delle zone critiche e relativa ottimizzazione considerando caratteristiche architetturali della piattaforma. Al termine del corso lo studente sarà in grado di confrontare pattern di parallelismo diversi e scegliere tra questi il più adeguato a seconda del contesto d'uso. In fase di definizione della struttura del codice ottimizzato, sarà in grado di fare le scelte progettuali più appropriate a seconda del contesto e piattaforma in cui l'applicazione parallela verrà usata. Inoltre, lo studente avrà le conoscenze necessarie per proseguire gli studi in modo autonomo nell’ambito dei linguaggi di programmazione paralleli e dello sviluppo di software per piattaforme embedded e/o parallele.