Add abstraction layer for using HIP devices
Summary
The current GPU abstraction layer will need to be extended to cover the case of using HIP as the accelerator backend.
Use cases/Impact
Ability to run GROMACS with HIP through the common gpu abstraction layer without having to write everything from scratch.
Detailed description
Currently, the abstraction layer for GPU backends only covers CUDA, SYCL and OpenCL. To be able to use AMD devices with HIP later on we need to extend this to also include HIP.
Requirements
It is quite possible that we could try and remove the long deprecated OpenCL backend as part of this effort, if there aren't any HPC clusters/user groups that actively rely on it.
Links/references/implementations
The AMD fork with the HIP backend can be found here: https://github.com/ROCmSoftwarePlatform/Gromacs