Files
rocm-systems/source/include/rocprofiler-sdk/openmp/api_id.h
T
Larry Meadows 62e0a9c1a3 SDK: OMPT Support part 1: include file and print formatters for OMPT support (#1175)
* include file and print formatters for OMPT support

* Apply suggestions from code review

* Remove rocprofiler_ompt_set_callbacks

* Reorder ROCPROFILER_EXTERNAL_CORRELATION_REQUEST_OPENMP

---------

Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2024-11-05 23:57:11 -06:00

68 lines
2.9 KiB
C

// MIT License
//
// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
#pragma once
/**
* @brief ROCProfiler enumeration of OPENMP (OpenMP tools) tracing operations
* NOTE: These are callbacks into the ROCProfiler SDK from the vendor-provided OMPT implementation
*/
typedef enum // NOLINT(performance-enum-size)
{
ROCPROFILER_OPENMP_ID_NONE = -1,
ROCPROFILER_OPENMP_ID_thread_begin = 0,
ROCPROFILER_OPENMP_ID_thread_end,
ROCPROFILER_OPENMP_ID_parallel_begin,
ROCPROFILER_OPENMP_ID_parallel_end,
ROCPROFILER_OPENMP_ID_task_create,
ROCPROFILER_OPENMP_ID_task_schedule,
ROCPROFILER_OPENMP_ID_implicit_task,
ROCPROFILER_OPENMP_ID_device_initialize,
ROCPROFILER_OPENMP_ID_device_finalize,
ROCPROFILER_OPENMP_ID_device_load,
ROCPROFILER_OPENMP_ID_device_unload,
ROCPROFILER_OPENMP_ID_sync_region_wait,
ROCPROFILER_OPENMP_ID_mutex_released,
ROCPROFILER_OPENMP_ID_dependences,
ROCPROFILER_OPENMP_ID_task_dependence,
ROCPROFILER_OPENMP_ID_work,
ROCPROFILER_OPENMP_ID_masked,
ROCPROFILER_OPENMP_ID_sync_region,
ROCPROFILER_OPENMP_ID_lock_init,
ROCPROFILER_OPENMP_ID_lock_destroy,
ROCPROFILER_OPENMP_ID_mutex_acquire,
ROCPROFILER_OPENMP_ID_mutex_acquired,
ROCPROFILER_OPENMP_ID_nest_lock,
ROCPROFILER_OPENMP_ID_flush,
ROCPROFILER_OPENMP_ID_cancel,
ROCPROFILER_OPENMP_ID_reduction,
ROCPROFILER_OPENMP_ID_dispatch,
ROCPROFILER_OPENMP_ID_target_emi,
ROCPROFILER_OPENMP_ID_target_data_op_emi,
ROCPROFILER_OPENMP_ID_target_submit_emi,
ROCPROFILER_OPENMP_ID_target_map_emi,
ROCPROFILER_OPENMP_ID_error,
ROCPROFILER_OPENMP_ID_callback_functions, // fake to return struct of ompt callback function
// pointers
ROCPROFILER_OPENMP_ID_LAST
} rocprofiler_ompt_operation_t;