[ONLINE] Programming in heterogeneous environments with SYCL and OpenMP offloading (EuroCC)

Europe/Prague
ONLINE

ONLINE

Description

Annotation

VSC Research Center, TU Wien, NCC Austria, and NCC Czechia are inviting you to the course Programming in heterogeneous environments with SYCL and OpenMP offloading.

Nowadays, most HPC systems are heterogeneous and use accelerators. OneAPI is a standardized and portable programming model adapted to heterogeneous computing. In this course, Intel's oneAPI implementation will be used, which supports two portable methods of heterogeneous computing: C++ with SYCL and OpenMP for C, C++, and Fortran.

Join us at this training event led by Intel oneAPI-certified instructors. Learn how to accelerate your code while avoiding vendor lock-in. Write your code once and use it anywhere.

Registration

The registration form is available at https://events.vsc.ac.at/event/111/registrations/104/. The registration might close even before the deadline if the number of registrations has reached its maximum (and will open again if there are cancellations).

Please register with your official email address to prove your affiliation.

You will get an automatic confirmation via email (subject starting with "[Indico] Registration"); please check your Spam/Junk folders.

Following your successful registration, you will receive further information approximately 1 week before the course.

Learning outcome

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

  • understand the importance of using open standards for programming in heterogeneous systems
  • use the oneAPI SYCL standard to offload to various accelerators, including CPU and GPU
  • profile code running on various accelerators and assess their performance
  • use the compatibility tool to help port CUDA to SYCL
  • know how to use the Intel DevCloud as a ready to use sandbox in developing their codes
  • know how to use the software and hardware environment on the VSC-5 cluster

Content Level

Content level: Basic = 10:00h (100%) + Intermediate = 0:00h (0%) + Advanced = 0:00h (0%)

Language

English

Entry level

Basic – no prior SYCL, OpenMP offloading, oneAPI knowledge is required

Prerequisites

Being able to program in C/C++ and/or Fortran      
Know how to work on the Linux command line

Tutors

Soner Steiner (VSC Research Center, TU Wien and EuroCC Austria)

      

Georg Zitzlsberger (IT4Innovations and EuroCC Czechia)

Both trainers are certified Intel oneAPI instructors.

Acknowledgements

This 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 Germany, Bulgaria, Austria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, Greece, Hungary, Ireland, Italy, Lithuania, Latvia, Poland, Portugal, Romania, Slovenia, Spain, Sweden, France, Netherlands, Belgium, Luxembourg, Slovakia, Norway, Türkiye, Republic of North Macedonia, Iceland, Montenegro, Serbia. This project has received funding from the Ministry of Education, Youth, and Sports of the Czech Republic.

This course was supported by the Ministry of Education, Youth and Sports of the Czech Republic through the e-INFRA CZ (ID:90254).

  • Tuesday, 12 December
    • 09:30 09:40
      Welcome
    • 09:40 10:00
      Introduction to oneAPI and DevCloud infrastructure (Soner Steiner)
    • 10:00 10:15
      Introduction to the VSC-5 cluster, login, and job submission (Soner Steiner)
    • 10:15 11:00
      Introduction programming CPU/GPU using SYCL (Georg Zitzlsberger)
    • 11:00 11:15
      Coffee Break 15m
    • 11:15 12:00
      Advanced programming CPU/GPU using SYCL (Soner Steiner)
    • 12:00 13:00
      Lunch Break 1h
    • 13:00 14:30
      Lab 1: introductory SYCL (Georg Zitzlsberger)
    • 14:30 14:45
      Coffee break 15m
    • 14:45 16:00
      Lab 2: advanced SYCL (Soner Steiner)
  • Wednesday, 13 December
    • 09:30 09:40
      Welcome
    • 09:40 10:30
      Porting CUDA code to SYCL using the compatibility tool (Georg Zitzlsberger)
    • 10:30 11:00
      Lab 3: Hands-on with the compatibility tool Try porting a CUDA code to oneAPI with the help of the compatibility tool. (Georg Zitzlsberger)
    • 11:00 11:15
      Coffee Break 15m
    • 11:15 12:00
      OpenMP offloading with C/C++ and Fortan Offloading using OpenMP mainly in C/C++ Offloading using OpenMP in Fortran Automatic offloading using DO CONCURRENT (Soner Steiner)
    • 12:00 13:00
      Lunch Break 1h
    • 13:00 14:30
      Lab 4: Hands-on offloading with OpenMP (Soner Steiner)
    • 14:30 14:45
      Coffee break 15m
    • 14:45 16:00
      Lab 5: Hands-on Vtune (Soner Steiner)