The fix for this bug is in the 1.2 branch as of r19360, and will be in the
upcoming 1.2.7 release.

On Sun, Aug 17, 2008 at 6:10 PM, George Bosilca <bosi...@eecs.utk.edu> wrote:
> Dave,
>
> Thanks for your report. As you discovered we had a memory leak in the
> MPI_Alltoallw. A very small one, but it was there. Basically, we didn't
> release two internal arrays of data-types, used to convert from the Fortran
> data-types (as supplied by the user) to their C version (as required by the
> implementation of the alltoallw function).
>
> The good news is that this should not a problem anymore. Commit 19314 fix
> this for the trunk, while commit 19315 fix it for the upcoming 1.3.
>
>  Thanks again for your report.
>    george.
>
> On Aug 7, 2008, at 1:21 AM, Dave Grote wrote:
>
>>
>> Hi,
>> I've been enhancing my code and have started using the nice routine
>> alltoallw. The code works fine except that there seems to be a memory leak
>> in alltoallw. I've eliminated all other possible causes and have reduced the
>> code down to a bare minimum. I've included fortran source code which
>> produces the problem. This code just keeps calling alltoallw, but with all
>> of the send and receive counts set to zero, so it shouldn't be doing
>> anything. And yet I can watch the memory continue to grow. As a sanity
>> check, I change the code to call alltoallv instead, and there is no memory
>> leak. If it helps, I am using OpenMPI on an AMD system running Chaos linux.
>> I tried the latest nightly build of version 1.3 from Aug 5. I run four
>> processors on one quad core node so it should be using shared memory
>> communication.
>>  Thanks!
>>    Dave
>>
>>    program testalltoallw
>>    real(kind=8):: phi(-3:3200+3)
>>    real(kind=8):: phi2(-3:3200+3)
>>    integer(4):: izproc,ii
>>    integer(4):: nzprocs
>>    integer(4):: zrecvtypes(0:3),zsendtypes(0:3)
>>    integer(4):: zsendcounts(0:3),zrecvcounts(0:3)
>>    integer(4):: zdispls(0:3)
>>    integer(4):: mpierror
>>    include "mpif.h"
>>    phi = 0.
>>
>>    call MPI_INIT(mpierror)
>>    call MPI_COMM_SIZE(MPI_COMM_WORLD,nzprocs,mpierror)
>>    call MPI_COMM_RANK(MPI_COMM_WORLD,izproc,mpierror)
>>
>>    zsendcounts=0
>>    zrecvcounts=0
>>    zdispls=0
>>    zdispls=0
>>    zsendtypes=MPI_DOUBLE_PRECISION
>>    zrecvtypes=MPI_DOUBLE_PRECISION
>>
>>    do ii=1,1000000000
>>      if (mod(ii,1000000_4) == 0) print*,"loop ",ii,izproc
>>
>>      call MPI_ALLTOALLW(phi,zsendcounts,zdispls,zsendtypes,
>>   &                     phi2,zrecvcounts,zdispls,zrecvtypes,
>>   &                     MPI_COMM_WORLD,mpierror)
>>
>>    enddo
>>    return
>>    end
>>
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>



-- 
Tim Mattox, Ph.D. - http://homepage.mac.com/tmattox/
 tmat...@gmail.com || timat...@open-mpi.org
 I'm a bright... http://www.the-brights.net/

Reply via email to