Skip to content

Vxc on gpu

Fabrizio Ferrari requested to merge fabrizio22/q-e:Vxc_on_gpu2 into develop

Porting of the XC full potential on OpenACC (combined with cuda).
Now the xc routines have an optional argument 'gpu_args_' and, when it is true, device arguments are received as input. This allows to reduce data movement in the potential calculation and will be exploited for further gpu porting in QE (PHonon, PAW calculation, etc.).
The BEEF library in XClib has been finally ported, therefore OpenACC flags have been added to C compiler too.
The porting of V_h has been done and might be included here soon after a few more checks (but it is very small).
The duplication of the gradient routines can be removed in a similar way as I removed the one of the xc_wrappers in XClib, but since it involves a few global variables I think it is safer to do it after the release.

Edited by Fabrizio Ferrari

Merge request reports