1
1

Tuned collectives works only for at least 2 processes. We have the self module

for the other cases.

This commit was SVN r12271.
Этот коммит содержится в:
George Bosilca 2006-10-23 22:28:56 +00:00
родитель b848a5ad06
Коммит d7d3f9e486
2 изменённых файлов: 8 добавлений и 9 удалений

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

@ -222,14 +222,6 @@ int ompi_coll_tuned_reduce_intra_dec_fixed( void *sendbuf, void *recvbuf,
return (err);
}
/* handle special case when size == 1 */
if( 1 == comsize ) {
if( sendbuf != MPI_IN_PLACE ) {
ompi_ddt_copy_content_same_ddt( datatype, count, (char*)recvbuf, (char*)sendbuf );
}
return MPI_SUCCESS;
}
msgsize = dsize * count; /* needed for decision */
/* for small messages use linear algorithm */

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

@ -259,7 +259,6 @@ ompi_coll_tuned_comm_query(struct ompi_communicator_t *comm, int *priority,
* and if using fixed OR dynamic rule sets.
* Right now you cannot mix them, maybe later on it can be changed
* but this would probably add an extra if and funct call to the path
*
*/
if (OMPI_COMM_IS_INTER(comm)) {
@ -271,6 +270,14 @@ ompi_coll_tuned_comm_query(struct ompi_communicator_t *comm, int *priority,
to_use = &inter_fixed;
}
} else { /* is an intra comm */
/**
* If the communicator size is less than 2 we have specialized modules
* to handle the intra collective communications.
*/
if( ompi_comm_size(comm) < 2) {
*priority = 0;
return NULL;
}
if (ompi_coll_tuned_use_dynamic_rules) {
OPAL_OUTPUT((ompi_coll_tuned_stream,"coll:tuned:module_query using intra_dynamic"));
to_use = &intra_dynamic;