From 32e6d583568a3ca95df43fb28f970a24ec4c1e6d Mon Sep 17 00:00:00 2001 From: Ed Bennett Date: Wed, 22 Dec 2021 16:07:59 +0000 Subject: [PATCH] use accelerator for setCheckerboard in RHMC --- .../action/pseudofermion/EvenOddSchurDifferentiable.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Grid/qcd/action/pseudofermion/EvenOddSchurDifferentiable.h b/Grid/qcd/action/pseudofermion/EvenOddSchurDifferentiable.h index 0d74a560..c3bb8fd5 100644 --- a/Grid/qcd/action/pseudofermion/EvenOddSchurDifferentiable.h +++ b/Grid/qcd/action/pseudofermion/EvenOddSchurDifferentiable.h @@ -86,8 +86,13 @@ public: assert(ForceE.Checkerboard()==Even); assert(ForceO.Checkerboard()==Odd); +#if defined(GRID_CUDA) || defined(GRID_HIP) || defined(GRID_SYCL) + acceleratorSetCheckerboard(Force,ForceE); + acceleratorSetCheckerboard(Force,ForceO); +#else setCheckerboard(Force,ForceE); setCheckerboard(Force,ForceO); +#endif Force=-Force; delete forcecb; @@ -130,8 +135,13 @@ public: assert(ForceE.Checkerboard()==Even); assert(ForceO.Checkerboard()==Odd); +#if defined(GRID_CUDA) || defined(GRID_HIP) || defined(GRID_SYCL) + acceleratorSetCheckerboard(Force,ForceE); + acceleratorSetCheckerboard(Force,ForceO); +#else setCheckerboard(Force,ForceE); setCheckerboard(Force,ForceO); +#endif Force=-Force; delete forcecb;