EuroHack21: GPU Programming Hackathon

The Swiss National Supercomputing Centre (CSCS) is pleased to announce the event EuroHack21: GPU Programming Hackathon, which will be held online from September 20 to 29, 2021 (CEST working hours). For details on the program, please refer to the relevant section below.

Background

General-purpose Graphics Processing Units (GPGPUs) potentially offer exceptionally high memory bandwidth and performance for a wide range of scientific applications. The challenge in utilizing such accelerators efficiently has been the difficulty in programming them. Today, these devices can be programmed using different programming models ranging from the low-level CUDA C/C++ programming API to the high-level directives-based programming modules, such as OpenACC or OpenMP, which offer straightforward compiler extensions to C, C++ and Fortran to address the programming hurdle. In-between these extremes, there are programming paradigms that use existing programming language feature sets to provide accelerator programming capabilities through carefully designed programming libraries, such as Kokkos, HPX, RAJA etc.

Workshop Goal

EuroHack provides a unique opportunity for current or prospective users groups of large hybrid CPU-GPU systems to either (1) port their (potentially) scalable application to GPU accelerators, or (2) optimize an existing GPU-enabled application, on a state-of-the-art Tier-0 GPU system.  The goal is that the development teams leave at the end of the hackathon with applications running on GPUs, or at least with a clear roadmap of how to get there.

Target Audience and Format

This program is addressed to teams interested in porting or optimizing their application on a cluster of GPU accelerators in a short but extremely intense time window. This is a great opportunity for grad students and post-docs.

Collectively the team should know the application intimately. There will be intensive mentoring during this 10-day hands-on workshop. Mentors come from universities, national laboratories and industry, and they bring their extensive experience in programming GPUs, as well as in GPU-enabled compilers and profiling tools. The event will be limited to 8 teams with 2 mentors assigned to each team.

The event format for 2021 is the same as that of 2020, when the Eurohack took place entirely online. Please find below the schedule of the event:

  • September 20 (virtual): Day 1 of the hackathon (Kick-Off)
  • September 21–26 (virtual): Teams work offline with mentors
  • September 27–29 (virtual): Days 2–4 of the hackathon (team work + daily SCRUMs)

Please note that times in the agenda will be shown in CEST working hours.

 

Targeted Application

This program is not targeting a specific application. We aim at collecting scientific codes in need of porting individual modules, i.e., with a well-defined subset of 2-10K lines of code with a validation test.  The latter is crucial for incremental development without introducing bugs.

Application Process

The application period is now open. The team coordinator needs to fill out the application at the GPU Hackathons website (please make sure that you apply to the “CSCS” hackathon) and provide as much information in the form as possible by July 13, 2021 (Anywhere on Earth).  Groups will be notified about acceptance or rejection of their application by August 2, 2021.

Groups whose application successfully passes the selection process will need to register for the event to confirm participation within two weeks from notification of acceptance. The notification of acceptance will include information on how to register.

Team participants, as well as mentors, will be offered a certificate of attendance.

Participation costs

Participation in the workshop is free of charge. The virtual environment (Zoom, Slack) will be supported by the GPU Hackathons Program, whereas access to the Piz Daint supercomputer throughout the event is offered by the Swiss National Supercomputing Centre. If participants prefer they can use their own GPU resource. Mentors and learning materials are provided by CSCS, OpenACC organization and other partner organizations.

More details available here.