help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mpi 1.1.1 released


From: c.
Subject: Re: mpi 1.1.1 released
Date: Mon, 6 Jan 2014 18:17:26 +0100

On 6 Jan 2014, at 12:03, c. <address@hidden> wrote:

> 
> On 5 Jan 2014, at 16:31, Sukanta Basu <address@hidden> wrote:
> 
>> Hi Carlo,
>> 
>> I ran the code for ~100,000 steps. I do not see any leak. I did the 
>> following:
>> 
>> 1. mkoctfile prova.cc
>> 2. octave < memory_test.m
>> 
>> Do you think you are getting closer to resolve this issue?
> 
> I'm just trying to convert your script to something more portable (i.e., that 
> I can run on my mac)
> as on BSD/Darwin there is no simple equivalent of the 'free' command ...
> 
>> Cheers,
>> Sukanta
> c.

Hi Sukanta,

I think I got a clue of what could be the problem:

In order to send/receive arrays what is currently done is to create a derived 
contigous datatype

        MPI_Datatype fortvec;                                           
        MPI_Type_contiguous (nitem, TSnd, &fortvec);                    
        MPI_Type_commit (&fortvec);

Then the array data is sent via

        info =  MPI_Send (LBNDA1, 1, fortvec, rankrec_ptr[i], tanktag[4], comm);

Once the communication is done, the datatype should be cleared with

        MPI_Type_free (&fortvec);

but this latter call seems to be missing. 
The leak is very small (1 word per message being sent), but over a long number 
of iterations 
this may be causing (at least part) of the memory usage you reported.

I see two possible fixes:

 * add a call to MPI_Type_free for each MPI_Type_commit in the code
 * get rid of the derived datatype and use 

       MPI_Send (LBNDA1, nitem, TSnd, rankrec_ptr[i], tanktag[4], comm);
   
   instead

The modified version of the package in the attachment implements the latter 
option,
could you please check whether it works any better for you?

Does anyone see a good reason to prefer the former strategy of creating a 
derived
contiguous datatype each type an array is sent?

c.

Attachment: mpi.tgz
Description: Binary data



reply via email to

[Prev in Thread] Current Thread [Next in Thread]