It is not simple, but it is scalable, meaning in the limit of large N, the memory will be constant on<br>each processor. When it is created, the VecScatter objects mapping global to local vecs are created.<br><br>  Matt<br>
<br><div class="gmail_quote">On Sun, Nov 22, 2009 at 8:29 PM, Denis Teplyashin <span dir="ltr">&lt;<a href="mailto:denist@al.com.au">denist@al.com.au</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi guys,<br>
<br>
I&#39;m a bit confused with distributed array memory consumption. I did a simple test like this one:<br>
 ierr = DACreate3d(PETSC_COMM_WORLD, DA_NONPERIODIC, DA_STENCIL_BOX, 1000, 1000, 1000, PETSC_DECIDE, PETSC_DECIDE, PETSC_DECIDE, 1, 1, PETSC_NULL, PETSC_NULL, PETSC_NULL , &amp;da);<br>
and then checked memory with PetscMemoryGetCurrentUsage and PetscMemoryGetMaximumUsage. Running this test using mpi on one core gives me this result: current usage 3818Mb and maximum usage 7633Mb. And this is the result after creating just a DA without actual vectors. Running the same test on two cores gives me even more interesting result: rank 0 - 9552/11463Mb and rank 1 - 5735/5732Mb.<br>

Is it what i should expect in general or am i doing something wrong? Is there a simple formula which could show how much memory i would need to allocate and array with given resolution?<br>
<br>
Thanks in advance,<br><font color="#888888">
Denis<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener<br>