[QE-developers] Code divergence

Ye Luo xw111luoye at gmail.com
Sun Jul 29 04:06:30 CEST 2018


Hi developers,

Many features currently under development are getting QE ready for the
future. This is very encouraging.
However, I feel the code is diverging and needs attention.
The upcoming GPU code is basically an internal fork with large amount of
lines duplicated.The mixed precision attempt also duplicates functions.
QE already has gamma/k or complex/real forks inside the code. The more
forks added to the code, the more needed maintenance and potential bugs.

Although fortran has its language limitation, some design choices may help
reducing the complexity. Having one binary is appealing but allowing
building multiple binaries and fixing precision at compile time to minimize
the lines of duplicated code is more beneficial long term.
The CPU/GPU gap may have a chance to get closed by performance portable
solutions although the software stack is not matured especially on the
fortran side at the moment.

It is very challenging and the manpower is often limited. Although the
reality is often a compromise, I believe QE developers figure out the best
way.

One more thing, testing is very important. Although there are some tests
but more tests are needed not only integration tests but also unit tests.

Best,
Ye
===================
Ye Luo, Ph.D.
Leadership Computing Facility
Argonne National Laboratory
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20180728/783d54ac/attachment.html>


More information about the developers mailing list