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