diff --git a/ompi/mca/coll/sm2/coll_sm2_module.c b/ompi/mca/coll/sm2/coll_sm2_module.c index 41f9e59ddf..ac3861c89c 100644 --- a/ompi/mca/coll/sm2/coll_sm2_module.c +++ b/ompi/mca/coll/sm2/coll_sm2_module.c @@ -517,7 +517,7 @@ static int init_sm2_barrier(struct ompi_communicator_t *comm, module->current_request_index=0; /* set starting collective tag */ - module->collective_tag=1; + module->collective_tag=2; /* return - successful */ return OMPI_SUCCESS; @@ -921,6 +921,9 @@ mca_coll_sm2_comm_query(struct ompi_communicator_t *comm, int *priority) (char *)base_buffer+ /* offset to data segment for the j'th proc */ j*size_data_buff_per_proc; + /* debug */ + sm_module->sm_buffer_descriptor[i].proc_memory[j].control_region->flag=1; + /* end debug */ } } diff --git a/ompi/mca/coll/sm2/coll_sm2_reduce.c b/ompi/mca/coll/sm2/coll_sm2_reduce.c index 1281d49c2e..d120ced482 100644 --- a/ompi/mca/coll/sm2/coll_sm2_reduce.c +++ b/ompi/mca/coll/sm2/coll_sm2_reduce.c @@ -20,6 +20,10 @@ extern uint64_t timers[7]; end debug */ +/* debug */ +#include +extern void debug_module(void); +/* end debug */ @@ -96,6 +100,9 @@ int mca_coll_sm2_reduce_intra_fanin(void *sbuf, void *rbuf, int count, * for atomic update of the tag */ tag=sm_module->collective_tag; sm_module->collective_tag++; + /* debug */ + assert(tag); + /* end debug */ /* get a pointer to the shared-memory working buffer */ sm_buffer_desc=alloc_sm2_shared_buffer(sm_module); @@ -138,6 +145,14 @@ int mca_coll_sm2_reduce_intra_fanin(void *sbuf, void *rbuf, int count, child_data_pointer= sm_buffer_desc->proc_memory[child_rank].data_segment; + /* debug */ + if( 0 == child_ctl_pointer->flag ) { + fprintf(stderr,"TTT 2 count %d root %d child_rank %d \n", + count,root,child_rank); + debug_module(); + } +/* assert(child_ctl_pointer->flag); */ + /* end debug */ /* wait until child flag is set */ while(child_ctl_pointer->flag != tag) { opal_progress(); @@ -179,6 +194,14 @@ int mca_coll_sm2_reduce_intra_fanin(void *sbuf, void *rbuf, int count, sm_buffer_desc->proc_memory[child_rank].data_segment; /* wait until child flag is set */ + /* debug */ + if( 0 == child_ctl_pointer->flag ) { + fprintf(stderr,"TTT 3 count %d root %d child_rank \n", + count,root,child_rank); + debug_module(); + } +/* assert(child_ctl_pointer->flag); */ + /* end debug */ while(child_ctl_pointer->flag != tag) { opal_progress(); } @@ -284,6 +307,14 @@ int mca_coll_sm2_reduce_intra_fanin(void *sbuf, void *rbuf, int count, sm_buffer_desc->proc_memory[child_rank].data_segment; /* wait until child flag is set */ + /* debug */ + if( 0 == child_ctl_pointer->flag ) { + fprintf(stderr,"TTT 1 count %d root %d child_rank %d \n", + count,root,child_rank); + debug_module(); + } +/* assert(child_ctl_pointer->flag); */ + /* end debug */ while(child_ctl_pointer->flag != tag) { opal_progress(); }