Skip to content

Commit 04d198f

Browse files
committed
coll/tuned: don't select algorithms knowing when it's clear they would fall back to linear
Bcast: scatter_allgather and scatter_allgather_ring expect N_elem >= N_procs Allreduce: rabenseifner expects N_elem >= pow2 nearest to N_procs In all cases, the implementations will fall back to a linear implementation, which will most likely yield the worst performance (noted for 4B bcast on 128 ranks) Signed-off-by: Joseph Schuchart <[email protected]>
1 parent 7261255 commit 04d198f

File tree

1 file changed

+3
-9
lines changed

1 file changed

+3
-9
lines changed

ompi/mca/coll/tuned/coll_tuned_decision_fixed.c

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
44
* University Research and Technology
55
* Corporation. All rights reserved.
6-
* Copyright (c) 2004-2015 The University of Tennessee and The University
6+
* Copyright (c) 2004-2020 The University of Tennessee and The University
77
* of Tennessee Research Foundation. All rights
88
* reserved.
99
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@@ -567,9 +567,7 @@ int ompi_coll_tuned_bcast_intra_dec_fixed(void *buff, int count,
567567
* {9, "scatter_allgather_ring"},
568568
*/
569569
if (communicator_size < 4) {
570-
if (total_dsize < 2) {
571-
alg = 9;
572-
} else if (total_dsize < 32) {
570+
if (total_dsize < 32) {
573571
alg = 3;
574572
} else if (total_dsize < 256) {
575573
alg = 5;
@@ -591,9 +589,7 @@ int ompi_coll_tuned_bcast_intra_dec_fixed(void *buff, int count,
591589
alg = 5;
592590
}
593591
} else if (communicator_size < 8) {
594-
if (total_dsize < 2) {
595-
alg = 8;
596-
} else if (total_dsize < 64) {
592+
if (total_dsize < 64) {
597593
alg = 5;
598594
} else if (total_dsize < 128) {
599595
alg = 6;
@@ -639,8 +635,6 @@ int ompi_coll_tuned_bcast_intra_dec_fixed(void *buff, int count,
639635
} else if (communicator_size < 256) {
640636
if (total_dsize < 2) {
641637
alg = 6;
642-
} else if (total_dsize < 128) {
643-
alg = 8;
644638
} else if (total_dsize < 16384) {
645639
alg = 5;
646640
} else if (total_dsize < 32768) {

0 commit comments

Comments
 (0)