Two different parallelization paradigms are currently implemented in QUANTUM ESPRESSO:
MPI is the well-established, general-purpose parallelization. In QUANTUM ESPRESSO several parallelization levels, specified at run-time via command-line options to the executable, are implemented with MPI. This is your first choice for execution on a parallel machine.
Library OpenMP is a low-effort parallelization suitable for
multicore CPUs. Its effectiveness relies upon the quality of
the multithreading libraries and the availability of
multithreading FFTs. If you are using MKL,1you may want to select FFTW3 (set CPPFLAGS=-D__FFTW3...
in make.sys) and to link with the MKL interface to FFTW3.
You will get a decent speedup ( 25%) on two cores.
Explicit OpenMP is a very recent addition, still at an experimental stage, devised to increase scalability on large multicore parallel machines. Explicit OpenMP is devised to be run together with MPI and also together with multithreaded libraries. BEWARE: you have to be VERY careful to prevent conflicts between the various kinds of parallelization. If you don't know how to run MPI processes and OpenMP threads in a controlled manner, forget about mixed OpenMP-MPI parallelization.