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

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


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

[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!
Please always send the whole error trace. I have updated petsc-dev so the sizes are not incorrectly truncated like you see here. Are you sure you have built a 64-bit executable (run "file your-executable")?
 This might be the problem, it occurs it is 32 bit, tried to compile with -m64 though  but got 

/usr/bin/ld: skipping incompatible .../petsc-3.1-p8/linux-gnu-c-debug/lib/libpetsc.a when searching for -lpetsc



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);
Is this in parallel? How many processors? Does the name "Dinv" imply that this matrix is supposed to be the inverse of something? Why are you assembling without putting anything in the matrix?



where n = 39459925
How many nonzeros per row?

I try to run in on single processor right now. Yes, Dinv is supposed to be an inverse of a diagonal matrix (1 nnz/row)



Made it sparse and the app went on but stopped a bit further on next allocation, problem is the 32 bit build while it should be 64 but I cant get it right.

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


More information about the petsc-users mailing list