Most current HPC systems are heterogenous and use accelerators. oneAPI is a standardized and portable programming model adapted to heterougenuous computing. In this course we will provide an introduction to Intel's oneAPI implementation, which supports two portable methods of heterougenuous computing: Data Parallel C++ (DPC) with SYCL and OpenMP for C, C++, and Fortran. Both are portable on any Intel CPU and Intel based accelerator. The course will give an introduction in these two programming methods, Intel's libraries like oneMKL and tools for performance analysis, profiling, and debugging. Further an introduction to Intel's DPC compatibility Tool to facilitate code migration from CUDA to SYCL and to Intel's MPI implementation support with GPU awereness completes the program.
Online course Organizer: HLRS, University of Stuttgart, Germany
Sep 13, 2023 08:30
Sep 15, 2023 13:15
Online
English
Basic
Parallel Programming
Code Optimization
GPU Programming
OpenMP
Back to list
Good knowlegde any of C/C++/Fortran and familiarity with usual OpenMP programming is sufficient for the OpenMP part. For Data Parallel C++/SYCL knowlegde of C++11 or later is recommended (C++17 very much faciliates SYCL2020 programming).
Learn more about course curricula and content levels.
Intel staff.
After this course, participants will:
The preliminary agenda is as follows. All times are CEST.
09:00
09:10
Welcome and Introduction to Day 1
09:30
oneAPI – Introduction to a new Development Environment - Concept and oneAPI Standardization initiative - Intel’s Tools Implementation – Intel oneAPI Toolkits and libs - Transition from Intel Parallel Studio XE to Intel oneAPI toolkits
09:50
Introduction to the DevCloud - Purpose: Demoing, testing and porting applications - Hardware and Software offerings - How to onboard & how to get an DevCloud account
10:00
Break
11:00
Direct programming with oneAPI Compilers (Part 1) – with Demos - Intro to heterogenous programming model with SYCL 2020 - SYCL features and examples o “Hello World” Example o Device Selection o Execution Model
11:15
12:30
Direct programming with oneAPI Compilers (Part 2) – with Demos o Compilation and Execution Flow o Memory Model; Buffers, Unified Shared Memory (USM) o Performance optimizations with SYCL features
Day 2
Intel OpenMP for Offloading – with Demos - Parallelizing heterogenous applications with OpenMP 5.1 - Mixing of OpenMP and SYCL
10:35
Intel oneAPI libraries (oneMKL) for HPC - with demos - Performance optimized libraries for numerical simulations and other purposes
10:50
11:20
Intel Debugging Tools for heterogenous programming ( CPU, GPU ) - with demos
12:00
Open Source Compatibility tool for porting purposes (SYCLomatic) - with demo - Migration Cuda based GPU Applications to SYCL
Dynamic Debugging with Intel Inspector - with demos - Identifying Memory and Threading Errors (Data Races and Deadlocks)
Day 3
10:10
Application profiling for heterogenous hardware - Demos - Profiling Tools Interfaces for GPU - Open Source lightweight Tools - Profile heterogenous SYCL/OpenMP Workloads with Intel VTune Profiler - Share experiences/key findings with Gromacs related porting and optimization efforts
10:20
11:30
Application profiling for heterogenous hardware - Demos - Estimate performance potential gains with Offload Advisor (CPU -> HW Accelerator) - Analyse heterogenous SYCL/OpenMP Workloads with Intel Advisor and Roofline analysis
11:40
12:40
TBA
12:45
13:10
Programming for Distributed HPC Systems using Intel MPI
13:15
- Questions and Answers - Wrap up
In the course only demonstrations will be shown. However, we will also show how to access Intel's DevCloud where participants can explore and work on the examples given themself in the afternoon.
Register via the button at the top of this page (will be available soon).
Registration closes on August 30, 2023.
This course is free of charge.
Our course fee includes coffee breaks (in classroom courses only).
Tobias Haas phone 0711 685 87223, tobias.haas(at)hlrs.de
HLRS is part of the Gauss Centre for Supercomputing (GCS), together with JSC in Jülich and LRZ in Garching near Munich. EuroCC@GCS is the German National Competence Centre (NCC) for High-Performance Computing. HLRS is also a member of the Baden-Württemberg initiative bwHPC.
See the training overview and the Supercomputing Academy pages.
June 12 - 13, 2023
June 15 - 16, 2023
June 19 - 23, 2023
Stuttgart, Germany
July 11 - 13, 2023
August 16 - 24, 2023
Online by ETH
September 11 - October 13, 2023
September 25 - 28, 2023
October 16 - 20, 2023
November 06 - 10, 2023
Hybrid Event - Stuttgart, Germany