Skip to main content
To KTH's start page To KTH's start page

Build Systems Course and Hackathon - Part I

A course and hackathon hosted by PDC, ENCCS, CodeRefinery, CSC, and Aalto Scientific Computing

Time: Tue 2024-10-08 09.00 - Fri 2024-10-11 12.00

Location: Online (for the course)

Language: English

Participating: Staff from PDC, ENCCS, CodeRefinery, CSC, and Aalto Scientific Computing

Export to calendar

The development of modern computer hardware towards heterogeneous architectures that combine the compute capabilities of multicore central processing units (CPUs) and graphics processing units (GPUs), non-uniform memory access (NUMA), and high speed network interconnect, offers, on the one hand, the prospect of extreme computing power, and on the other hand, a challenge for developers and users of scientific software.

In this Build Systems Course and Hackathon you will learn how to make use of tools and frameworks for building and installing programs and libraries on modern personal computers and on supercomputers.

The event has two parts: an online course part and an in-person hackathon. If you are only interested in attending the online course, it is fine to register for that and not apply to participate in the hackathon.

Part I: Course


The course part of this event will be held online over four half days, Tuesday 8 October - Friday 11 October 2024. The following will be included in the curriculum.

  • Introduction to compilers, linkers, and libraries
  • The GNU make and autotools
  • The CMake build system
  • The Spack build system
  • The EasyBuild build system
  • SingularityCE / Apptainer


In the exercise sessions of the course you will get hands-on experience of using these tools for a variety of open-source scientific programs.

Part II - Hackathon

The hackathon part of this event will be hosted at the KTH campus in Stockholm, Sweden, on three full days: Tuesday 15 October - Thursday 17 October 2024. The hackathon will be held in the conference rooms at the RISE office at the KTH campus, Drottning Kristinas väg 61, Stockholm.

The primary scope of the hackathon is for teams (consisting of one to five people) to work on their own code aiming to make it transferable to different computers using, for instance, the CMake build system, Spack, and containers.

Teams that would like to participate in the hackathon are welcome to submit an application. The organisers will review the applications and accept up to eight teams for participation. A team can have from one to five members. Preference will be given to teams working on scientific codes which are open source. In the application, please describe how the code is distributed, what the license for the code is, how the code can be built and installed currently, and how the team would like to extend the functionality of the code.

Note that participation in the hackathon is limited to a maximum of eight teams.

Schedule for Online Course

8 October

  • 08:50 – 09:00 Soft start
  • 09:00 – 09:10 Welcome and introduction
  • 09:10 – 09:50 Compilers/Linkers/Libraries
  • 09:50 – 10:00 Break
  • 10:00 – 10:50 make
  • 10:50 – 11:00 Break
  • 11:00 – 12:00 autotools

9 October

  • 08:50 – 09:00 Soft start
  • 09:00 – 09:50 CMake
  • 09:50 – 10:00 Break
  • 10:00 – 10:50 CMake
  • 10:50 – 11:00 Break
  • 11:00 – 12:00 CMake

10 October

  • 08:50 – 09:00 Soft start
  • 09:00 – 09:50 Spack
  • 09:50 – 10:00 Break
  • 10:00 – 10:50 Spack
  • 10:50 – 11:00 Break
  • 11:00 – 12:00 EasyBuild

11 October

  • 08:50 – 09:00 Soft start
  • 09:00 – 09:50 SingularityCE/Apptainer
  • 09:50 – 10:00 Break
  • 10:00 – 10:50 SingularityCE/Apptainer
  • 10:50 – 11:00 Break
  • 11:00 – 11:30 SingularityCE/Apptainer
  • 11:30 – 12:00 Wrap up of lesson & concluding remarks

Schedule for hackathon

  • The hackathon will run from 10:00-16:00 each day.

Registration

  1. To register for the online course, please fill in this form  (one form per person).
  2. To apply to participate in the hackathon, please fill in this form  (one form per team, with 1-5 members in a team).

Contact

If you need additional information, please contact: