OpenMP* Offload Basics

Learn the fundamentals of using OpenMP* offload directives to target GPUs through hands-on practice in this guided learning path.

Start Learning OpenMP Offload

Get hands-on practice with code samples in Jupyter Notebooks running live on Intel DevCloud.

Intel® DevCloud   Sign Up   Sign In

To get started:

  1. Sign in to Intel DevCloud, select One Click Log In for JupyterLab, select Launch Server (if needed), and then from the launcher, select Terminal.
  2. At the command prompt, enter /data/oneapi_workshop/, and then press Enter.
  3. If you are unfamiliar with using Jupyter Notebooks, open the oneAPI_Essentials folder, and then select 00_Introduction_to_Jupyter to open the folder.
  4. For the OpenMP offload notebooks, open the omp_offload_jupyter_notebook folder, and then select OpenMP Welcome.ipynb.

Introduction to JupyterLab and Notebooks

Use Jupyter Notebooks to modify and run code as part of learning exercises.

To begin, open Introduction_to_Jupyter.ipnyb.

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

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

  • Explain basic GPU architecture.
  • Use OpenMP offload work-sharing constructs to fully utilize the GPU.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at