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

2013-09-30 Thread Jed Brown
"Kirk, Benjamin (JSC-EG311)" writes: > Jed, does the PETSc team have any experience with the NBC algorithm > deadlocking with OpenMPI-1.7? > > I know they don't officially advertise MPI_Ibarrier(), but it is there... I've had problems with other things in the past, but I don't recall this speci

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

2013-09-30 Thread Kirk, Benjamin (JSC-EG311)
Jed, does the PETSc team have any experience with the NBC algorithm deadlocking with OpenMPI-1.7? I know they don't officially advertise MPI_Ibarrier(), but it is there... See https://github.com/benkirk/mpi_playground.git - I've implemented the nonblocking consensus & it seems to work reliably

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