Dear PETSc Team,

Following the merge request !4547 for fixing the Global To Natural map, I am implementing modifications to introduce a "natural" DM (i.e. the DM used for IO): see the discussion in https://gitlab.com/petsc/petsc/-/merge_requests/4547. I am writing an example for that, very similar to src/dm/impls/plex/tests/ex44.c added by the merge request, and running on 2 processors. The idea is to: (i) create a DM (the same distributed 2x5 mesh of ex44.c); (ii) call multiple times DMPlexDistribute with different partitioners and set one of the DMs as the "natural" DM; and (iii) see if we can reconstruct correctly the "natural" ordering and distribution from the last DM and the Global To Natural map. I am having some troubles however with at least parmetis and ptscotch partitioners which raise an error inside DMPlexCreateGlobalToNatural. Here is the error:

[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------

[0]PETSC ERROR: [1]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------

[1]PETSC ERROR: Invalid argument

[1]PETSC ERROR: Input array needs to be sorted

Invalid argument

[0]PETSC ERROR: Input array needs to be sorted

[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.

[0]PETSC ERROR: [1]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.

[1]PETSC ERROR: Petsc Development GIT revision: v3.16.1-435-g007f11b901  GIT Date: 2021-12-01 14:31:21 +0000

Petsc Development GIT revision: v3.16.1-435-g007f11b901  GIT Date: 2021-12-01 14:31:21 +0000

[0]PETSC ERROR: ../ex47 on a arch-darwin-c-debug named marboeua-1.math.mcmaster.ca by alexismarboeuf Thu Dec 16 22:39:20 2021

[1]PETSC ERROR: ../ex47 on a arch-darwin-c-debug named marboeua-1.math.mcmaster.ca by alexismarboeuf Thu Dec 16 22:39:20 2021

[1]PETSC ERROR: [0]PETSC ERROR: Configure options --force --download-fblaslapack=1 --download-exodusii=1 --download-hdf5=1 --download-chaco=1 --download-metis=1 --download-parmetis=1 -download-ptscotch=1 --download-sowing=1 --download-hypre=1 --download-ml=1 --download-netcdf=1 --download-yaml=1 --download-zlib=1 --download-pnetcdf=1 --download-sieve=1 --with-boost=1 --with-boost-dir=/opt/homebrew/Cellar/boost/1.76.0 with-clanguage=C++ --with-c2html=0 --with-fortran-datatypes=1 --with-mpi-dir=/opt/homebrew/Cellar/mpich/3.4.2 --with-debugging=1 --with-ranlib=ranlib --with-x11=1

[0]PETSC ERROR: Configure options --force --download-fblaslapack=1 --download-exodusii=1 --download-hdf5=1 --download-chaco=1 --download-metis=1 --download-parmetis=1 -download-ptscotch=1 --download-sowing=1 --download-hypre=1 --download-ml=1 --download-netcdf=1 --download-yaml=1 --download-zlib=1 --download-pnetcdf=1 --download-sieve=1 --with-boost=1 --with-boost-dir=/opt/homebrew/Cellar/boost/1.76.0 with-clanguage=C++ --with-c2html=0 --with-fortran-datatypes=1 --with-mpi-dir=/opt/homebrew/Cellar/mpich/3.4.2 --with-debugging=1 --with-ranlib=ranlib --with-x11=1

[1]PETSC ERROR: #1 PetscSortedRemoveDupsInt() at /Users/alexismarboeuf/Documents/petsc2/src/sys/utils/sorti.c:308

[0]PETSC ERROR: #2 PetscSFCreateEmbeddedLeafSF() at /Users/alexismarboeuf/Documents/petsc2/src/vec/is/sf/interface/sf.c:1409

[0]PETSC ERROR: #1 PetscSortedRemoveDupsInt() at /Users/alexismarboeuf/Documents/petsc2/src/sys/utils/sorti.c:308

[1]PETSC ERROR: #2 PetscSFCreateEmbeddedLeafSF() at /Users/alexismarboeuf/Documents/petsc2/src/vec/is/sf/interface/sf.c:1409

[1]PETSC ERROR: #3 DMPlexCreateGlobalToNaturalSF() at /Users/alexismarboeuf/Documents/petsc2/src/dm/impls/plex/plexnatural.c:173

[1]PETSC ERROR: #4 DMPlexDistribute() at /Users/alexismarboeuf/Documents/petsc2/src/dm/impls/plex/plexdistribute.c:1755

[1]PETSC ERROR: #5 main() at /Users/alexismarboeuf/Documents/petsc2/src/dm/impls/plex/tests/ex47.c:289

[1]PETSC ERROR: PETSc Option Table entries:

[1]PETSC ERROR: -petscpartitioner_type ptscotch

[1]PETSC ERROR: ----------------End of Error Message -------send entire error message to petsc-ma...@mcs.anl.gov----------

Abort(62) on node 1 (rank 1 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 62) - process 1

#3 DMPlexCreateGlobalToNaturalSF() at /Users/alexismarboeuf/Documents/petsc2/src/dm/impls/plex/plexnatural.c:173

[0]PETSC ERROR: #4 DMPlexDistribute() at /Users/alexismarboeuf/Documents/petsc2/src/dm/impls/plex/plexdistribute.c:1755

[0]PETSC ERROR: #5 main() at /Users/alexismarboeuf/Documents/petsc2/src/dm/impls/plex/tests/ex47.c:289

[0]PETSC ERROR: PETSc Option Table entries:

[0]PETSC ERROR: -petscpartitioner_type ptscotch

[0]PETSC ERROR: ----------------End of Error Message -------send entire error message to petsc-ma...@mcs.anl.gov----------

Abort(62) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 62) - process 0


Thanks all for your help.
-------------------------------------------------------------------
Alexis Marboeuf
Postdoctoral fellow, Department of Mathematics & Statistics
Hamilton Hall room 409B, McMaster University
1280 Main Street West, Hamilton, Ontario L8S 4K1, Canada
EMail: marbo...@mcmaster.ca
Tel. +1 (905) 525 9140 ext. 27031
-------------------------------------------------------------------

Reply via email to