[petsc-users] Matrix stored on many machines, filled by one process

Bartłomiej W bartlomiej.wach at yahoo.pl
Thu May 19 04:09:05 CDT 2011


The error is like:

[0]Total space allocated 2514,564,304 bytes
(...)
[0]PETSC ERROR: Memory allocated -2147483648 Memory used by process 1848942592
[0]PETSC ERROR: Memory requested 1578,397,300!

Caused by the code

  ierr = MatCreate(PETSC_COMM_WORLD,&Dinv);CHKERRQ(ierr);
  ierr = MatSetSizes(Dinv,PETSC_DECIDE,PETSC_DECIDE,n,n);CHKERRQ(ierr);
  ierr = MatSetFromOptions(Dinv);CHKERRQ(ierr);
  ierr = MatAssemblyBegin(Dinv,MAT_FINAL_ASSEMBLY);CHKERRQ(ierr);

where n = 39459925
Since it's second such matrix of this size in the code (first one gets enough memory)  and by watching the system resources I see that there should be enough memory to allocate this one initially, I wonder what might be wrong.


--- 19.5.11 (Czw), Jed Brown <jed at 59A2.org> napisał(a):

Od: Jed Brown <jed at 59A2.org>
Temat: Re: [petsc-users] Matrix stored on many machines, filled by one process
Do: "PETSc users list" <petsc-users at mcs.anl.gov>
Data: 19 Maj 2011 (Czwartek), 8:06

On Thu, May 19, 2011 at 09:54, Bartłomiej W <bartlomiej.wach at yahoo.pl> wrote:

I wanted to try a 64 bit system out and got the ubuntu with 2 GB RAM and additional 11 GB swap and still I get memory allocation error like this:

[0] Maximum memory PetscMalloc()ed 2,514,564,304 OS cannot compute size of entire process

This is in PetscMallocComputeLog() and is not really an error. It's really intended to be called when your program completes since the "maximum usage" is calculated when objects are destroyed instead of when they are allocated. (This could be handled better.) What is your code doing and what options are you running with?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110519/33c575bf/attachment.htm>


More information about the petsc-users mailing list