For multi-threaded parallelism you have to use a multi-threaded BLAS such as 
MKL or OpenBLAS:
$ ./configure --with-blaslapack-dir=$MKLROOT
or
$ ./configure --download-openblas

For MPI parallelism, if you are solving linear systems within EPS you most 
probably need PETSc be configured with a parallel linear solver such as MUMPS, 
see section 3.4.1 of SLEPc's user manual.

Jose


> El 5 jun 2018, a las 19:00, Moritz Cygorek <[email protected]> escribió:
> 
> Hi everyone,
> 
> I'm looking for a document/tutorial/howto that describes the different 
> options to compile PETSc with parallelization.
> 
> My problem is the following: 
> I'm trying to solve a large sparse eigenvalue problem using the Krylov-Schur 
> method implemented in SLEPc
> When I install SLEPc/PETSc on my Ubuntu laptop via apt-get, everything works 
> smoothly and parallelization works automatically.
> I see this by the fact that the CPU-load of the process (only one process, 
> not using mpiexec) is close to 400% according to "top"
> Therefore, it seems that OpenMP is used.
> 
> I have access to better computers and I would like to install SLEPc/PETSc 
> there, but I have to configure it manually.
> I have tried different options, none of the satisfactory:
> 
> When I compile PETSc with the --with-openmp flag, I see that the program 
> never runs with cpu load above 100%.
> I use the same command to call the program as on my laptop where everything 
> works. So it seems that openmp is somehow not activated.
> An old mailing list entry says that I am supposed to configure PETSc using 
> --with-threadcomm --with-openmp, which I did, but it also didn't help.
> However that entry was from 2014 and I found in the list of changes for PETSc 
> in version 3.6:
> "Removed all threadcomm support including --with-pthreadclasses and 
> --with-openmpclasses configure arguments"
> 
> Does that mean that openmp is no longer supported in newer versions?
> 
> 
> Given my resources, I would prefer OpenMP over MPI. Nevertheless, I then 
> spent some time to go full MPI without openmp and to split up the sparse 
> matrix across several processes. When I start the program using mpiexec,
> I see indeed that multiple processes are started, but even when I use 12 
> processes, the computation time is about the same as with only 1 process.
> Is there anything I have to tell the EPS solver to activate parallelization?
> 
> 
> So, all in all, I can't get to run anything faster on a large multi-core 
> computer than on my old crappy laptop. 
> 
> 
> I have no idea how to start debugging and assessing the performance and the 
> documentation on this issue on the website is not very verbose. 
> Can you give me a few hints?
> 
> Regards,
> Moritz
> 
> 
> 

Reply via email to