forked from OSchip/llvm-project
Improve OMPT initialization code
Use of #ifdef OMPT_DEBUG was causing messages to be generated under normal operation when the OpenMP library was compiled with KMP_DEBUG enabled. Elsewhere, KMP_DEBUG evaluates assertions, but never produces messages during normal operation. To avoid this inconsistency, set OMPT_DEBUG using a cmake variable LIBOMP_OMPT_DEBUG. While I was editing the associated ompt-specific.h and ompt-general.c files, make the spacing and comments consistent. Patch by John Mellor-Crummey Differential Revision: http://reviews.llvm.org/D14355 llvm-svn: 252173
This commit is contained in:
parent
27149cf32d
commit
95246e7def
|
@ -273,6 +273,8 @@ if(LIBOMP_STATS)
|
|||
endif()
|
||||
|
||||
# OMPT-support
|
||||
set(LIBOMP_OMPT_DEBUG FALSE CACHE BOOL
|
||||
"Trace OMPT initialization?")
|
||||
set(LIBOMP_OMPT_SUPPORT FALSE CACHE BOOL
|
||||
"OMPT-support?")
|
||||
set(LIBOMP_OMPT_BLAME TRUE CACHE BOOL
|
||||
|
|
|
@ -35,6 +35,8 @@
|
|||
#define KMP_STATS_ENABLED LIBOMP_STATS
|
||||
#cmakedefine01 LIBOMP_USE_DEBUGGER
|
||||
#define USE_DEBUGGER LIBOMP_USE_DEBUGGER
|
||||
#cmakedefine01 LIBOMP_OMPT_DEBUG
|
||||
#define OMPT_DEBUG LIBOMP_OMPT_DEBUG
|
||||
#cmakedefine01 LIBOMP_OMPT_SUPPORT
|
||||
#define OMPT_SUPPORT LIBOMP_OMPT_SUPPORT
|
||||
#cmakedefine01 LIBOMP_OMPT_BLAME
|
||||
|
|
|
@ -134,31 +134,31 @@ ompt_initialize_t ompt_tool_windows()
|
|||
#if OMPT_DEBUG
|
||||
printf("ompt_tool_windows(): looking for ompt_tool\n");
|
||||
#endif
|
||||
if( !EnumProcessModules( process, modules, NUM_MODULES * sizeof(HMODULE),
|
||||
&needed ) ) {
|
||||
if (!EnumProcessModules( process, modules, NUM_MODULES * sizeof(HMODULE),
|
||||
&needed)) {
|
||||
// Regardless of the error reason use the stub initialization function
|
||||
free(modules);
|
||||
return NULL;
|
||||
}
|
||||
// Check if NUM_MODULES is enough to list all modules
|
||||
new_size = needed / sizeof(HMODULE);
|
||||
if( new_size > NUM_MODULES ) {
|
||||
if (new_size > NUM_MODULES) {
|
||||
#if OMPT_DEBUG
|
||||
printf("ompt_tool_windows(): resize buffer to %d bytes\n", needed);
|
||||
#endif
|
||||
modules = (HMODULE*)realloc( modules, needed );
|
||||
// If resizing failed use the stub function.
|
||||
if( !EnumProcessModules( process, modules, needed, &needed ) ) {
|
||||
if (!EnumProcessModules(process, modules, needed, &needed)) {
|
||||
free(modules);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
for( i = 0; i < new_size; ++i ) {
|
||||
for (i = 0; i < new_size; ++i) {
|
||||
(FARPROC &)ompt_tool_p = GetProcAddress(modules[i], "ompt_tool");
|
||||
if( ompt_tool_p ) {
|
||||
if (ompt_tool_p) {
|
||||
#if OMPT_DEBUG
|
||||
TCHAR modName[MAX_PATH];
|
||||
if( GetModuleFileName(modules[i], modName, MAX_PATH))
|
||||
if (GetModuleFileName(modules[i], modName, MAX_PATH))
|
||||
printf("ompt_tool_windows(): ompt_tool found in module %s\n",
|
||||
modName);
|
||||
#endif
|
||||
|
@ -168,7 +168,7 @@ ompt_initialize_t ompt_tool_windows()
|
|||
#if OMPT_DEBUG
|
||||
else {
|
||||
TCHAR modName[MAX_PATH];
|
||||
if( GetModuleFileName(modules[i], modName, MAX_PATH) )
|
||||
if (GetModuleFileName(modules[i], modName, MAX_PATH))
|
||||
printf("ompt_tool_windows(): ompt_tool not found in module %s\n",
|
||||
modName);
|
||||
}
|
||||
|
@ -228,7 +228,7 @@ void ompt_pre_init()
|
|||
break;
|
||||
}
|
||||
#if OMPT_DEBUG
|
||||
printf("ompt_pre_init():ompt_enabled = %d\n", ompt_enabled);
|
||||
printf("ompt_pre_init(): ompt_enabled = %d\n", ompt_enabled);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -3,8 +3,18 @@
|
|||
|
||||
#include "kmp.h"
|
||||
|
||||
/*****************************************************************************
|
||||
* types
|
||||
****************************************************************************/
|
||||
|
||||
typedef kmp_info_t ompt_thread_t;
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* forward declarations
|
||||
****************************************************************************/
|
||||
|
||||
void __ompt_team_assign_id(kmp_team_t *team, ompt_parallel_id_t ompt_pid);
|
||||
void __ompt_thread_assign_wait_id(void *variable);
|
||||
|
||||
|
@ -34,15 +44,17 @@ ompt_task_id_t __ompt_get_task_id_internal(int depth);
|
|||
ompt_frame_t *__ompt_get_task_frame_internal(int depth);
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* macros
|
||||
****************************************************************************/
|
||||
#define OMPT_DEBUG KMP_DEBUG
|
||||
|
||||
#define OMPT_HAVE_WEAK_ATTRIBUTE KMP_HAVE_WEAK_ATTRIBUTE
|
||||
#define OMPT_HAVE_PSAPI KMP_HAVE_PSAPI
|
||||
#define OMPT_STR_MATCH(haystack, needle) __kmp_str_match(haystack, 0, needle)
|
||||
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
// inline functions
|
||||
//******************************************************************************
|
||||
|
|
Loading…
Reference in New Issue