Probably someone else can give a better answer, but if I remember correctly 
ParMetis relies on certain random number generator that makes it produce 
different partitions for different runs. I think this was fixed in the ParMetis 
that --download-parmetis installs, but if I am not wrong you are not using that 
version. This would explain what you get.

Jose


> El 16 ene 2022, a las 11:37, Varun Hiremath <varunhirem...@gmail.com> 
> escribió:
> 
> Hi All,
> 
> I am using SLEPc to compute eigenvalues and MUMPS for factorization. 
> 
> Please find attached:
> 1) A simple test program slepc_eps_mumps_test.cpp that reads a given PETSc 
> matrix and computes the smallest eigenvalues using MUMPS for factorization
> 2) An example PETSc matrix MatA of size 581343 rows (sending in .gz format 
> via Google drive link, please extract it "gunzip MatA.gz" before using). You 
> should be able to reproduce this issue with any other matrix of a similar or 
> bigger size.
> 
> I notice that when I run the attached test program in parallel with the 
> attached test matrix the MUMPS statistics printed (using the -eps_view option 
> in the command line) change with every run.
> 
> This is how I run the test:
> $ mpiexec -n 24 ./slepc_eps_mumps_test.o -nev 5 -f MatA -eps_view
> and for example, the output of this includes the following MUMPS stats
> ...
> PC Object: (st_) 24 MPI processes
>     type: lu
>       out-of-place factorization
>       tolerance for zero pivot 2.22045e-14
>       matrix ordering: external
>       factor fill ratio given 0., needed 0.
>         Factored matrix follows:
>           Mat Object: 24 MPI processes
>             type: mumps
>             rows=581343, cols=581343
>             package used to perform factorization: mumps
>             total: nonzeros=348236349, allocated nonzeros=348236349
>               MUMPS run parameters:
>                 SYM (matrix type):                   0
> ...
> 
> I ran this test 10 times as follows and got a different number of nonzeros 
> (line highlighted above ) reported in each run. (If you save the full output 
> and compare, you will notice many other differences, but I wouldn't have 
> expected the nonzeros to change with every run.)
> 
> $ for i in `seq 1 10`; do echo "run $i :-----"; mpiexec -n 24 
> ./slepc_eps_mumps_test.o -nev 5 -f MatA -eps_view | grep -A 1 "factorization: 
> mumps"; done
> 
> run 1 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=354789915, allocated nonzeros=354789915
> run 2 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=359811101, allocated nonzeros=359811101
> run 3 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=354834871, allocated nonzeros=354834871
> run 4 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=354830397, allocated nonzeros=354830397
> run 5 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=353942929, allocated nonzeros=353942929
> run 6 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=354147241, allocated nonzeros=354147241
> run 7 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=354980083, allocated nonzeros=354980083
> run 8 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=354980083, allocated nonzeros=354980083
> run 9 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=354214219, allocated nonzeros=354214219
> run 10 :-----
>             package used to perform factorization: mumps
>             total: nonzeros=355894047, allocated nonzeros=355894047
> 
> Can somebody please explain what causes these differences in MUMPS stats? 
> 
> Thanks,
> Varun
>  MatA.gz
> 
> <slepc_eps_mumps_test.cpp>

Reply via email to