[Q-e-developers] openmp in QE

Filippo Spiga filippo.spiga at ichec.ie
Tue Jan 31 16:12:03 CET 2012


Dear Deyu Lu,

On 31 Jan 2012, at 14:45, Deyu Lu wrote:
>  From the hardware 
> point of view, as multicore CPUs prevail, OpenMP
> exploiting shared memory and thread computing seems to be the right way 
> to go in the future.

I totally agree!


On 31 Jan 2012, at 14:45, Deyu Lu wrote:
> This is case referred to as "explicit
> OpenMP" in the user's guide. I'd appreciate if someone can help me 
> understand what is the current status of the explicit OpenMP
> implementation in QE and what would be the near future plan?

The OpenMP support in Quantum ESPRESSO follows two strategies:
- implicit multi-threading using multi-threaded libraries (available nowadays in all HPC systems deployed worldwide)
- explicit multi-thtreading by using OpenMP directive.

The efficiency of the OpenMP depends by how computational heavy is your system and how you run the simulation (how many MPI per node, how many threads per node, how many task group, how many processors dedicated to the diagonalization). Other senior experts can give you a better idea about how to mix all of these parameters to better exploit MPI+OpenMP. Remember that if you physical system is very memory-demanding then using OpenMP is the only way to exploit the hardware keeping a good overall efficiency.

The OpenMP-ization of the code is a continuous work in progress. At the time of writing, some of the most expensive routines in both PWscf and CP have OpenMP inside. Linear Algebra (like BLAS or LAPACK) have implicit multi-threading that comes directly from the libraries. The FFT module implements the multi-threading using OpenMP (see fft_scalar.f90). If you want to have a look more into the detail you can search the wild-card "!$omp" (you will get a long results).

About the future yes, there are plans. During the last developer meeting we agreed to extend to other part of the code the OpenMP parallelization (stresses and forces calculation mainly plus everything else that will be triggered by the interests of the user community). About this point, Layla Martin-Samos or Paolo Giannozzi or Carlo Cavazzoni can give you more details.

Cheers,
F.

-- 
Mr. Filippo SPIGA, Computational Scientist, <filippo.spiga_at_ichec.ie>
Irish Centre for High-End Computing (ICHEC) - www.ichec.ie
The Tower - Trinity Technology & Enterprise Campus
Grand Canal Quay - Dublin 2 - Ireland

Tel: +353-1-5241608 ex. 40     ~  Mob: +353-85-816-8710
website: http://filippospiga.me  ~  skype: filippo.spiga

«Nobody will drive us out of Cantor's paradise.» ~ David Hilbert






More information about the developers mailing list