Skip to content

Draft: Enable proper selection of ELPA GPU kernels in native interface

Alberto Garcia requested to merge garalb/siesta:5.0--elpa-kernels into rel-5.0

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

Merge request reports