The course is FREE of charge,
It will be held EXCLUSIVELY IN PRESENCE (No Streaming Available) and will be held in ENGLISH language.
Automatizing the compilation of source codes becomes a necessity when a code base grows larger than a couple of files, but it is also a prerequisite to make the code portable and available in the form of a source package. Moreover, the development and building phases are strongly intertwined in HPC codes, with the need of managing and testing different installations at the same time (different compilers/flags, different libraries, ...). This three-day course provides an introduction to the most widely-used build systems and package managers for C/C++ and Fortran codes, both from the user's and the maintainer's point of view. After a brief reminder of command-line compilation, the course will first show how to write simple makefiles by hand to automatize the compilation and the testing phases, then how to use GNU Autotools and CMake to the same end. The last day will be devoted to Spack, a package manager specifically designed for HPC systems which allows an easy and consistent management of the installation of binaries.
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 use and configure Spack to manage source-code packages.
Target audience:
The course is mainly meant for junior developers of scientific software written in a compiled language, willing to deepen their knowledge of the installation, testing and distribution phases of their codes.
Pre-requisites:
Some programming experience in C/C++ or Fortran and feeling at ease within a Unix shell.