OpenMP Trace

Nsight Systems is capable of capturing information about OpenMP events. This functionality is built on the OpenMP Tools Interface (OMPT), full support is available only for OpenMP 5.0 or greater.

As an example, if you use PGI compiler 20.1 with LLVM OpenMP runtime to build your OpenMP applications, add -mp=libomp switch to enable OMPT based tracing.

OpenMP trace selection

Only a subset of OpenMP events are traced. These are limited to the following:

ompt_callback_parallel_begin
ompt_callback_parallel_end
ompt_callback_sync_region
ompt_callback_task_create
ompt_callback_task_schedule
ompt_callback_implicit_task
ompt_callback_master
ompt_callback_reduction
ompt_callback_task_create
ompt_callback_cancel
ompt_callback_mutex_acquire, ompt_callback_mutex_acquired
ompt_callback_mutex_acquired, ompt_callback_mutex_released
ompt_callback_mutex_released
ompt_callback_work
ompt_callback_dispatch
ompt_callback_flush

Note: These raw OMPT events are processed and reorganized by Nsight Systems to be more user-friendly. You may not see exact same events from the list.

Example screenshot:

OpenMP API trace


Copyright (c) 2012-2020, NVIDIA Corporation. All rights reserved.