- Docente: Marco Baldi
- Crediti formativi: 6
- SSD: FIS/05
- Lingua di insegnamento: Inglese
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
-
Corso:
Laurea Magistrale in
Astrophysics and cosmology (cod. 6765)
Valido anche per Laurea Magistrale in Astrophysics and Cosmology (cod. 5828)
Conoscenze e abilità da conseguire
The students will acquire the basic concepts of algorithm parallelisation and the practical skills to implement a parallel code using different parallelisation strategies. The methods to test the computational efficiency of a parallel algorithm and to assess its performance in terms of scaling, work load, and memory consumption will be presented. Furthermore, the students will learn the basic techniques for handling, monitoring, and exploiting the use of shared computational architectures ranging from small computer clusters to large supercomputing facilities. The laboratory part of the course will focus on some selected applications of these methods to standard astrophysical and cosmological problems
Contenuti
1. Introduction to Parallel Computing
1.1 General overview and scientific applications
1.2 Concepts and terminology
1.3 Memory Architectures
1.4 Parallel Programming Models
1.5 Design of parallel algorithms
1.6 Laboratory exercises on basic parallelisation strategies
2. Practical tools to work in a shared computing environment
2.1 Introduction to bash scripting
2.2 Bash basic commands
2.3 Shell Configuration
2.4 Regular Expressions
2.5 Remote connection and data handling/transfer/archiving
2.6 Laboratory exercises on bash scripting and data handling
3. Introduction to MPI parallel programming
3.1 Introduction to Message Passing
3.2 Environment Management
3.3 Point-to-Point communications
3.4 Collective communications
3.5 Group and Communicator Management
3.6 Laboratory exercises on MPI parallelisation
4. Applications to astrophysical and cosmological problems
4.1 General overview of N-body gravity solvers
4.1 Parallelisation strategies of N-body algorithms
4.2 Domain decomposition and load balancing
4.3 The TreePM N-body code Gadget2
4.4 Laboratory: Practical examples of N-body simulations
4.4.1 Galaxy collisions
4.4.2 The formation of a massive galaxy cluster
4.4.3 Cosmic Large-Scale Structure formation
Testi/Bibliografia
Recommended:
- Lecture notes prepared by the teacher (main reference)
- Blaise Barney: Introduction to Parallel Computing (Lawrence Livermore National Laboratory online tutorial) - Blaise Barney: Message Passing Interface (Lawrence Livermore National Laboratory online tutorial)
- Volker Springel: High-Performance Computing and numerical modelling (arXiv:1412.5187)
Suggested:
Grama, Gupta, Karypis, Kumar: Introduction to Parallel Computing (Addison Wesley)Metodi didattici
Part of the lectures (4 CFU) will be standard frontal lectures aimed at illustrating the main theoretical concepts of HPC. These lectures will be held in a standard teaching room and will be delivered using projected slides.
Part of the lectures (2 CFU) will be “hands-on” sessions carried out in the computing lab, exploiting a direct access to the DIFA HPC computing cluster, in order to apply the theoretical concepts acquired during the frontal lectures. The students will have to solve problems and exercises under the supervision of the teacher.
As concerns the teaching methods of this course unit, all students must attend Module 1, 2 [https://www.unibo.it/en/services-and-opportunities/health-and-assistance/health-and-safety/online-course-on-health-and-safety-in-study-and-internship-areas] on Health and Safety online”
Modalità di verifica e valutazione dell'apprendimento
The final exam and its evaluation will be based on 1) implementation on the shared computing environment provided by the DIFA HPC cluster of two numerical codes, one related to parallel programming, and one related to shell scripting; 2) a written report on the two exercises describing their implementation strategies, their computational performance, and possible alternative approaches; and 3) an oral exam in which the numerical codes and the written report will be discussed, and where the general knowledge about the topics of the course will be verified.
The registration for the oral exam and the receipt of the numerical codes and the associated reports will be closed 7 days before the exam date.
The overall assessment (expressed as a mark out of thirty) will be graded as follows:
• Knowledge limited to a very small number of topics covered in the course, with analytical skills emerging only with the lecturer’s guidance; generally correct language use → 18–19;
• Knowledge of a limited number of topics addressed during the course, with autonomous analytical skills evident only in routine or procedural matters; correct use of language → 20–24;
• Broad knowledge of the topics covered in the course, ability to make independent critical analyses, and confident use of subject-specific terminology → 25–28;
• Comprehensive knowledge of the course content, demonstrated ability to make independent critical analyses and connections, full command of subject-specific terminology, and strong argumentative and self-reflective skills → 29–30L.
As decided by the Degree Programme Board, a positive mark (i.e. greater or equal than 18) may be declined no more than twice.
Students with learning disabilities or temporary or permanent disabilities: please contact the relevant University office promptly (https://site.unibo.it/studenti-con-disabilita-e-dsa/it ). The office will advise students of possible adjustments, that will be submitted to the professor for approval 15 days in advance. He/she will evaluate their suitability also in relation to the academic objectives of the course.
Strumenti a supporto della didattica
The main teaching tool of the course will be provided by the DIFA HPC computing cluster, a distributed memory cluster with about 5000 virtual cores. During the laboratory sessions, the access to a fraction of the cluster computing nodes will be reserved to the students of this course in order to allow for “hands-on” practicing on the parallel computing methods described in the frontal lectures.
Orario di ricevimento
Consulta il sito web di Marco Baldi