Re: [OMPI users] Bug: Disabled mpi_leave_pinned for GPUDirect and InfiniBand during run-time caused by GCC optimizations

2015-06-09 Thread Gilles Gouaillardet
i wrote a reproducer i sent to the GCC folks https://gcc.gnu.org/ml/gcc-bugs/2015-06/msg00757.html Cheers, Gilles On Tue, Jun 9, 2015 at 3:20 AM, Jeff Squyres (jsquyres) wrote: > On Jun 8, 2015, at 11:27 AM, Dave Goodell (dgoodell) > wrote: >> >> My

Re: [OMPI users] Bug: Disabled mpi_leave_pinned for GPUDirect and InfiniBand during run-time caused by GCC optimizations

2015-06-08 Thread Jeff Squyres (jsquyres)
On Jun 8, 2015, at 11:27 AM, Dave Goodell (dgoodell) wrote: > > My suggestion is to try to create a small reproducer program that we can send > to the GCC folks with the claim that we believe it to be a buggy > optimization. Then we can see whether they agree and if not,

Re: [OMPI users] Bug: Disabled mpi_leave_pinned for GPUDirect and InfiniBand during run-time caused by GCC optimizations

2015-06-08 Thread Dave Goodell (dgoodell)
On Jun 5, 2015, at 8:47 PM, Gilles Gouaillardet wrote: > i did not use the term "pure" properly. > > please read instead "posix_memalign is a function that does not modify any > user variable" > that assumption is correct when there is no wrapper, and incorrect

Re: [OMPI users] Bug: Disabled mpi_leave_pinned for GPUDirect and InfiniBand during run-time caused by GCC optimizations

2015-06-05 Thread Gilles Gouaillardet
i did not use the term "pure" properly. please read instead "posix_memalign is a function that does not modify any user variable" that assumption is correct when there is no wrapper, and incorrect in our case. On Saturday, June 6, 2015, George Bosilca wrote: > Based on the

Re: [OMPI users] Bug: Disabled mpi_leave_pinned for GPUDirect and InfiniBand during run-time caused by GCC optimizations

2015-06-05 Thread George Bosilca
Based on the definition of a pure function, two calls to the same pure function with the same arguments should return the same value. This is obviously never true for posix_memalign. I suggest we take a look at the generated code, and based on that we decide how to move forward on this.

Re: [OMPI users] Bug: Disabled mpi_leave_pinned for GPUDirect and InfiniBand during run-time caused by GCC optimizations

2015-06-04 Thread Gilles Gouaillardet
Jeff, imho, this is a grey area ... 99.999% of the time, posix_memalign is a "pure" function. "pure" means it has no side effects. unfortunatly, this part of the code is the 0.001% case in which we explicitly rely on a side effect (e.g. posix_memalign calls an Open MPI wrapper that updates a

Re: [OMPI users] Bug: Disabled mpi_leave_pinned for GPUDirect and InfiniBand during run-time caused by GCC optimizations

2015-06-04 Thread Jeff Squyres (jsquyres)
On Jun 4, 2015, at 5:48 AM, René Oertel wrote: > > Problem description: > === > > The critical code in question is in > opal/mca/memory/linux/memory_linux_ptmalloc2.c: > # > 92 #if HAVE_POSIX_MEMALIGN > 93 /* Double check for

[OMPI users] Bug: Disabled mpi_leave_pinned for GPUDirect and InfiniBand during run-time caused by GCC optimizations

2015-06-04 Thread René Oertel
Dear Open MPI developers and users, if I'm not totally wrong then I found a bug in the Open MPI ptmalloc2 memory module in combination with recent GCC code optimizations. Affected Open MPI releases: == All (non-debug) releases using the