[Openmp-commits] [openmp] r303101 - Fix for KMP_AFFINITY=respect with multiple processor groups

Jonathan Peyton via Openmp-commits openmp-commits at lists.llvm.org
Mon May 15 12:06:00 PDT 2017


Author: jlpeyton
Date: Mon May 15 14:05:59 2017
New Revision: 303101

URL: http://llvm.org/viewvc/llvm-project?rev=303101&view=rev
Log:
Fix for KMP_AFFINITY=respect with multiple processor groups

An assert() was being tripped when KMP_AFFINITY=respect + Multiple Processor
Groups. Let __kmp_affinity_create_proc_group_map() function be able to create
address2os object which contains a single group by deleting restriction that
process affinity mask must span multiple groups.

Modified:
    openmp/trunk/runtime/src/kmp_affinity.cpp

Modified: openmp/trunk/runtime/src/kmp_affinity.cpp
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/kmp_affinity.cpp?rev=303101&r1=303100&r2=303101&view=diff
==============================================================================
--- openmp/trunk/runtime/src/kmp_affinity.cpp (original)
+++ openmp/trunk/runtime/src/kmp_affinity.cpp Mon May 15 14:05:59 2017
@@ -682,10 +682,9 @@ static int __kmp_affinity_create_proc_gr
   *address2os = NULL;
   *msg_id = kmp_i18n_null;
 
-  // If we don't have multiple processor groups, return now.
+  // If we aren't affinity capable, then return now.
   // The flat mapping will be used.
-  if ((!KMP_AFFINITY_CAPABLE()) ||
-      (__kmp_get_proc_group(__kmp_affin_fullMask) >= 0)) {
+  if (!KMP_AFFINITY_CAPABLE()) {
     // FIXME set *msg_id
     return -1;
   }




More information about the Openmp-commits mailing list