[Openmp-commits] [openmp] 4763e87 - Revert "[OpenMP] [OMPT] [3/8] Implemented callback registration in libomptarget"

Dhruva Chakrabarti via Openmp-commits openmp-commits at lists.llvm.org
Thu Dec 1 22:02:33 PST 2022


Author: Dhruva Chakrabarti
Date: 2022-12-01T22:01:54-08:00
New Revision: 4763e877f7202b2ff70d01370b0a0caffd4f539b

URL: https://github.com/llvm/llvm-project/commit/4763e877f7202b2ff70d01370b0a0caffd4f539b
DIFF: https://github.com/llvm/llvm-project/commit/4763e877f7202b2ff70d01370b0a0caffd4f539b.diff

LOG: Revert "[OpenMP] [OMPT] [3/8] Implemented callback registration in libomptarget"

This reverts commit 2b234ce3f07caea605df730ca0b33f22c419582f.

Added: 
    

Modified: 
    openmp/libomptarget/src/ompt_callback.cpp

Removed: 
    openmp/libomptarget/include/ompt_device_callbacks.h


################################################################################
diff  --git a/openmp/libomptarget/include/ompt_device_callbacks.h b/openmp/libomptarget/include/ompt_device_callbacks.h
deleted file mode 100644
index 6697c4d833f75..0000000000000
--- a/openmp/libomptarget/include/ompt_device_callbacks.h
+++ /dev/null
@@ -1,64 +0,0 @@
-//===--------- ompt_device_callbacks.h - OMPT callbacks -- C++ ----------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// Interface used by both target-independent and device-dependent runtimes
-// to coordinate registration and invocation of OMPT callbacks
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _OMPT_DEVICE_CALLBACKS_H
-#define _OMPT_DEVICE_CALLBACKS_H
-
-#ifdef OMPT_SUPPORT
-
-#include <omp-tools.h>
-
-#define FOREACH_OMPT_TARGET_CALLBACK(macro)                                    \
-  FOREACH_OMPT_DEVICE_EVENT(macro)                                             \
-  FOREACH_OMPT_NOEMI_EVENT(macro)                                              \
-  FOREACH_OMPT_EMI_EVENT(macro)
-
-/// Internal representation for OMPT device callback functions.
-class OmptDeviceCallbacksTy {
-public:
-  /// Initialize the enabled flag and all the callbacks
-  void init() {
-    Enabled = false;
-#define initName(Name, Type, Code) Name##_fn = 0;
-    FOREACH_OMPT_TARGET_CALLBACK(initName)
-#undef initName
-  }
-
-  /// Used to register callbacks. \p Lookup is used to query a given callback
-  /// by name and the result is assigned to the corresponding callback function.
-  void registerCallbacks(ompt_function_lookup_t Lookup) {
-    Enabled = true;
-#define OmptBindCallback(Name, Type, Code)                                     \
-  Name##_fn = (Name##_t)Lookup(#Name);                                         \
-  DP("OMPT: class bound %s=%p\n", #Name, ((void *)(uint64_t)Name##_fn));
-
-    FOREACH_OMPT_TARGET_CALLBACK(OmptBindCallback);
-#undef OmptBindCallback
-  }
-
-private:
-  /// Set to true if callbacks for this library have been initialized
-  bool Enabled;
-
-  /// Callback functions
-#define DeclareName(Name, Type, Code) Name##_t Name##_fn;
-  FOREACH_OMPT_TARGET_CALLBACK(DeclareName)
-#undef DeclareName
-};
-
-/// Device callbacks object for the library that performs the instantiation
-extern OmptDeviceCallbacksTy OmptDeviceCallbacks;
-
-#endif // OMPT_SUPPORT
-
-#endif // _OMPT_DEVICE_CALLBACKS_H

diff  --git a/openmp/libomptarget/src/ompt_callback.cpp b/openmp/libomptarget/src/ompt_callback.cpp
index 99e2e7d469867..4928951668caa 100644
--- a/openmp/libomptarget/src/ompt_callback.cpp
+++ b/openmp/libomptarget/src/ompt_callback.cpp
@@ -19,15 +19,12 @@
 
 #include "omp-tools.h"
 #include "ompt_connector.h"
-#include "ompt_device_callbacks.h"
 #include "private.h"
 
 #define fnptr_to_ptr(x) ((void *)(uint64_t)x)
 
 /// Used to indicate whether OMPT was enabled for this library
 bool ompt_enabled = false;
-/// Object maintaining all the callbacks for this library
-OmptDeviceCallbacksTy OmptDeviceCallbacks;
 
 /// This is the function called by the higher layer (libomp) responsible
 /// for initializing OMPT in this library. This is passed to libomp
@@ -40,11 +37,7 @@ static int ompt_libomptarget_initialize(ompt_function_lookup_t lookup,
                                         ompt_data_t *tool_data) {
   DP("enter ompt_libomptarget_initialize!\n");
   ompt_enabled = true;
-  // The lookup parameter is provided by libomp which already has the
-  // tool callbacks registered at this point. The registration call
-  // below causes the same callback functions to be registered in
-  // libomptarget as well
-  OmptDeviceCallbacks.registerCallbacks(lookup);
+  // TODO use the parameters to populate callbacks in libomptarget
   DP("exit ompt_libomptarget_initialize!\n");
   return 0;
 }
@@ -75,9 +68,6 @@ __attribute__((constructor(102))) static void ompt_init(void) {
   OmptResult.finalize = ompt_libomptarget_finalize;
   OmptResult.tool_data.value = 0;
 
-  // Initialize the device callbacks first
-  OmptDeviceCallbacks.init();
-
   // Now call connect that causes the above init/fini functions to be called
   LibompConnector.connect(&OmptResult);
   DP("OMPT: Exit ompt_init\n");


        


More information about the Openmp-commits mailing list