Scientific Programming II: High Performance Computing

Period of duration of course
‌‌
Course info
Number of course hours
48
Number of hours of lecturers of reference
48
CFU 7
‌‌

Modalità esame

programming project and oral exam.

Prerequisiti

The course can be followed independently of "Scientific Programming I" and does not require any previous knowledge in programming.


Course intended for PhD students, available to master-degree students.

Programma

The course will address the following aspects:

  • Introduction to computer architectures, hardware limitations, and programming languages
  • Basic concepts of the language
  • Advanced concepts of the language in terms of performance
  • Object oriented programming in Fortran
  • Parallel programming
  • Code optimization and interfacing


Key concepts of the language will be illustrated through the progressive development of a fully functional program

during the course.

The reference version of the language is Fortran 2008


The course is composed of a didactic part of 36 hours (2-3 lessons of 2 hours each per week) and a practical part of

12 hours (3 sessions of 4 hours, the first one on basic concepts, the second on procedural programming, including functions, modules and libraries, and the last one on object-oriented programming and interfacing with other languages).

Obiettivi formativi

The course's main objectives are to provide a working knowledge in the development of software for high performance computing (HPC) in computational sciences.

The course will introduce the Fortran 2008 language, and discuss different aspects of HPC calculations, independently of the language: parallelization, compilation process, memory management.