Intel oneAPI Base Training Modules
Learn the Essentials of oneAPI and SYCL*
Module 0
Introduction to JupyterLab* and Notebooks.
Learn to use Jupyter notebooks to modify and run code as part of learning exercises.
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.
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.
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.
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.
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.
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.
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
Module 0
Introduction to JupyterLab and Notebooks.
Learn to use Jupyter notebooks to modify and run code as part of learning exercises.
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.
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.
Module 3
OpenMP* Device Parallelism
- Explain basic GPU architecture.
- Use OpenMP offload work-sharing constructs to fully utilize the GPU.
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.