[Q-e-developers] Questions About Optimization and Parallelism of Quantum Espresso

Carlo Cavazzoni c.cavazzoni at cineca.it
Wed Oct 19 09:53:39 CEST 2016


Dear Sergio,

we are obviously addressing al that issues on different architectures 
with different vendors,
and here it come the point, architectures are not converging!
As you know there are two main basic designs Homogeneous and 
Heterogeneous (a.k.a. accelerated),
with some, like Intel, that oscillate between both (KNC Heterogeneous, 
KNL Homogeneous,
and recently announced Stratix X FPGA Heterogeneous again).
Is not that easy to have a code coping with all of them in an effective 
way, especially because
some of the best tools for new architectures are not standard (CUDA) and 
this is a real pity,
and make me complain with Nvidia all the time for them not supporting a 
standard paradigm
(yes I know, there is OpenACC, new OpenMP feature, OpenCL ... but CUDA 
remains by far more effective),
this is a sort of disruption for community of developers like ourself.

Nevertheless to reduce this complexity we recently encapsulate the two 
main computational kernels
(parallel FFT and Linear Algebra) into self contained libraries (FFTXlib 
and LAXlib) including a small
app (please read README files included in the two library) that allow 
one to experiment and
best tune all the parameters for parallelization, vectorization, tasking 
etc..).

To play with the two libraries you need to know very little about the 
physics of the QE,
and are the ideal for persons like you that need to look into 
optimization stuff.
In particular any improvements in these two libraries are immediately 
transferred into the QE
main codes (and other as well).

If you want to know more about our next developments, we are working with
non blocking MPI collectives and task based parallelism to try to overlap
communications and computations within the FFT.
Most recent (not production) advancements in FFT lib could be found at:

https://github.com/fabioaffinito/FFTXlib



Another interesting exercise could be to review the LAXlib following
closely the advancement in dense linear algorithms promoted by Dongarra 
et all
http://insidehpc.com/2016/10/jack-dongarra-presents-adaptive-linear-solvers-and-eigensolvers/

 From the point of view of the paradigms we are supporting open initiatives,
especially in close collaboration with BSC and different standardization 
committees (like OpenMP),
or the recently announced effort promoted by AMD to open source software 
and drivers
for heterogeneous architectures: https://radeonopencompute.github.io/


best,
carlo


Il 18/10/2016 16:14, Sérgio Caldas ha scritto:
> Hi!
>
> I'm Sérgio Caldas, an MSc student in Informatics Engineering at 
> University of Minho, Braga, Portugal. The key area of specialisation 
> during my master courses were on parallel computing, with a strong 
> focus on efficient & performance engineering on heterogeneous systems. 
> For my master thesis the theme applies these competences to 
> computational physics, where I’m supposed to help a senior physics 
> researcher to tune his work on the determination of electronic and 
> optical properties of materials, using Quantum Espresso tool in our 
> departamental cluster. This cluster has nodes with several generations 
> of dual multicore Xeons and some nodes with Xeon Phi (both KNC and 
> KNL) and GPUs (both Fermi and Kepler, and soon Pascal).
>
> I have some queries on the QE, namely how far QE development has 
> reached in these areas (vectorisation, data/task parallelism on both 
> shared/distributed memory, data locality).
>
> For example:
>  - QE is already exploring vector operations (AVX/AVX-2 or AVX-512)?
>  - the tool is ready for multicore / many-core devices?
>  - how is the scheduling between multicore-devices and the accelerator 
>  devices, such that both type of devices are simultaneously used?
>  - for distributed memory, the tool is already taking advantage of 
> low-latency interconnection topologies, such as Myrinet or Infiniband?
>  - how can I have access to beta versions where this advanced 
> capabilities are being explored?
>  - do you have suggestions of areas that still need to be improved, so 
> that I can address those areas and improve both the quality of my work 
> and the overall QE performance?
>
> I would also be grateful if you could suggest documentation 
> (preferably papers) to get some of these answers or any other 
> documentation to complement my knowledge on QE.
>
> Thanking you in advance, yours sincerely
> Sergio Caldas
>
>
> _______________________________________________
> Q-e-developers mailing list
> Q-e-developers at qe-forge.org
> http://qe-forge.org/mailman/listinfo/q-e-developers


-- 
Ph.D. Carlo Cavazzoni
SuperComputing Applications and Innovation Department
CINECA - Via Magnanelli 6/3, 40033 Casalecchio di Reno (Bologna)
Tel: +39 051 6171411  Fax: +39 051 6132198
www.cineca.it

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20161019/8fbfa686/attachment.html>


More information about the developers mailing list