[petsc-users] Stokes problem with DA and MUMPS

gouarin loic.gouarin at math.u-psud.fr
Thu Feb 24 03:56:28 CST 2011


Hi,

I take the GetMatrix code and I re write it for my Stokes problem with 2 
DA grids: one for the velocity and an other for the pression.
The preallocation is now correct but I have now a problem to use fieldsplit.

I set block size to 3 for my matrix but I'm not sure that I can use it 
because I don't have the same number of points for each field. I don't 
hnow how petsc defines the blocks.

How can I use again fieldsplit for the preconditioner ?

Thanks.
Loic

On 18/02/2011 13:00, gouarin wrote:
> On 18/02/2011 12:07, Dave May wrote:
>>
>> How much memory is used when you use
>> -stokes_fieldsplit_0_ksp_max_it 1
>> -stokes_fieldsplit_0_pc_type jacobi
>> ?
>> It's possible that the copy of the diagonal blocks occurring when you
>> invoke Fieldsplit just by itself is using all your available memory. I
>> wouldn't be surprised with a stencil width of 2....
> This is the memory info given by the log_summary for nv=19
>
> Memory usage is given in bytes:
>
> Object Type          Creations   Destructions     Memory  Descendants' 
> Mem.
> Reports information only for process 0.
>
> --- Event Stage 0: Main Stage
>     Viewer                     1                  0                
> 0         0
>     Index Set                30                 24            96544     0
>     IS L to G Mapping     4                  0                0         0
>     Vec                        46                 17           
> 338344    0
>     Vec Scatter            12                  0                
> 0         0
>     Matrix                    22                 0                
> 0         0
>     Distributed array     2                  0                0         0
>     Preconditioner         3                  0                
> 0         0
>     Krylov Solver         3                    0                
> 0         0
> ======================================================================================================================== 
>
>
> and the malloc_info
>
> ------------------------------------------
> [0] Maximum memory PetscMalloc()ed 184348608 maximum size of entire 
> process 225873920
> [0] Memory usage sorted by function
> [0] 2 3216 ClassPerfLogCreate()
> [0] 2 1616 ClassRegLogCreate()
> [0] 6 9152 DACreate()
> [0] 17 114128 DACreate_3D()
> [0] 3 48 DAGetCoordinateDA()
> [0] 10 265632 DAGetMatrix3d_MPIAIJ()
> [0] 3 48 DASetVertexDivision()
> [0] 2 6416 EventPerfLogCreate()
> [0] 1 12800 EventPerfLogEnsureSize()
> [0] 2 1616 EventRegLogCreate()
> [0] 1 3200 EventRegLogRegister()
> [0] 12 329376 ISAllGather()
> [0] 50 89344 ISCreateBlock()
> [0] 25 354768 ISCreateGeneral()
> [0] 60 7920 ISCreateStride()
> [0] 12 161728 ISGetIndices_Stride()
> [0] 2 21888 ISLocalToGlobalMappingBlock()
> [0] 2 21888 ISLocalToGlobalMappingCreate()
> [0] 12 1728 ISLocalToGlobalMappingCreateNC()
> [0] 9 2544 KSPCreate()
> [0] 1 16 KSPCreate_MINRES()
> [0] 1 16 KSPCreate_Richardson()
> [0] 3 48 KSPDefaultConvergedCreate()
> [0] 66 41888 MatCreate()
> [0] 6 960 MatCreate_MPIAIJ()
> [0] 16 5632 MatCreate_SeqAIJ()
> [0] 4 12000 MatGetRow_MPIAIJ()
> [0] 4 64 MatGetSubMatrices_MPIAIJ()
> [0] 160 941760 MatGetSubMatrices_MPIAIJ_Local()
> [0] 4 121664 MatGetSubMatrix_MPIAIJ_Private()
> [0] 16 304000 MatMarkDiagonal_SeqAIJ()
> [0] 80 181061344 MatSeqAIJSetPreallocation_SeqAIJ()
> [0] 12 113792 MatSetUpMultiply_MPIAIJ()
> [0] 12 288 MatStashCreate_Private()
> [0] 50 864 MatStashScatterBegin_Private()
> [0] 120 108096 MatZeroRows_MPIAIJ()
> [0] 10 182560 Mat_CheckInode()
> [0] 9 1776 PCCreate()
> [0] 1 144 PCCreate_FieldSplit()
> [0] 2 64 PCCreate_Jacobi()
> [0] 4 192 PCFieldSplitSetFields_FieldSplit()
> [0] 1 16 PCSetFromOptions_FieldSplit()
> [0] 5 22864 PCSetUp_FieldSplit()
> [0] 4 64 PetscCommDuplicate()
> [0] 1 4112 PetscDLLibraryOpen()
> [0] 6 24576 PetscDLLibraryRetrieve()
> [0] 45 1712 PetscDLLibrarySym()
> [0] 579 27792 PetscFListAdd()
> [0] 48 2112 PetscGatherMessageLengths()
> [0] 52 832 PetscGatherNumberOfMessages()
> [0] 90 4320 PetscLayoutCreate()
> [0] 64 1392 PetscLayoutSetUp()
> [0] 4 64 PetscLogPrintSummary()
> [0] 12 384 PetscMaxSum()
> [0] 24 6528 PetscOListAdd()
> [0] 28 1792 PetscObjectSetState()
> [0] 8 192 PetscOptionsGetEList()
> [0] 16 4842288 PetscPostIrecvInt()
> [0] 12 4842224 PetscPostIrecvScalar()
> [0] 0 32 PetscPushSignalHandler()
> [0] 1 432 PetscStackCreate()
> [0] 1798 54816 PetscStrallocpy()
> [0] 30 248832 PetscStrreplace()
> [0] 2 45888 PetscTableAdd()
> [0] 24 446528 PetscTableCreate()
> [0] 3 96 PetscTokenCreate()
> [0] 1 16 PetscViewerASCIIMonitorCreate()
> [0] 1 16 PetscViewerASCIIOpen()
> [0] 3 496 PetscViewerCreate()
> [0] 1 64 PetscViewerCreate_ASCII()
> [0] 2 528 StackCreate()
> [0] 2 1008 StageLogCreate()
> [0] 6 14400 User provided function()
> [0] 138 58880 VecCreate()
> [0] 66 1401952 VecCreate_MPI_Private()
> [0] 7 221312 VecCreate_Seq()
> [0] 9 288 VecCreate_Seq_Private()
> [0] 6 160 VecDuplicateVecs_Default()
> [0] 3 3008 VecGetArray3d()
> [0] 42 49536 VecScatterCreate()
> [0] 16 512 VecScatterCreateCommon_PtoS()
> [0] 20 213024 VecScatterCreate_PtoP()
> [0] 252 881536 VecScatterCreate_PtoS()
> [0] 74 1184 VecStashCreate_Private()
>
>


-- 
Loic Gouarin
Laboratoire de Mathématiques
Université Paris-Sud
Bâtiment 425
91405 Orsay Cedex
France
Tel: (+33) 1 69 15 60 14
Fax: (+33) 1 69 15 67 18



More information about the petsc-users mailing list