Yes, opening an issue would be great so that we can track this. Thank you!
> On May 9, 2017, at 2:32 PM, Dahai Guo <dahai....@gmail.com> wrote: > > Hi, George: > > any progress on it? an issue should be opened in github? or you already > opened one? > > Dahai > > On Fri, May 5, 2017 at 1:27 PM, George Bosilca <bosi...@icl.utk.edu> wrote: > Indeed, our current implementation of the MPI_Sendrecv_replace prohibits the > use of MPI_ANY_SOURCE. Will work a patch later today. > > George. > > > On Fri, May 5, 2017 at 11:49 AM, Dahai Guo <dahai....@gmail.com> wrote: > The following code causes memory fault problem. The initial check shows that > it seemed caused by ompi_comm_peer_lookup with MPI_ANY_SOURCE, which somehow > messed up the allocated temporary buffer used in SendRecv. > > any idea? > > Dahai > > #include <mpi.h> > #include <stdio.h> > #include <stdlib.h> > #include <limits.h> > #include <sys/types.h> > #include <errno.h> > #include <unistd.h> > #include <values.h> > > int main(int argc, char *argv[]) { > > int local_rank; > int numtask, myrank; > int count; > > MPI_Status status; > > long long *msg_sizes_vec; > long long *mpi_buf; > long long host_buf[4]; > > int send_tag; > int recv_tag; > int malloc_size; > int dest; > > MPI_Init(&argc,&argv); > > MPI_Comm_rank(MPI_COMM_WORLD, &myrank); > fprintf(stdout,"my RanK is %d\n",myrank); > > MPI_Comm_size(MPI_COMM_WORLD, &numtask); > fprintf(stdout,"Num Task is %d\n",numtask); > > malloc_size=32; > count = malloc_size / sizeof(long long); > dest = (myrank+1)%2; > fprintf(stdout,"my dest is %d\n",dest); > > > host_buf[0] = 100 + myrank; > host_buf[1] = 200 + myrank; > host_buf[2] = 300 + myrank; > host_buf[3] = 400 + myrank; > > fprintf(stdout,"BEFORE %lld %lld %lld %lld > \n",host_buf[0],host_buf[1],host_buf[2],host_buf[3]); > fflush(stdout); > fprintf(stdout,"Doing sendrecv_replace with host buffer\n"); > fflush(stdout); > > MPI_Sendrecv_replace ( host_buf, > count, > MPI_LONG_LONG, > dest, > myrank, > MPI_ANY_SOURCE, > dest, > MPI_COMM_WORLD, > &status); > > fprintf(stdout,"Back from doing sendrecv_replace with host buffer\n"); > fprintf(stdout,"AFTER %lld %lld %lld %lld > \n",host_buf[0],host_buf[1],host_buf[2],host_buf[3]); > fflush(stdout); > > > MPI_Finalize(); > exit(0); > } > > > _______________________________________________ > devel mailing list > devel@lists.open-mpi.org > https://rfd.newmexicoconsortium.org/mailman/listinfo/devel > > > _______________________________________________ > devel mailing list > devel@lists.open-mpi.org > https://rfd.newmexicoconsortium.org/mailman/listinfo/devel > > _______________________________________________ > devel mailing list > devel@lists.open-mpi.org > https://rfd.newmexicoconsortium.org/mailman/listinfo/devel -- Jeff Squyres jsquy...@cisco.com _______________________________________________ devel mailing list devel@lists.open-mpi.org https://rfd.newmexicoconsortium.org/mailman/listinfo/devel