> On Sep 18, 2019, at 9:15 AM, Xiangdong via petsc-users 
> <petsc-users@mcs.anl.gov> wrote:
> 
> Hello everyone,
> 
> From here,
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATSOLVERMKL_PARDISO.html
> 
> It seems thatMKL_PARDISO only works for seqaij. I am curious that whether one 
> can use mkl_pardiso in petsc with multi-thread.

   You can use  mkl_pardiso for multi-threaded and  mkl_cpardiso for MPI 
parallelism.

   In both cases you must use the master branch of PETSc (or the next release 
of PETSc) to do this this easily.

   Note that when you use mkl_pardiso with multiple threads the matrix is 
coming from a single MPI process (or the single program if not running with 
MPI). So it is not MPI parallel that matches the rest of the parallelism with 
PETSc. So one much be a little careful: for example if one has 4 cores and uses 
them all with mpiexec -n 4 and then uses mkl_pardiso with 4 threads (each) then 
you have 16 threads fighting over 4 cores. So you need to select the number of 
MPI processes and number of threads wisely.

> 
> Is there any reason that MKL_PARDISO is not listed in the linear solver table?
> https://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html
> 

   Just an oversight, thanks for letting us know, I have added it.


> Thank you.
> 
> Best,
> Xiangdong

Reply via email to