Introduction to build systems and package managers in HPC

You are here

This three-day course provides an introduction to the most widely-used build systems and package managers in HPC for C/C++, Fortran and Python codes. After a brief reminder of command-line compilation of C/C++ and Fortran codes, the course will first show how to write simple makefiles to automatize the compilation,  testing and installation phases, then how to use GNU Autotools and CMake to the same end. An entire afternoon will be dedicated to the Python ecosystem and to how to package Python programs. The last day will be devoted to Spack, a package manager specifically designed for HPC systems which allows for an easy and consistent management of the installation of scientific software.  

Skills:  

By following this course the participants are expected to learn  
- The basic steps in the compilation and installation of C/C++ and Fortran source codes. 
- How to write a Makefile. 
- How to use and configure GNU Autotools (./configure). 
- How to use and configure CMake. 
- How to package Python programs. 
- How to use and configure Spack to manage scientific-software packages. 

Target audience: 

The course is mainly meant for junior developers of scientific software willing to deepen their knowledge of the installation, testing and distribution phases of their codes. 

Pre-requisites: 

Some programming experience with compiled and interpreted languages. Feeling at ease with a Unix shell. 

Intended for: 
Research Institutions
Area: 
Languages
Length: 
3dd
Provided as: 
Ordinary Course

Next courses

  • 09-06-2026, Cineca - Via Magnanelli 6/3 40033 Casalecchio di Reno, BO, ITALY

Any question?

For HPC and computer graphics courses, write to corsi.hpc@cineca.it

About CINECA

Cineca is a non profit Consortium, made up of 102 Italian national institutions: Universities, Italian Research Institutions and the Italian Ministries of Universities and Education.

Today it is the largest Italian computing centre, one of the most important worldwide. With more seven hundred employees, it operates in the technological transfer sector through high performance scientific computing, the management and development of networks and web based services, and the development of complex information systems for treating large amounts of data.

It develops advanced Information Technology applications and services, acting like a trait-d'union between the academic world, the sphere of pure research and the world of industry and Public Administration. .

Visit the Cineca website