Scientific Programming II: High Performance Computing
Prerequisiti
Anni di corso: IV, V, PhD
Prerequisiti: Il corso è complementare a "Scientific Programming II" e introdurrà concetti più avanzati sul problema delle prestazioni, ma può essere seguito indipendentemente. Nessuna conoscenza pregressa nella programmazione è richiesta.
Programma
Il corso tratterà i temi seguenti:
- Introduzione alle architetture dei computer, i limiti hardware, e i linguaggi di programmazione
- Concetti di base del linguaggio
- Concetti avanzati del linguaggio in termini di prestazione
- Programmazione parallela
- Ottimizzazione di codice e interfacce
Concetti chiave del linguaggio verranno illustrati attraverso la realizzazione progressiva di un programma completo durante il corso.
Il corso contiene una parte didattica di 32 ore (2 lezioni di 2 ore ciascuna per settimana) e una parte di esercizi in laboratorio di 8 ore (2 sessioni di 4 ore, una sui concetti di base, l'altra su concetti più avanzati).
Obiettivi formativi
Il corso intende fornire una conoscenza pratica sullo sviluppo di programmi per il calcolo ad alta prestazione (HPC) nell'ambito delle scienze computazionali.
Il corso introdurrà il linguaggio Fortran 2008, e discuterà di vari aspetti del calcolo HPC, indipendenti del linguaggio: parallelizzazione, procedura di compilazione, gestione della memoria.