1
1

Updating reduce_scatter decision function based on MX results up to 64 nodes and both 1ppn and 2ppn

configurations.

This commit was SVN r13945.
Этот коммит содержится в:
Jelena Pjesivac-Grbovic 2007-03-07 00:38:33 +00:00
родитель 4b63631535
Коммит 0c07654c30

Просмотреть файл

@ -416,9 +416,12 @@ int ompi_coll_tuned_reduce_scatter_intra_dec_fixed( void *sbuf, void *rbuf,
struct ompi_op_t *op,
struct ompi_communicator_t *comm)
{
int comm_size, i;
int comm_size, i, pow2;
size_t total_message_size, dsize;
const size_t large_message_size = 512 * 1024;
const double a = 0.0012;
const double b = 8.0;
const size_t small_message_size = 12 * 1024;
const size_t large_message_size = 256 * 1024;
OPAL_OUTPUT((ompi_coll_tuned_stream, "ompi_coll_tuned_reduce_scatter_intra_dec_fixed"));
@ -438,7 +441,12 @@ int ompi_coll_tuned_reduce_scatter_intra_dec_fixed( void *sbuf, void *rbuf,
for (i = 0; i < comm_size; i++) { total_message_size += rcounts[i]; }
total_message_size *= dsize;
if (total_message_size <= large_message_size) {
/* compute the nearest power of 2 */
for (pow2 = 1; pow2 < comm_size; pow2 <<= 1);
if ((total_message_size <= small_message_size) ||
((total_message_size <= large_message_size) && (pow2 == comm_size)) ||
(comm_size >= a * total_message_size + b)) {
return
ompi_coll_tuned_reduce_scatter_intra_basic_recursivehalving(sbuf,
rbuf,