Intel oneAPI HPC Training Modules
Learn the Essentials of oneAPI and SYCL*
![Introduction to JupyterLab* and Notebooks. sample icon](/oneapi/static/images/png/btmdpc0.png)
Module 0
Introduction to JupyterLab* and Notebooks.
Learn to use Jupyter notebooks to modify and run code as part of learning exercises.
![Introduction to oneAPI and SYCL* sample icon](/oneapi/static/images/png/btmdpc1.png)
Module 1
Introduction to oneAPI and SYCL*
- Articulate how oneAPI can help to solve the challenges of programming in a heterogeneous world.
- Use oneAPI solutions to enable your workflows.
- Understand the SYCL* language and programming model.
- Become familiar with using Jupyter notebooks for training throughout the course.
![SYCL* Program Structure sample icon](/oneapi/static/images/png/btmdpc2.png)
Module 2
SYCL* Program Structure
- Articulate the SYCL* fundamental classes.
- Use device selection to offload kernel workloads.
- Decide when to use basic parallel kernels and ND Range Kernels.
- Create a host accessor.
- Build a sample SYCL* application through hands-on lab exercises.
![SYCL* Unified Shared Memory sample icon](/oneapi/static/images/jpg/btmdpc3.jpg)
Module 3
SYCL* Unified Shared Memory
- Use new SYCL* features like Unified Shared Memory (USM) to simplify programming.
- Understand implicit and explicit ways of moving memory using USM.
- Solve data dependency between kernel tasks in an optimal way.
![SYCL* Sub-Groups sample icon](/oneapi/static/images/jpg/btmdpc4.jpg)
Module 4
SYCL* Sub-Groups
- Understand advantages of using Sub-groups in SYCL*.
- Take advantage of Sub-group collectives in ND-Range kernel implementation.
- Use Sub-group Shuffle operations to avoid explicit memory operations.
![Demonstration of Intel® Advisor sample icon](/oneapi/static/images/png/btmdpc5.png)
Module 5
Demonstration of Intel® Advisor
- See how Offload Advisor¹ identifies and ranks parallelization opportunities for offload.
- Run Offload Advisor using command line syntax.
- Use performance models and analyze generated reports.
Offload Advisor is a feature of Intel Advisor installed as part of the Intel® oneAPI Base Toolkit.
![Intel® VTune™ Profiler on Intel® DevCloud sample icon](/oneapi/static/images/png/btmdpc6.png)
Module 6
Intel® VTune™ Profiler on Intel® DevCloud
- Profile a SYCL* application using Intel® VTune™ Profiler on Intel® DevCloud.
- Understand the basics of command line options in VTune Profiler to collect data and generate reports.
![Intel® DPC++ Library Utilization sample icon](/oneapi/static/images/png/btmdpc7.png)
Module 7
Intel® DPC++ Library Utilization
Maximize productivity with this companion to Intel® oneAPI DPC++ Compiler providing an alternative for C++ developers.
OpenMP* Offload Basics
![Introduction to JupyterLab and Notebooks. sample icon](/oneapi/static/images/png/btmom0.png)
Module 0
Introduction to JupyterLab and Notebooks.
Learn to use Jupyter notebooks to modify and run code as part of learning exercises.
![Introduction to OpenMP Offload. sample icon](/oneapi/static/images/png/btmom1.png)
Module 1
Introduction to OpenMP Offload.
Articulate how oneAPI can help solve the challenges of programming in a heterogeneous world.
- Use oneAPI solutions to enable your workflows.
- Use OpenMP Offload directives to execute code on the GPU.
- Become familiar with using Jupyter notebooks for training throughout the course.
![Manage Device Data sample icon](/oneapi/static/images/jpg/btmom2.jpg)
Module 2
Manage Device Data
Use OpenMP constructs to effectively manage data transfers to and from the device.
- Create a device data environment and map data to it.
- Map global variables to OpenMP devices.
![OpenMP* Device Parallelism sample icon](/oneapi/static/images/jpg/btmom3.jpg)
Module 3
OpenMP* Device Parallelism
- Explain basic GPU architecture.
- Use OpenMP offload work-sharing constructs to fully utilize the GPU.
![OpenMP* Unified Shared Memory sample icon](/oneapi/static/images/jpg/btmom4.jpg)
Module 4
OpenMP* Unified Shared Memory
- Use the Unified Shared Memory feature to simplify OpenMP* Offload programming.
- Understand implicit and explicit way of moving memory using USM.
* SYCL and the SYCL logo are trademarks of the Khronos Group Inc.