1
1

fix a couple of bugs. Recursive doubling seems to be working.

This commit was SVN r17777.
Этот коммит содержится в:
Rich Graham 2008-03-07 02:51:38 +00:00
родитель eb1dfaf4d5
Коммит c230b65543

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

@ -359,7 +359,6 @@ int mca_coll_sm2_allreduce_intra_recursive_doubling(void *sbuf, void *rbuf,
extra_ctl_pointer; extra_ctl_pointer;
mca_coll_sm2_module_t *sm_module; mca_coll_sm2_module_t *sm_module;
sm_module=(mca_coll_sm2_module_t *) module; sm_module=(mca_coll_sm2_module_t *) module;
/* get size of data needed - same layout as user data, so that /* get size of data needed - same layout as user data, so that
@ -454,8 +453,7 @@ int mca_coll_sm2_allreduce_intra_recursive_doubling(void *sbuf, void *rbuf,
ctl_size; ctl_size;
/* wait until remote data is read */ /* wait until remote data is read */
while(! while( extra_ctl_pointer->flag < tag ) {
( extra_ctl_pointer->flag == tag ) ) {
opal_progress(); opal_progress();
} }
@ -519,12 +517,9 @@ int mca_coll_sm2_allreduce_intra_recursive_doubling(void *sbuf, void *rbuf,
} }
/* reduce data into my write buffer */ /* reduce data into my write buffer */
rc=ompi_ddt_copy_content_same_ddt(dtype, count_this_stripe, /* apply collective operation */
(char *)my_write_pointer, ompi_op_reduce(op,(void *)partner_read_pointer,
(char *)partner_read_pointer); (void *)my_write_pointer, count_this_stripe,dtype);
if( 0 != rc ) {
return OMPI_ERROR;
}
/* signal that I am done reading my peer's data */ /* signal that I am done reading my peer's data */
tag++; tag++;