[petsc-users] Question about the memory usage for BDDC preconditioner.

neil liu liufield at gmail.com
Tue Aug 13 16:17:25 CDT 2024


Dear Petsc developers,

I am testing PCBDDC for my vector based FEM solver(complex system). It can
work well on a coarse mesh(tetrahedra cell #: 6,108; dof # : 39,596). Then
I tried a finer mesh (tetrahedra cell #: 32,036; dof # : 206,362). It seems
ASM can work well with

petsc-3.21.1/petsc/arch-linux-c-opt/bin/mpirun -n 4 ./app -pc_type asm
-ksp_converged_reason -ksp_monitor  -ksp_gmres_restart 100 -ksp_rtol 1e-4
-pc_asm_overalp 4 -sub_pc_type ilu -malloc_view

while  PCBDDC eats up the memory (61 GB) when I tried

petsc-3.21.1/petsc/arch-linux-c-opt/bin/mpirun -n 4 ./app -pc_type bddc
-pc_bddc_coarse_redundant_pc_type ilu  -pc_bddc_use_vertices
-ksp_error_if_not_converged -mat_type is -ksp_monitor -ksp_rtol 1e-8
-ksp_gmres_restart 30 -ksp_view -malloc_view -pc_bddc_monolithic
-pc_bddc_neumann_pc_type ilu -pc_bddc_dirichlet_pc_type ilu

The following errors with BDDC came out. The memory usage for PCBDDC
(different from PCASM) is also listed (I am assuming the unit is Bytes,
right?). *Although the BDDC requires more memory, it still seems normal,
right? *

[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] Maximum memory PetscMalloc()ed 30829727808 maximum size of entire
process 16899194880
[0] Memory usage sorted by function
....
*[0] 1 240 PCBDDCGraphCreate()*
*[0] 1 3551136 PCBDDCGraphInit()*
*[0] 2045 32720 PCBDDCGraphSetUp()*
*[0] 2 8345696 PCBDDCSetLocalAdjacencyGraph_BDDC()*
*[0] 1 784 PCCreate()*
*[0] 1 1216 PCCreate_BDDC()*
....

Thanks for your help.

Xiaodong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20240813/816e32d7/attachment.html>


More information about the petsc-users mailing list