14–16 Feb 2024
Helsinki, Finland
Europe/Helsinki timezone

Start date:  14 Feb 2024, 09:00 (EET)     Entry level:  Basic
End date:  16 Feb 2024, 17:00 (EET)     Subject area:  Parallel programming
Location:  Helsinki, Finland     Topics:  SYCL, Kokkos
Language:  English     Target audience:  Academia, industry, public sector
Price:  180 € – 840 € (see below)   Organizers:  CSC & VSC & EuroCC Austria + Finland

Overview

Modern HPC systems combine CPUs and accelerators such as GPUs or FPGAs, making code optimization for diverse platforms time-consuming. Cross-platform portability ecosystems provide a higher-level abstraction layer, simplifying parallel programming in shared memory environments. Examples include SYCL and Kokkos for C++. SYCL, an open standard by Khronos Group, offers a unified C++ layer for diverse devices, achieving parallel execution on CPUs, GPUs, FPGAs, and more. Kokkos Core, a C++ framework, enables high-performance applications across HPC platforms, addressing challenges of intricate node architectures. Kokkos supports various backend programming models like CUDA, HIP, SYCL, HPX, OpenMP, and C++ threads.

This training organized by CSC in collaboration with VSC / EuroCC Austria introduces GPU programming using SYCL and Kokkos to write portable and performant accelerated applications. The course consists of lectures and hands-on sessions using LUMI, Mahti, and Intel DevCloud, featuring AMD, Nvidia, and Intel GPUs, respectively. At the end of the training, we also provide opportunity for the participants to apply the acquired knowledge to personal coding projects and real-world application scenarios.

Learning outcome

At the end of this training, participants will be able to:

  • write hardware-agnostic code to express parallelism using SYCL and Kokkos that can run on CPUs and GPUs
  • manage memory across devices
  • do basic performance analysis
  • evaluate the drawbacks between different approches for programming GPUs

Agenda & Content

See Agenda & Content in the left menu for a detailed timetable and course content.

Content level

Content level: Basic = (70%) + Intermediate = (20%) + Advanced = (10%)

Entry level

Basic – no prior SYCL or Kokkos knowledge is required

Prerequisites

This course targets developers who know C++ and would like to learn how to program GPUs or for developers who are already doing GPU programming using a non-portable approach such like CUDA or HIP and would like to write performant code which runs on various computing platforms. In order to be able to follow the course the participants are expected to have basic familiarity with C++ concepts such as raw pointers, classes, structures, templates, lambdas, functors.

Target audience

Course for academia, industry, and public administration.

Course format

This is an in-person event in Helsinki, Finland.

While the event is on-premise, the SYCL I, II, and III lecturing is done remotely.

Hands-on labs

The hands-on sessions will be done on LUMI, Mahti, and Intel DevCloud, featuring AMD, Nvidia, and Intel GPUs, respectively.

Lecturers

Cristian-Vasile Achim (CSC and EuroCC Finland)

Jaro Hokkanen (CSC and EuroCC Finland)

Tuomas Rossi (CSC and EuroCC Finland)

Soner Steiner (VSC Research Center, TU Wien and EuroCC Austria; certified Intel oneAPI instructor)

Language

English

Date, time, and location

14.–16.02.2024, 09:00 – 17:00 EET

CSC Training Facilities located on the premises of CSC at Keilaranta 14, Espoo, Finland

Prices and eligibility

The fee covers the lunches, coffee, and snacks during the event.

  • For academic participants (both Finnish and non-Finnish): 180€ ex VAT
  • For industry: 840€ ex VAT

This course is partly funded by the EuroCC 2 project. Therefore, the course is open for participants from academia, industry, and public administration from the Member States (MS) of the European Union (EU) and Associated/Other Countries to the Horizon 2020 programme.

Registration

Registration for this training event is handled by CSC through their High-Level GPU Programming page.

The number of participants is limited to 28. Registration is at a first come, first served basis and it closes on February 7 at 23:59.

All further details

Please see the CSC event page High-Level GPU Programming for all further details.


Organizers

              

This course is jointly organized by CSC, the VSC Research Center, TU Wien, EuroCC Austria and Finland.

Acknowledgements

This course is partially funded by the EuroCC 2 project.

The project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 101101903. The JU receives support from the Digital Europe Programme and Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Luxembourg, Montenegro, Netherlands, North Macedonia, Norway, Poland, Portugal, Romania, Serbia, Slovakia, Slovenia, Spain, Sweden, and Türkiye.

Additional funding for the project comes from the Austrian federal ministries BMBWF and BMK.


Starts
Ends
Europe/Helsinki
Helsinki, Finland
CSC Training Facilities, Keilaranta 14, Espoo, Finland