Scientific Programming II: High Performance Computing

Periodo di svolgimento
‌‌
Info sul corso
Ore del corso
48
Ore dei docenti responsabili
48
CFU 7
‌‌

Modalità esame

progetto (programma informatico) e esame orale.

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.