[petsc-users] Reaching limit number of communicator with Spectrum MPI
Feimi Yu
yuf2 at rpi.edu
Wed Aug 18 15:31:30 CDT 2021
Hi Junchao,
Thank you for the suggestion! I'm using the deal.ii wrapper
dealii::PETScWrappers::PreconditionBase to handle the PETSc
preconditioners, and the wrappers does the destroy when the
preconditioner is reinitialized or gets out of scope. I just
double-checked, this is called to make sure the old matrices are destroyed:
void
PreconditionBase::clear()
{
matrix = nullptr;
if (pc != nullptr)
{
PetscErrorCode ierr = PCDestroy(&pc);
pc = nullptr;
AssertThrow(ierr == 0, ExcPETScError(ierr));
}
}
Thanks!
Feimi
On 8/18/21 4:23 PM, Junchao Zhang wrote:
>
>
>
> On Wed, Aug 18, 2021 at 12:52 PM Feimi Yu <yuf2 at rpi.edu
> <mailto:yuf2 at rpi.edu>> wrote:
>
> Hi,
>
> I was trying to run a simulation with a PETSc-wrapped Hypre
> preconditioner, and encountered this problem:
>
> [dcs122:133012] Out of resources: all 4095 communicator IDs have
> been used.
> [19]PETSC ERROR: --------------------- Error Message
> --------------------------------------------------------------
> [19]PETSC ERROR: General MPI error
> [19]PETSC ERROR: MPI error 17 MPI_ERR_INTERN: internal error
> [19]PETSC ERROR: See
> https://www.mcs.anl.gov/petsc/documentation/faq.html
> <https://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble
> shooting.
> [19]PETSC ERROR: Petsc Release Version 3.15.2, unknown
> [19]PETSC ERROR: ./main on a arch-linux-c-opt named dcs122 by
> CFSIfmyu Wed Aug 11 19:51:47 2021
> [19]PETSC ERROR: [dcs122:133010] Out of resources: all 4095
> communicator IDs have been used.
> [18]PETSC ERROR: --------------------- Error Message
> --------------------------------------------------------------
> [18]PETSC ERROR: General MPI error
> [18]PETSC ERROR: MPI error 17 MPI_ERR_INTERN: internal error
> [18]PETSC ERROR: See
> https://www.mcs.anl.gov/petsc/documentation/faq.html
> <https://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble
> shooting.
> [18]PETSC ERROR: Petsc Release Version 3.15.2, unknown
> [18]PETSC ERROR: ./main on a arch-linux-c-opt named dcs122 by
> CFSIfmyu Wed Aug 11 19:51:47 2021
> [18]PETSC ERROR: Configure options --download-scalapack
> --download-mumps --download-hypre --with-cc=mpicc
> --with-cxx=mpicxx --with-fc=mpif90 --with-cudac=0
> --with-debugging=0
> --with-blaslapack-dir=/gpfs/u/home/CFSI/CFSIfmyu/barn-shared/dcs-rh8/lapack-build/
> [18]PETSC ERROR: #1 <https://itssc.rpi.edu/hc/requests/1>
> MatCreate_HYPRE() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/mat/impls/hypre/mhypre.c:2120
> [18]PETSC ERROR: #2 <https://itssc.rpi.edu/hc/requests/2>
> MatSetType() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/mat/interface/matreg.c:91
> [18]PETSC ERROR: #3 <https://itssc.rpi.edu/hc/requests/3>
> MatConvert_AIJ_HYPRE() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/mat/impls/hypre/mhypre.c:392
> [18]PETSC ERROR: #4 <https://itssc.rpi.edu/hc/requests/4>
> MatConvert() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/mat/interface/matrix.c:4439
> [18]PETSC ERROR: #5 <https://itssc.rpi.edu/hc/requests/5>
> PCSetUp_HYPRE() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/ksp/pc/impls/hypre/hypre.c:240
> [18]PETSC ERROR: #6 <https://itssc.rpi.edu/hc/requests/6>
> PCSetUp() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/ksp/pc/interface/precon.c:1015
> Configure options --download-scalapack --download-mumps
> --download-hypre --with-cc=mpicc --with-cxx=mpicxx
> --with-fc=mpif90 --with-cudac=0 --with-debugging=0
> --with-blaslapack-dir=/gpfs/u/home/CFSI/CFSIfmyu/barn-shared/dcs-rh8/lapack-build/
> [19]PETSC ERROR: #1 <https://itssc.rpi.edu/hc/requests/1>
> MatCreate_HYPRE() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/mat/impls/hypre/mhypre.c:2120
> [19]PETSC ERROR: #2 <https://itssc.rpi.edu/hc/requests/2>
> MatSetType() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/mat/interface/matreg.c:91
> [19]PETSC ERROR: #3 <https://itssc.rpi.edu/hc/requests/3>
> MatConvert_AIJ_HYPRE() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/mat/impls/hypre/mhypre.c:392
> [19]PETSC ERROR: #4 <https://itssc.rpi.edu/hc/requests/4>
> MatConvert() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/mat/interface/matrix.c:4439
> [19]PETSC ERROR: #5 <https://itssc.rpi.edu/hc/requests/5>
> PCSetUp_HYPRE() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/ksp/pc/impls/hypre/hypre.c:240
> [19]PETSC ERROR: #6 <https://itssc.rpi.edu/hc/requests/6>
> PCSetUp() at
> /gpfs/u/barn/CFSI/shared/dcs-rh8/petsc/src/ksp/pc/interface/precon.c:1015
>
> It seems that MPI_Comm_dup() at
> petsc/src/mat/impls/hypre/mhypre.c:2120 caused the problem. Since
> mine is a time-dependent problem, MatCreate_HYPRE() is called
> every time the new system matrix is assembled. The above error
> message is reported after ~4095 calls of MatCreate_HYPRE(), which
> is around 455 time steps in my code. Here is some basic compiler
> information:
>
> Can you destroy old matrices to free MPI communicators? Otherwise, you
> run into a limitation we knew before.
>
> IBM Spectrum MPI 10.4.0
>
> GCC 8.4.1
>
> I've never had this problem before with OpenMPI or MPICH
> implementation, so I was wondering if this can be resolved from my
> end, or it's an implementation specific problem.
>
> Thanks!
>
> Feimi
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210818/7f58cd45/attachment-0001.html>
More information about the petsc-users
mailing list