Computing and High Performance Computing in Astronomy and Astrophysics
Overview
In Astrophysics and Cosmology (A&C) numerical algorithms based on High-Performance Computing (HPC) are essential for modelling complex dynamic systems, interpreting observations, and making theoretical predictions. Contrasting the results from numerical codes with the torrent of complex observational data that the new generations of ground- and space-based observatories will produce will be a fundamental channel to provide new insights into astronomical phenomena, the formation and evolution of the universe and the fundamental laws of physics.
The outstanding quality and volume of observational data generated by the current and next generation of instruments (LOFAR, MeerKAT, MWA, EUCLID, SKA etc.) poses exceptional challenges to their analys and theoretical interpretation and it will require novel theoretical and numerical laboratories (codes, algorithms and tools) able to investigate the physical processes behind the observed phenomena with unprecedented quality, resolution, and reliability, allowing their interpretation and paving the way for scientific discovery.
The proper use of computing and supercomputing resources is then becoming crucial in astronomy and astrophysiscs.
Objectives
The primary objective of this course is to offer young researchers in Astronomy and Astrophysics an opportuinity for acquiring programming and optimization skills tailored for parallel computers (but also laptops and modern CPUs). Our mission is to empower participants to evolve into experts proficient in leveraging computing resources for numerical models and data analysis within the realm of Astronomy and Astrophysics exploration. Throughout the program, we aim to establish a robust foundation by focusing on essential:
- Code optimization on modern CPUs
- Distributed-memory parallelism
- Shared-memory parallelism
- Usage of computing facilities
The first week of the course is dedicated to introduction to Computing and HPC. Including tools, basic optimization techniques, multi-threading with OpenMP.
The second week is dedicated to more advanced topics ad the use of GPUs and MPI parallel programming.
It is possible to follow the whole course or just one week (first/second). The second week requires deep knowledge of the argument discussed during the first one.
Participation
The participation to the course is free of charge and it is limited to 30 people.
The expenses for meals and accommodation are to be covered by the participants.
Participats should have:
- basic knowledlge of C or C++ programming;
- basic knowlegde of Python (mainly for plotting and post processing analysys);
- basic software development skills.
Participants will be selected based on their knowledge, with priority given to young researchers and post-docs.
In order to proceed with the selection, a brief CV (max 3 pages) will be requested at the time of registration.
Participants can specify a software they have developed that they would like to optimize for use in the lab sessions. In such cases, a brief tehcnical description of the software is required in the CV/resume.
Support
Realizzato con il contributo della Fondazione ICSC (Italian Research Center on High Performance Computing, Big Data and Quantum Computing)
Organizer
This course has been organized by INAF USCVIII and supported by the INAF Scientific Direction.