On Fri, Jan 25, 2019 at 8:07 PM Mohammad Gohardoust via petsc-users 
<[email protected]<mailto:[email protected]>> wrote:
Hi,

I am trying to modify a "pure MPI" code for solving water movement equation in 
soils which employs KSP iterative solvers. This code gets really slow in the 
hpc I am testing it as I increase the number of calculating nodes (each node 
has 28 cores) even from 1 to 2. I went for implementing "MPI-OpenMP" solutions 
like MUMPS. I did this inside the petsc by:

KSPSetType(ksp, KSPPREONLY);
PCSetType(pc, PCLU);
PCFactorSetMatSolverType(pc, MATSOLVERMUMPS);
KSPSolve(ksp, ...

and I run it through:

export OMP_NUM_THREADS=16 && mpirun -n 2 ~/Programs/my_programs

On some cases, I saw multithreaded MUMPS could improve its performance about 
30%. I guess something was wrong in your tests.  You need to compile MUMPS with 
OpenMP support. If you installed MUMPS through PETSc, you need petsc configure 
option --with-openmp=1. In addition, you need a multithreaded BLAS. You can do 
it through --download-openblas

But first of all, you should add --log_view to report your performance results.
The code is working (in my own PC) but it is too slow (maybe about 50 times 
slower). Since I am not an expert, I like to know is this what I should expect 
from MUMPS!?

Thanks,
Mohammad

Reply via email to