[petsc-users] DMView / print out ownership ranges

Bastian Löhrer bastian.loehrer at tu-dresden.de
Mon Oct 5 12:26:42 CDT 2020


Hello,

This was in fact our own bug and not an error in PETSc. A misplaced call 
to DMSetUp was the culprit.
I'm sorry to have bothered you with this.

We are going to update to the latest release, too.

Thanks,
Bastian

On 13.08.20 14:53, Matthew Knepley wrote:
> On Thu, Aug 13, 2020 at 8:49 AM Bastian Löhrer 
> <bastian.loehrer at tu-dresden.de <mailto:bastian.loehrer at tu-dresden.de>> 
> wrote:
>
>     Dear PETSc people,
>
>     in PETSc 3.3
>
>         call DMView( dm, PETSC_VIEWER_STDOUT_WORLD, ierr)
>
>     printed out the ownership ranges like so:
>
>         Processor [0] M 32 N 34 P 32 m 1 n 2 p 2 w 1 s 1
>         X range of indices: 0 32, Y range of indices: 0 17, Z range of
>         indices: 0 16
>         Processor [1] M 32 N 34 P 32 m 1 n 2 p 2 w 1 s 1
>         X range of indices: 0 32, Y range of indices: 17 34, Z range
>         of indices: 0 16
>         Processor [2] M 32 N 34 P 32 m 1 n 2 p 2 w 1 s 1
>         X range of indices: 0 32, Y range of indices: 0 17, Z range of
>         indices: 16 32
>         Processor [3] M 32 N 34 P 32 m 1 n 2 p 2 w 1 s 1
>         X range of indices: 0 32, Y range of indices: 17 34, Z range
>         of indices: 16 32
>
>     In PETSc 3.8.4 (and later?) the same function call only prints out:
>
>         DM Object: 4 MPI processes
>           type: da
>
>     Does the feature to print out the ownership ranges still exist?
>     I am unable to find it.
>
> Certainly the latest release prints what you expect:
>
> knepley/feature-plex-stokes-tutorial 
> $:/PETSc3/petsc/petsc-dev/src/snes/tutorials$ make ex5
>
> /PETSc3/petsc/apple/bin/mpicc -Wl,-multiply_defined,suppress 
> -Wl,-multiply_defined -Wl,suppress -Wl,-commons,use_dylibs 
> -Wl,-search_paths_first -Wl,-no_compact_unwind-Wall -Wwrite-strings 
> -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector 
> -fno-stack-check -Qunused-arguments -fvisibility=hidden -g3 -Wall 
> -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas 
> -fstack-protector -fno-stack-check -Qunused-arguments 
> -fvisibility=hidden -g3 -I/PETSc3/petsc/petsc-dev/include 
> -I/PETSc3/petsc/petsc-dev/arch-master-debug/include -I/opt/X11/include 
> -I/PETSc3/petsc/apple/include 
> -I/PETSc3/petsc/petsc-dev/arch-master-debug/include/eigen3ex5.c-Wl,-rpath,/PETSc3/petsc/petsc-dev/arch-master-debug/lib 
> -L/PETSc3/petsc/petsc-dev/arch-master-debug/lib 
> -Wl,-rpath,/PETSc3/petsc/petsc-dev/arch-master-debug/lib 
> -L/PETSc3/petsc/petsc-dev/arch-master-debug/lib 
> -Wl,-rpath,/opt/X11/lib -L/opt/X11/lib 
> -Wl,-rpath,/PETSc3/petsc/apple/lib -L/PETSc3/petsc/apple/lib 
> -Wl,-rpath,/usr/local/lib/gcc/x86_64-apple-darwin19/9.2.0 
> -L/usr/local/lib/gcc/x86_64-apple-darwin19/9.2.0 
> -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lpetsc -lcmumps -ldmumps 
> -lsmumps -lzmumps -lmumps_common -lpord -lscalapack -lumfpack -lklu 
> -lcholmod -lbtf -lccolamd -lcolamd -lcamd -lamd -lsuitesparseconfig 
> -lsuperlu_dist -lml -lfftw3_mpi -lfftw3 -lp4est -lsc -llapack -lblas 
> -legadslite -ltriangle -lX11 -lexodus -lnetcdf -lpnetcdf 
> -lhdf5hl_fortran -lhdf5_fortran -lhdf5_hl -lhdf5 -lchaco -lparmetis 
> -lmetis -lz -lctetgen -lc++ -ldl -lmpifort -lmpi -lpmpi -lgfortran 
> -lquadmath -lm -lc++ -ldl -o ex5
>
> knepley/feature-plex-stokes-tutorial 
> $:/PETSc3/petsc/petsc-dev/src/snes/tutorials$ ./ex5 -dm_view
>
> DM Object: 1 MPI processes
>
> type: da
>
> Processor [0] M 4 N 4 m 1 n 1 w 1 s 1
>
> X range of indices: 0 4, Y range of indices: 0 4
>
> DM Object: 1 MPI processes
>
> type: da
>
> Processor [0] M 4 N 4 m 1 n 1 w 2 s 1
>
> X range of indices: 0 4, Y range of indices: 0 4
>
> knepley/feature-plex-stokes-tutorial 
> $:/PETSc3/petsc/petsc-dev/src/snes/tutorials$ $MPIEXEC -np 4 ./ex5 
> -dm_view
>
> DM Object: 4 MPI processes
>
> type: da
>
> Processor [0] M 4 N 4 m 2 n 2 w 1 s 1
>
> X range of indices: 0 2, Y range of indices: 0 2
>
> Processor [1] M 4 N 4 m 2 n 2 w 1 s 1
>
> X range of indices: 2 4, Y range of indices: 0 2
>
> Processor [2] M 4 N 4 m 2 n 2 w 1 s 1
>
> X range of indices: 0 2, Y range of indices: 2 4
>
> Processor [3] M 4 N 4 m 2 n 2 w 1 s 1
>
> X range of indices: 2 4, Y range of indices: 2 4
>
> DM Object: 4 MPI processes
>
> type: da
>
> Processor [0] M 4 N 4 m 2 n 2 w 2 s 1
>
> X range of indices: 0 2, Y range of indices: 0 2
>
> Processor [1] M 4 N 4 m 2 n 2 w 2 s 1
>
> X range of indices: 2 4, Y range of indices: 0 2
>
> Processor [2] M 4 N 4 m 2 n 2 w 2 s 1
>
> X range of indices: 0 2, Y range of indices: 2 4
>
> Processor [3] M 4 N 4 m 2 n 2 w 2 s 1
>
> X range of indices: 2 4, Y range of indices: 2 4
>
> We can try and go back to debug 3.8.4, but that is a long time ago. 
> Can you use the latest release?
>
>   Thanks,
>
>     Matt
>
>     Best,
>     Bastian
>
>
>
> -- 
> 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
>
> https://www.cse.buffalo.edu/~knepley/ 
> <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20201005/df00ce1b/attachment.html>


More information about the petsc-users mailing list