Draft: Enable proper selection of ELPA GPU kernels in native interface
Details
Using the information provided by the program elpa2_print_kernels
(which lives in the bin/ subdirectory of an ELPA installation), the appropriate GPU string and GPU kernel names and constants can be discovered at configuration time.
This MR targets rel-5.0 directly since it can be considered a bug-fix, and also since master/dev has extra code for ELSI that might complicate the back-porting. It can be ported in the other way to dev/master easily.
The header printed out by Siesta includes now information about the GPU support in ELPA.
Added also missing tests for elpa-native in Tests/12.Solvers.
The previous logic for the determination of the ELPA GPU string has been revised. It might be advisable to disable user-level changes to the GPU string (or maybe retain only the environment-variable method).
An alternative route for the querying of ELPA capabilities and kernel names is to use an ad-hoc program that
links to ELPA. This would not need the elpa2_print_kernels
program, but it is more complex to implement.
See this repo for some code.
Fixes #393
-
Describe in details what this MR does? (link to the issue by writing # here) -
Does this MR change the behaviour of any fdf-flags? If so, ensure this is documented in the manual -
If new fdf-flags are added, please add thorough descriptions to the manual -
add a summary sentence in the ReleaseNotes.md file -
if this breaks compatibility, add mentions to the Docs/compatibility.tex