[Openmp-commits] [PATCH] D106515: [libomptarget][amdgpu][nfc] Drop dead signal pool setup

Jon Chesterfield via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Wed Jul 21 17:40:37 PDT 2021


JonChesterfield created this revision.
JonChesterfield added reviewers: jdoerfert, ronlieb, pdhaliwal, dpalermo, carlo.bertolli, tianshilei1992.
Herald added subscribers: kerbowa, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl.
JonChesterfield requested review of this revision.
Herald added subscribers: openmp-commits, wdng.
Herald added a project: OpenMP.

This class is instantiated once in rtl.cpp, before hsa_init is
called. The hsa_signal_create call therefore fails, leaving the pool empty.

This signal pool is a legacy from ATMI where it was constructed after hsa_init.
Moving the state into the rtl.cpp global class disabled the initial populating
of the pool, without noticably changing performance. Just rechecked with a fix
that allocates the signals after hsa_init and that also doesn't noticably
change performance.

This patch therefore drops the initialisation. Only change from main is to
drop a DEBUG_PRINT statement that would say the pool initial size is zero.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D106515

Files:
  openmp/libomptarget/plugins/amdgpu/impl/internal.h


Index: openmp/libomptarget/plugins/amdgpu/impl/internal.h
===================================================================
--- openmp/libomptarget/plugins/amdgpu/impl/internal.h
+++ openmp/libomptarget/plugins/amdgpu/impl/internal.h
@@ -99,21 +99,7 @@
 } // namespace core
 
 struct SignalPoolT {
-  SignalPoolT() {
-    // If no signals are created, and none can be created later,
-    // will ultimately fail at pop()
-
-    unsigned N = 1024; // default max pool size from atmi
-    for (unsigned i = 0; i < N; i++) {
-      hsa_signal_t new_signal;
-      hsa_status_t err = hsa_signal_create(0, 0, NULL, &new_signal);
-      if (err != HSA_STATUS_SUCCESS) {
-        break;
-      }
-      state.push(new_signal);
-    }
-    DEBUG_PRINT("Signal Pool Initial Size: %lu\n", state.size());
-  }
+  SignalPoolT() {}
   SignalPoolT(const SignalPoolT &) = delete;
   SignalPoolT(SignalPoolT &&) = delete;
   ~SignalPoolT() {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106515.360663.patch
Type: text/x-patch
Size: 928 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20210722/a460d640/attachment.bin>


More information about the Openmp-commits mailing list