Re: [Libmesh-devel] MPI-2 one sided operations

2013-09-28 Thread Kirk, Benjamin (JSC-EG311)
On Sep 28, 2013, at 7:59 PM, Jed Brown wrote: > "Kirk, Benjamin (JSC-EG311)" writes: > >> MPI_Win_create (&recv_buf[0], recv_buf.size()*sizeof(unsigned int), >> sizeof(unsigned int), >>MPI_INFO_NULL, MPI_COMM_WORLD, >>&win); > > In practice, this is implemen

Re: [Libmesh-devel] MPI-2 one sided operations

2013-09-28 Thread Jed Brown
"Kirk, Benjamin (JSC-EG311)" writes: > MPI_Win_create (&recv_buf[0], recv_buf.size()*sizeof(unsigned int), > sizeof(unsigned int), > MPI_INFO_NULL, MPI_COMM_WORLD, > &win); In practice, this is implemented using something like an MPI_Allreduce with 3*int*comm_s

[Libmesh-devel] MPI-2 one sided operations

2013-09-28 Thread Kirk, Benjamin (JSC-EG311)
So I finally started to look into these… Pretty powerful for the unknown communication partner problem. Check out the attached. Note that the MPI_Put() is inside a loop over all processors, but it need not be. There are a lot of places we *know* we don't have any data to send to another proce