X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d18e615eaa617d3354bc22dfbe711d34be9f902..14c4d40b625501275e7ec6eccd6f92f659316f85:/src/smpi/colls/bcast-arrival-nb.c diff --git a/src/smpi/colls/bcast-arrival-nb.c b/src/smpi/colls/bcast-arrival-nb.c index 9ff27b4607..e1de48c623 100644 --- a/src/smpi/colls/bcast-arrival-nb.c +++ b/src/smpi/colls/bcast-arrival-nb.c @@ -10,7 +10,7 @@ int smpi_coll_tuned_bcast_arrival_nb(void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm) { - int tag = 50; + int tag = -COLL_TAG_BCAST; MPI_Status status; MPI_Request request; MPI_Request *send_request_array; @@ -27,7 +27,7 @@ int smpi_coll_tuned_bcast_arrival_nb(void *buf, int count, int header_index; int flag_array[MAX_NODE]; int already_sent[MAX_NODE]; - + int to_clean[MAX_NODE]; int header_buf[HEADER_SIZE]; char temp_buf[MAX_NODE]; @@ -70,6 +70,7 @@ int smpi_coll_tuned_bcast_arrival_nb(void *buf, int count, /* value == 0 means root has not send data (or header) to the node yet */ for (i = 0; i < MAX_NODE; i++) { already_sent[i] = 0; + to_clean[i]=0; } // printf("YYY\n"); @@ -123,6 +124,7 @@ int smpi_coll_tuned_bcast_arrival_nb(void *buf, int count, smpi_mpi_send(buf, count, datatype, i, tag, comm); already_sent[i] = 1; sent_count++; + to_clean[i]=0; break; } } @@ -130,6 +132,9 @@ int smpi_coll_tuned_bcast_arrival_nb(void *buf, int count, } /* while loop */ + + for(i=0; i