Skip to content

USPP managed with OpenACC

Ivan Carnimeo requested to merge us_acc into develop

See issue #390 (closed) and merge request !1575 (merged) for shared libraries linking errors

See merge request !1554 (merged) to have the BEEF functional work with this branch

This branch contains:

  • init_us_2 and init_us_2_gpu merged (init_us_2_gpu removed);
  • init_us_2 is now a in a new module to allow optional arguments;
  • vkb_d removed and vkb on gpu is now managed with OpenACC directives;
  • --enable-openacc is set true by default in configure;
  • a couple of fixes have been done in all other codes to comply with these changes.

One relevant note is that when the -acc flag was specified in CUDA_F90FLAGS and LDFLAGS some executables of the QE suite failed to compile (e.g. tddfpt, neb, gwl, etc..), due to the fact that some files had the same names of other files throughout the code, e.g. NEB/src/input.f90 was in conflict with PW/src/input.f90, TDDFPT/src/mix_pot.f90 was in conflict with LR_MODULES/mix_pot.f90...

This has been fixed by renaming one of the "duplicated" files.

There was also another issue due to the fact that turbo_spectrum.o appeared twice in the compilation line:

mpif90 turbo_spectrum.o libtddfpt.a -o exe

one explicitely and the other one inside libtddfpt.a.

This has been fixed by removing turbo_spectrum.o from libtddfpt.a in TDDFPT/src/Makefile

Edited by giannozz

Merge request reports