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.