This PR adds GPU support. It adds tests that run conditionally on AMDGPU.jl and/or CUDA.jl, depending on whether they are functional on the machine we're running on.
[ ] Fix the Compton _total_probability function which currently does not work on GPU because of quadgk
[ ] Add remaining tests for the PSP interface on GPU
[ ] Potentially add testing with KernelAbstractions.jl (does that support broadcasting?), oneAPI.jl and Metal.jl
[ ] Automatic testing in CI with GPU capable runners
[ ] Add version checks for the GPU tests, since not all libraries work on all versions and there's nothing really we can do about that other than disabling the tests on those versions
[ ] Use PkgExtensions to only optionally load the GPU libraries, since this takes a long time and should only be done when specifically requested.
This PR adds GPU support. It adds tests that run conditionally on AMDGPU.jl and/or CUDA.jl, depending on whether they are functional on the machine we're running on.
This PR depends on the fix https://github.com/QEDjl-project/QEDbase.jl/pull/64 and is rebased to #68.
Left to do:
_total_probability
function which currently does not work on GPU because ofquadgk