Scientific Programming II: High Performance Computing

Period of duration of course
‌‌
Course info
Number of course hours
40
Number of hours of lecturers of reference
40
Number of hours of supplementary teaching
0
CFU 6
‌‌

Modalità esame

Seminars

Prerequisiti

Audience: 4-th year, 5-th year, PhD

Prerequisites: The course is complementary to "Scientific Programming I" and will introduce more advanced concepts regarding the problem of performance, but can be followed independently. No previous knowledge in programming is necessary.

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
  • 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 course is composed of a didactic part of 32 hours (2 lessons of 2 hours each per week) and a practical part of 8 hours (2 sessions of 4 hours, one on basic concepts, one on more advanced aspects).

Obiettivi formativi

The course aims at providing 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.