multiple rhs
Hong Zhang
hzhang at mcs.anl.gov
Thu Mar 12 20:24:36 CDT 2009
>
> What solver would I use to do a factorization of a dense parallel matrix w/
> plapack?
MAT_SOLVER_PLAPACK.
See ~petsc-3.0.0/src/mat/examples/tests/ex103.c
Hong
>
> I don't see a
>
> MPI_SOLVER_PLAPACK
>
> ?
>
>
>
>
>
> On Thu, 12 Mar 2009, Hong Zhang wrote:
>
>>
>>>>
>>>> Is MatCreateMPIDense the recommended matrix type to interface w/ mumps ?
>>>> Does it use a sparse direct storage or allocate the full n x n matrix?
>>>
>>>
>>> No, MUMPS is "sparse direct" so it uses MPIAIJ.
>>
>> For mpi dense matrix, you can use plapack
>>
>> Hong
>>>
>>>
>>>>
>>>> df
>>>>
>>>> On Thu, 12 Mar 2009, Matthew Knepley wrote:
>>>>
>>>> You can try using a sparse direct solver like MUMPS instead of PETSc LU.
>>>>>
>>>>> Matt
>>>>>
>>>>> On Thu, Mar 12, 2009 at 9:17 AM, David Fuentes <fuentesdt at gmail.com>
>>>>> wrote:
>>>>>
>>>>> Thanks Hong,
>>>>>>
>>>>>> The complete error message is attached. I think I just had too big
>>>>>> of a matrix. The matrix i'm trying to factor is 327680 x 327680
>>>>>>
>>>>>>
>>>>>> [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 2047323584 Memory used by process
>>>>>> 2074058752
>>>>>> [0]PETSC ERROR: Try running with -malloc_dump or -malloc_log for info.
>>>>>> [0]PETSC ERROR: Memory requested 1258466480!
>>>>>> [0]PETSC ERROR:
>>>>>>
>>>>>> ------------------------------------------------------------------------
>>>>>> [0]PETSC ERROR: Petsc Release Version 3.0.0, Patch 2, Wed Jan 14
>>>>>> 22:57:05
>>>>>> CST 2009
>>>>>> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
>>>>>> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>>>>> [0]PETSC ERROR: See docs/index.html for manual pages.
>>>>>> [0]PETSC ERROR:
>>>>>>
>>>>>> ------------------------------------------------------------------------
>>>>>> [0]PETSC ERROR: ./RealTimeImaging on a gcc-4.1.2 named DIPWS019 by
>>>>>> dfuentes
>>>>>> Wed Mar 11 20:30:37 2009
>>>>>> [0]PETSC ERROR: Libraries linked from
>>>>>> /usr/local/petsc/petsc-3.0.0-p2/gcc-4.1.2-mpich2-1.0.7-dbg/lib
>>>>>> [0]PETSC ERROR: Configure run at Sat Jan 31 06:53:09 2009
>>>>>> [0]PETSC ERROR: Configure options --download-f-blas-lapack=ifneeded
>>>>>> --with-mpi-dir=/usr/local --with-matlab=1 --with-matlab-engine=1
>>>>>> --with-matlab-dir=/usr/local/matlab2007a --CFLAGS=-fPIC --with-shared=0
>>>>>> [0]PETSC ERROR:
>>>>>>
>>>>>> ------------------------------------------------------------------------
>>>>>> [0]PETSC ERROR: PetscMallocAlign() line 61 in src/sys/memory/mal.c
>>>>>> [0]PETSC ERROR: PetscTrMallocDefault() line 194 in src/sys/memory/mtr.c
>>>>>> [0]PETSC ERROR: PetscFreeSpaceGet() line 14 in
>>>>>> src/mat/utils/freespace.c
>>>>>> [0]PETSC ERROR: MatLUFactorSymbolic_SeqAIJ() line 381 in
>>>>>> src/mat/impls/aij/seq/aijfact.c
>>>>>> [0]PETSC ERROR: MatLUFactorSymbolic() line 2289 in
>>>>>> src/mat/interface/matrix.c
>>>>>> [0]PETSC ERROR: KalmanFilter::DirectStateUpdate() line 456 in
>>>>>> unknowndirectory/src/KalmanFilter.cxx
>>>>>> [0]PETSC ERROR: GeneratePRFTmap() line 182 in
>>>>>> unknowndirectory/src/MainDriver.cxx
>>>>>> [0]PETSC ERROR: main() line 90 in unknowndirectory/src/MainDriver.cxx
>>>>>> application called MPI_Abort(MPI_COMM_WORLD, 55) - process 0[unset]:
>>>>>> aborting job:
>>>>>> application called MPI_Abort(MPI_COMM_WORLD, 55) - process 0
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, 12 Mar 2009, Hong Zhang wrote:
>>>>>>
>>>>>>
>>>>>> David,
>>>>>>>
>>>>>>> I do not see any problem with the calling sequence.
>>>>>>>
>>>>>>> The memory is determined in MatLUFactorSymbolic().
>>>>>>> Does your code crashes within MatLUFactorSymbolic()?
>>>>>>> Please send us complete error message.
>>>>>>>
>>>>>>> Hong
>>>>>>>
>>>>>>> On Wed, 11 Mar 2009, David Fuentes wrote:
>>>>>>>
>>>>>>>
>>>>>>> Hello,
>>>>>>>>
>>>>>>>> I have a sparse matrix, A, with which I want to solve multiple right
>>>>>>>> hand
>>>>>>>> sides
>>>>>>>> with a direct solver. Is this the correct call sequence ?
>>>>>>>>
>>>>>>>>
>>>>>>>> MatGetFactor(A,MAT_SOLVER_PETSC,MAT_FACTOR_LU,&Afact);
>>>>>>>> IS isrow,iscol;
>>>>>>>> MatGetOrdering(A,MATORDERING_ND,&isrow,&iscol);
>>>>>>>> MatLUFactorSymbolic(Afact,A,isrow,iscol,&info);
>>>>>>>> MatLUFactorNumeric(Afact,A,&info);
>>>>>>>> MatMatSolve(Afact,B,X);
>>>>>>>>
>>>>>>>>
>>>>>>>> my solve keeps running out of memory
>>>>>>>>
>>>>>>>> "[0]PETSC ERROR: Memory requested xxx!"
>>>>>>>>
>>>>>>>>
>>>>>>>> is this in bytes? I can't tell if the problem I'm trying to solve
>>>>>>>> is too large form my machine or if I just have bug in the call
>>>>>>>> sequence.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> thank you,
>>>>>>>> David Fuentes
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>
>>>>> --
>>>>> What most experimenters take for granted before they begin their
>>>>> experiments
>>>>> is infinitely more interesting than any results to which their
>>>>> experiments
>>>>> lead.
>>>>> -- Norbert Wiener
>>>>>
>>>>>
>>>
>>>
>>> --
>>> What most experimenters take for granted before they begin their
>>> experiments
>>> is infinitely more interesting than any results to which their experiments
>>> lead.
>>> -- Norbert Wiener
>>>
>>
>
More information about the petsc-users
mailing list