Scientific Programming II: High Performance Computing
Prerequisiti
Il corso è indipendente da "Scientific Programming I" e non richiede conoscenze pregresse nella programmazione.
Corso per studenti di dottorato, mutuabile per IV e V anno.
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 orientata agli oggetti in Fortran
- Programmazione parallela
- Ottimizzazione di codice e interfacce
Concetti chiave del linguaggio verranno illustrati attraverso la realizzazione progressiva di un programma completo durante il corso.
La versione di riferimento del linguaggio è Fortran 2008.
Il corso contiene una parte didattica di 36 ore (2-3 lezioni di 2 ore ciascuna per settimana) e una parte di esercizi in laboratorio di 12 ore (3 sessioni di 4 ore, la prima sui concetti di base, la seconda più specificamente sulla programmazione procedurale, compresi funzioni, moduli e librerie, l'ultima sulla programmazione orientata agli oggetti e l'interfacciamento con altri linguaggi).
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.