[Openmp-commits] [PATCH] D40949: [OMPT] Add missing ompt_get_num_procs function

Phabricator via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Dec 21 06:37:24 PST 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL321269: [OMPT] Add missing ompt_get_num_procs function (authored by jprotze, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D40949?vs=125951&id=127876#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D40949

Files:
  openmp/trunk/runtime/src/include/50/ompt.h.var
  openmp/trunk/runtime/src/ompt-general.cpp
  openmp/trunk/runtime/test/ompt/callback.h
  openmp/trunk/runtime/test/ompt/misc/api_calls.c


Index: openmp/trunk/runtime/src/ompt-general.cpp
===================================================================
--- openmp/trunk/runtime/src/ompt-general.cpp
+++ openmp/trunk/runtime/src/ompt-general.cpp
@@ -491,6 +491,15 @@
 }
 
 /*****************************************************************************
+ * num_procs
+ ****************************************************************************/
+
+OMPT_API_ROUTINE int ompt_get_num_procs(void) {
+// copied from kmp_ftn_entry.h (but modified: OMPT can only be called when runtime is initialized)
+  return __kmp_avail_proc;
+}
+
+/*****************************************************************************
  * places
  ****************************************************************************/
 
Index: openmp/trunk/runtime/src/include/50/ompt.h.var
===================================================================
--- openmp/trunk/runtime/src/include/50/ompt.h.var
+++ openmp/trunk/runtime/src/include/50/ompt.h.var
@@ -32,6 +32,7 @@
     macro (ompt_get_thread_data)            \
     macro (ompt_get_unique_id)              \
                                             \
+    macro(ompt_get_num_procs)               \
     macro(ompt_get_num_places)              \
     macro(ompt_get_place_proc_ids)          \
     macro(ompt_get_place_num)               \
@@ -582,6 +583,9 @@
     int *thread_num
 ));
 
+/* procs */
+OMPT_API_FUNCTION(int, ompt_get_num_procs, (void));
+
 /* places */
 OMPT_API_FUNCTION(int, ompt_get_num_places, (void));
 
Index: openmp/trunk/runtime/test/ompt/misc/api_calls.c
===================================================================
--- openmp/trunk/runtime/test/ompt/misc/api_calls.c
+++ openmp/trunk/runtime/test/ompt/misc/api_calls.c
@@ -43,6 +43,9 @@
 
     printf("%" PRIu64 ": sched_getcpu()=%d\n", ompt_get_thread_data()->value, sched_getcpu());
     printf("%" PRIu64 ": ompt_get_proc_id()=%d\n", ompt_get_thread_data()->value, ompt_get_proc_id());
+
+    printf("%" PRIu64 ": omp_get_num_procs()=%d\n", ompt_get_thread_data()->value, omp_get_num_procs());
+    printf("%" PRIu64 ": ompt_get_num_procs()=%d\n", ompt_get_thread_data()->value, ompt_get_num_procs());
   }
 
   // Check if libomp supports the callbacks for this test.
@@ -61,6 +64,9 @@
   // CHECK: {{^}}[[MASTER_ID]]: sched_getcpu()=[[CPU_ID:[0-9]+]]
   // CHECK: {{^}}[[MASTER_ID]]: ompt_get_proc_id()=[[CPU_ID]]
 
+  // CHECK: {{^}}[[MASTER_ID]]: omp_get_num_procs()=[[NUM_PROCS:[-]?[0-9]+]]
+  // CHECK: {{^}}[[MASTER_ID]]: ompt_get_num_procs()=[[NUM_PROCS]]
+
 
   return 0;
 }
Index: openmp/trunk/runtime/test/ompt/callback.h
===================================================================
--- openmp/trunk/runtime/test/ompt/callback.h
+++ openmp/trunk/runtime/test/ompt/callback.h
@@ -37,6 +37,7 @@
 static ompt_get_thread_data_t ompt_get_thread_data;
 static ompt_get_parallel_info_t ompt_get_parallel_info;
 static ompt_get_unique_id_t ompt_get_unique_id;
+static ompt_get_num_procs_t ompt_get_num_procs;
 static ompt_get_num_places_t ompt_get_num_places;
 static ompt_get_place_proc_ids_t ompt_get_place_proc_ids;
 static ompt_get_place_num_t ompt_get_place_num;
@@ -684,6 +685,7 @@
   ompt_get_parallel_info = (ompt_get_parallel_info_t) lookup("ompt_get_parallel_info");
   ompt_get_unique_id = (ompt_get_unique_id_t) lookup("ompt_get_unique_id");
 
+  ompt_get_num_procs = (ompt_get_num_procs_t) lookup("ompt_get_num_procs");
   ompt_get_num_places = (ompt_get_num_places_t) lookup("ompt_get_num_places");
   ompt_get_place_proc_ids = (ompt_get_place_proc_ids_t) lookup("ompt_get_place_proc_ids");
   ompt_get_place_num = (ompt_get_place_num_t) lookup("ompt_get_place_num");


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40949.127876.patch
Type: text/x-patch
Size: 3676 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20171221/d7d9c239/attachment.bin>


More information about the Openmp-commits mailing list