Modifying reduce decision function for large, single element reduces (again).
Binary algorithm without segmentation tends to outperform binomial algorithm in this case. This commit was SVN r15226.
Этот коммит содержится в:
родитель
9687f70aea
Коммит
8fc8b44d11
@ -351,12 +351,12 @@ int ompi_coll_tuned_reduce_intra_dec_fixed( void *sendbuf, void *recvbuf,
|
|||||||
if ((communicator_size < 8) && (message_size < 512)){
|
if ((communicator_size < 8) && (message_size < 512)){
|
||||||
/* Linear_0K */
|
/* Linear_0K */
|
||||||
return ompi_coll_tuned_reduce_intra_basic_linear (sendbuf, recvbuf, count, datatype, op, root, comm);
|
return ompi_coll_tuned_reduce_intra_basic_linear (sendbuf, recvbuf, count, datatype, op, root, comm);
|
||||||
} else if (((communicator_size < 8) && (message_size < 20480)) ||
|
} else if ((communicator_size < 8) && (message_size < 20480)) {
|
||||||
(count <= 1)){
|
|
||||||
/* Binomial_0K */
|
/* Binomial_0K */
|
||||||
segsize = 0;
|
segsize = 0;
|
||||||
return ompi_coll_tuned_reduce_intra_binomial(sendbuf, recvbuf, count, datatype, op, root, comm, segsize, max_requests);
|
return ompi_coll_tuned_reduce_intra_binomial(sendbuf, recvbuf, count, datatype, op, root, comm, segsize, max_requests);
|
||||||
} else if (message_size < 2048) {
|
} else if ((message_size < 2048) ||
|
||||||
|
(count <= 1)){
|
||||||
/* Binary_0K */
|
/* Binary_0K */
|
||||||
segsize = 0;
|
segsize = 0;
|
||||||
return ompi_coll_tuned_reduce_intra_binary(sendbuf, recvbuf, count, datatype, op, root, comm, segsize, max_requests);
|
return ompi_coll_tuned_reduce_intra_binary(sendbuf, recvbuf, count, datatype, op, root, comm, segsize, max_requests);
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user