Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
don't set knomial factor for reduce, have it be computed at runtime
authorAugustin Degomme <augustin.degomme@imag.fr>
Tue, 16 Sep 2014 12:44:45 +0000 (14:44 +0200)
committerAugustin Degomme <augustin.degomme@imag.fr>
Wed, 17 Sep 2014 14:57:00 +0000 (16:57 +0200)
src/smpi/colls/reduce-mvapich-knomial.c
src/smpi/colls/smpi_mvapich2_selector_stampede.h

index c5dc908..be7f303 100644 (file)
  
 #include "colls_private.h"
 extern int mv2_reduce_intra_knomial_factor;
+extern int mv2_reduce_inter_knomial_factor;
+
+#define SMPI_DEFAULT_KNOMIAL_FACTOR 4
+
 //        int mv2_reduce_knomial_factor = 2;
         
         
@@ -154,6 +158,15 @@ int smpi_coll_tuned_reduce_mvapich2_knomial (
     }
 
 
+    if(mv2_reduce_intra_knomial_factor<0)
+      {
+        mv2_reduce_intra_knomial_factor = SMPI_DEFAULT_KNOMIAL_FACTOR;
+      }
+    if(mv2_reduce_inter_knomial_factor<0)
+      {
+        mv2_reduce_inter_knomial_factor = SMPI_DEFAULT_KNOMIAL_FACTOR;
+      }
+
 
     MPIR_Reduce_knomial_trace(root, mv2_reduce_intra_knomial_factor, comm, 
            &dst, &expected_send_count, &expected_recv_count, &src_array);
index 65796c2..d982400 100644 (file)
@@ -1259,8 +1259,8 @@ int mv2_size_reduce_tuning_table = 0;
 mv2_reduce_tuning_table *mv2_reduce_thresholds_table = NULL;
 
 
-int mv2_reduce_intra_knomial_factor = 2;
-int mv2_reduce_inter_knomial_factor = 2;
+int mv2_reduce_intra_knomial_factor = -1;
+int mv2_reduce_inter_knomial_factor = -1;
 
 int (*MV2_Reduce_function)( void *sendbuf,
     void *recvbuf,