brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.7 KiB · 21809ef Raw
155 lines · c
1/*2 * ompd-specific.h -- OpenMP debug support3 */4 5//===----------------------------------------------------------------------===//6//7// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.8// See https://llvm.org/LICENSE.txt for license information.9// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception10//11//===----------------------------------------------------------------------===//12 13#include "kmp.h"14#include "omp-tools.h"15#include <stdint.h>16 17#ifndef __OMPD_SPECIFIC_H__18#define __OMPD_SPECIFIC_H__19 20#if OMPD_SUPPORT21 22void ompd_init();23 24#ifdef __cplusplus25extern "C" {26#endif27extern char *ompd_env_block;28extern ompd_size_t ompd_env_block_size;29extern char *__kmp_tool_verbose_init;30#ifdef __cplusplus31} /* extern "C" */32#endif33 34extern uint64_t ompd_state;35#define OMPD_ENABLE_BP 0x136 37#define OMPD_FOREACH_ACCESS(OMPD_ACCESS)                                       \38  OMPD_ACCESS(kmp_base_info_t, th_current_task)                                \39  OMPD_ACCESS(kmp_base_info_t, th_team)                                        \40  OMPD_ACCESS(kmp_base_info_t, th_info)                                        \41  OMPD_ACCESS(kmp_base_info_t, ompt_thread_info)                               \42                                                                               \43  OMPD_ACCESS(kmp_base_root_t, r_in_parallel)                                  \44                                                                               \45  OMPD_ACCESS(kmp_base_team_t, ompt_team_info)                                 \46  OMPD_ACCESS(kmp_base_team_t, ompt_serialized_team_info)                      \47  OMPD_ACCESS(kmp_base_team_t, t_active_level)                                 \48  OMPD_ACCESS(kmp_base_team_t, t_implicit_task_taskdata)                       \49  OMPD_ACCESS(kmp_base_team_t, t_master_tid)                                   \50  OMPD_ACCESS(kmp_base_team_t, t_nproc)                                        \51  OMPD_ACCESS(kmp_base_team_t, t_level)                                        \52  OMPD_ACCESS(kmp_base_team_t, t_parent)                                       \53  OMPD_ACCESS(kmp_base_team_t, t_pkfn)                                         \54  OMPD_ACCESS(kmp_base_team_t, t_threads)                                      \55                                                                               \56  OMPD_ACCESS(kmp_desc_t, ds)                                                  \57                                                                               \58  OMPD_ACCESS(kmp_desc_base_t, ds_thread)                                      \59  OMPD_ACCESS(kmp_desc_base_t, ds_tid)                                         \60                                                                               \61  OMPD_ACCESS(kmp_info_t, th)                                                  \62                                                                               \63  OMPD_ACCESS(kmp_r_sched_t, r_sched_type)                                     \64  OMPD_ACCESS(kmp_r_sched_t, chunk)                                            \65                                                                               \66  OMPD_ACCESS(kmp_root_t, r)                                                   \67                                                                               \68  OMPD_ACCESS(kmp_internal_control_t, dynamic)                                 \69  OMPD_ACCESS(kmp_internal_control_t, max_active_levels)                       \70  OMPD_ACCESS(kmp_internal_control_t, nproc)                                   \71  OMPD_ACCESS(kmp_internal_control_t, proc_bind)                               \72  OMPD_ACCESS(kmp_internal_control_t, sched)                                   \73  OMPD_ACCESS(kmp_internal_control_t, default_device)                          \74  OMPD_ACCESS(kmp_internal_control_t, thread_limit)                            \75                                                                               \76  OMPD_ACCESS(kmp_taskdata_t, ompt_task_info)                                  \77  OMPD_ACCESS(kmp_taskdata_t, td_flags)                                        \78  OMPD_ACCESS(kmp_taskdata_t, td_icvs)                                         \79  OMPD_ACCESS(kmp_taskdata_t, td_parent)                                       \80  OMPD_ACCESS(kmp_taskdata_t, td_team)                                         \81                                                                               \82  OMPD_ACCESS(kmp_task_t, routine)                                             \83                                                                               \84  OMPD_ACCESS(kmp_team_p, t)                                                   \85                                                                               \86  OMPD_ACCESS(kmp_nested_nthreads_t, used)                                     \87  OMPD_ACCESS(kmp_nested_nthreads_t, nth)                                      \88                                                                               \89  OMPD_ACCESS(kmp_nested_proc_bind_t, used)                                    \90  OMPD_ACCESS(kmp_nested_proc_bind_t, bind_types)                              \91                                                                               \92  OMPD_ACCESS(ompt_task_info_t, frame)                                         \93  OMPD_ACCESS(ompt_task_info_t, scheduling_parent)                             \94  OMPD_ACCESS(ompt_task_info_t, task_data)                                     \95                                                                               \96  OMPD_ACCESS(ompt_team_info_t, parallel_data)                                 \97                                                                               \98  OMPD_ACCESS(ompt_thread_info_t, state)                                       \99  OMPD_ACCESS(ompt_thread_info_t, wait_id)                                     \100  OMPD_ACCESS(ompt_thread_info_t, thread_data)                                 \101                                                                               \102  OMPD_ACCESS(ompt_data_t, value)                                              \103  OMPD_ACCESS(ompt_data_t, ptr)                                                \104                                                                               \105  OMPD_ACCESS(ompt_frame_t, exit_frame)                                        \106  OMPD_ACCESS(ompt_frame_t, enter_frame)                                       \107                                                                               \108  OMPD_ACCESS(ompt_lw_taskteam_t, parent)                                      \109  OMPD_ACCESS(ompt_lw_taskteam_t, ompt_team_info)                              \110  OMPD_ACCESS(ompt_lw_taskteam_t, ompt_task_info)111 112#define OMPD_FOREACH_BITFIELD(OMPD_BITFIELD)                                   \113  OMPD_BITFIELD(kmp_tasking_flags_t, final)                                    \114  OMPD_BITFIELD(kmp_tasking_flags_t, tiedness)                                 \115  OMPD_BITFIELD(kmp_tasking_flags_t, tasktype)                                 \116  OMPD_BITFIELD(kmp_tasking_flags_t, task_serial)                              \117  OMPD_BITFIELD(kmp_tasking_flags_t, tasking_ser)                              \118  OMPD_BITFIELD(kmp_tasking_flags_t, team_serial)                              \119  OMPD_BITFIELD(kmp_tasking_flags_t, started)                                  \120  OMPD_BITFIELD(kmp_tasking_flags_t, executing)                                \121  OMPD_BITFIELD(kmp_tasking_flags_t, complete)                                 \122  OMPD_BITFIELD(kmp_tasking_flags_t, freed)                                    \123  OMPD_BITFIELD(kmp_tasking_flags_t, native)124 125#define OMPD_FOREACH_SIZEOF(OMPD_SIZEOF)                                       \126  OMPD_SIZEOF(kmp_info_t)                                                      \127  OMPD_SIZEOF(kmp_taskdata_t)                                                  \128  OMPD_SIZEOF(kmp_task_t)                                                      \129  OMPD_SIZEOF(kmp_tasking_flags_t)                                             \130  OMPD_SIZEOF(kmp_thread_t)                                                    \131  OMPD_SIZEOF(ompt_data_t)                                                     \132  OMPD_SIZEOF(ompt_id_t)                                                       \133  OMPD_SIZEOF(__kmp_avail_proc)                                                \134  OMPD_SIZEOF(__kmp_max_nth)                                                   \135  OMPD_SIZEOF(__kmp_stksize)                                                   \136  OMPD_SIZEOF(__kmp_omp_cancellation)                                          \137  OMPD_SIZEOF(__kmp_max_task_priority)                                         \138  OMPD_SIZEOF(__kmp_display_affinity)                                          \139  OMPD_SIZEOF(__kmp_affinity_format)                                           \140  OMPD_SIZEOF(__kmp_tool_libraries)                                            \141  OMPD_SIZEOF(__kmp_tool_verbose_init)                                         \142  OMPD_SIZEOF(__kmp_tool)                                                      \143  OMPD_SIZEOF(ompd_state)                                                      \144  OMPD_SIZEOF(kmp_nested_nthreads_t)                                           \145  OMPD_SIZEOF(__kmp_nested_nth)                                                \146  OMPD_SIZEOF(kmp_nested_proc_bind_t)                                          \147  OMPD_SIZEOF(__kmp_nested_proc_bind)                                          \148  OMPD_SIZEOF(int)                                                             \149  OMPD_SIZEOF(char)                                                            \150  OMPD_SIZEOF(__kmp_gtid)                                                      \151  OMPD_SIZEOF(__kmp_nth)152 153#endif /* OMPD_SUPPORT */154#endif155