[petsc-users] multiplication of large matrices using MatMatMult

Jed Brown jedbrown at mcs.anl.gov
Mon Jan 2 17:24:44 CST 2012


On Mon, Jan 2, 2012 at 17:16, Reza Madankan <rm93 at buffalo.edu> wrote:

> I am trying to compose a covariance matrix which is of size 72576 x 72576,
> by multiplication of a vector and its transpose, i.e.
>
> MatMatMult(Ypcq,YpcqT,MAT_INITIAL_MATRIX,PETSC_DEFAULT,&InnProd)
>
> where, Ypcq is a vector with 72576 elements and YpcqT is its transpose.
>

This matrix is dense, right? Would you consider something less than the
full covariance matrix, such as a low rank approximation?


> Unfortunately Petsc returns out of memory message while running the code:
>
>
> [0]PETSC ERROR: --------------------- Error Message
> ------------------------------------
> [0]PETSC ERROR: Out of memory. This could be due to allocating
> [0]PETSC ERROR: too large an object or bleeding by not properly
> [0]PETSC ERROR: destroying unneeded objects.
> [0]PETSC ERROR: Memory allocated 0 Memory used by process 15732801536
> [0]PETSC ERROR: Try running with -malloc_dump or -malloc_log for info.
> [0]PETSC ERROR: Memory requested 18446744068420534272!
>

These huge numbers indicate memory corruption somewhere. I suggest running
a smaller problem size under Valgrind.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120102/7566215c/attachment.htm>


More information about the petsc-users mailing list