[Openmp-commits] [openmp] r319374 - Warning is emitted when tiles are requested but cannot be used

Jonathan Peyton via Openmp-commits openmp-commits at lists.llvm.org
Wed Nov 29 14:27:18 PST 2017


Author: jlpeyton
Date: Wed Nov 29 14:27:18 2017
New Revision: 319374

URL: http://llvm.org/viewvc/llvm-project?rev=319374&view=rev
Log:
Warning is emitted when tiles are requested but cannot be used

Added two warnings:
1) Before building the topology map check if tiles are requested but the
   topo method is not hwloc;
2) After building the topology map check if tiles are requested but not
   detected by the library.

Patch by Olga Malysheva

Differential Revision: https://reviews.llvm.org/D40340

Modified:
    openmp/trunk/runtime/src/i18n/en_US.txt
    openmp/trunk/runtime/src/kmp_affinity.cpp

Modified: openmp/trunk/runtime/src/i18n/en_US.txt
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/i18n/en_US.txt?rev=319374&r1=319373&r2=319374&view=diff
==============================================================================
--- openmp/trunk/runtime/src/i18n/en_US.txt (original)
+++ openmp/trunk/runtime/src/i18n/en_US.txt Wed Nov 29 14:27:18 2017
@@ -38,7 +38,7 @@ Language "English"
 Country  "USA"
 LangId   "1033"
 Version  "2"
-Revision "20170327"
+Revision "20170523"
 
 
 
@@ -325,6 +325,8 @@ StgIgnored                   "%1$s: igno
                                  # %1, -- name of ignored variable, %2 -- name of variable with higher priority.
 OBSOLETE                     "%1$s: overrides %3$s specified before"
                                  # %1, %2 -- name and value of the overriding variable, %3 -- name of overriden variable.
+AffTilesNoHWLOC              "%1$s: Tiles are only supported if KMP_TOPOLOGY_METHOD=hwloc, using granularity=package instead"
+AffTilesNoTiles              "%1$s: Tiles requested but were not detected on this HW, using granularity=package instead"
 OmptOutdatedWorkshare        "OMPT: Cannot determine workshare type; using the default (loop) instead. "
                              "This issue is fixed in an up-to-date compiler."
 

Modified: openmp/trunk/runtime/src/kmp_affinity.cpp
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/kmp_affinity.cpp?rev=319374&r1=319373&r2=319374&view=diff
==============================================================================
--- openmp/trunk/runtime/src/kmp_affinity.cpp (original)
+++ openmp/trunk/runtime/src/kmp_affinity.cpp Wed Nov 29 14:27:18 2017
@@ -3849,6 +3849,13 @@ static void __kmp_aux_affinity_initializ
     }
   }
 
+  if (__kmp_affinity_gran == affinity_gran_tile &&
+      // check if user's request is valid
+      __kmp_affinity_dispatch->get_api_type() == KMPAffinity::NATIVE_OS) {
+    KMP_WARNING(AffTilesNoHWLOC, "KMP_AFFINITY");
+    __kmp_affinity_gran = affinity_gran_package;
+  }
+
   int depth = -1;
   kmp_i18n_id_t msg_id = kmp_i18n_null;
 
@@ -4115,6 +4122,11 @@ static void __kmp_aux_affinity_initializ
     return;
   }
 
+  if (__kmp_affinity_gran == affinity_gran_tile && __kmp_tile_depth == 0) {
+    // tiles requested but not detected, warn user on this
+    KMP_WARNING(AffTilesNoTiles, "KMP_AFFINITY");
+  }
+
   __kmp_apply_thread_places(&address2os, depth);
 
   // Create the table of masks, indexed by thread Id.




More information about the Openmp-commits mailing list