From 9e82c468ab8ad6d929e982b1759c0049da7f6254 Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Fri, 1 Apr 2022 15:54:43 +0100 Subject: [PATCH 1/3] Multiplication of diagonal mass in exponentiate fixed for gpus --- Grid/qcd/action/fermion/CloverHelpers.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Grid/qcd/action/fermion/CloverHelpers.h b/Grid/qcd/action/fermion/CloverHelpers.h index cd62f515..72727279 100644 --- a/Grid/qcd/action/fermion/CloverHelpers.h +++ b/Grid/qcd/action/fermion/CloverHelpers.h @@ -417,8 +417,8 @@ public: pokeLocalSite(triangle_exp_tmp, triangleExp_v, lcoor); }); - Diagonal = Diagonal * diag_mass; - Triangle = Triangle * diag_mass; + Diagonal *= diag_mass; + Triangle *= diag_mass; } From 6577a03d1641df1f94cc53f1accd0d5485e325d0 Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Fri, 1 Apr 2022 18:39:12 +0100 Subject: [PATCH 2/3] Explcitly closed views in Exponentiate_Clover --- Grid/qcd/action/fermion/CloverHelpers.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Grid/qcd/action/fermion/CloverHelpers.h b/Grid/qcd/action/fermion/CloverHelpers.h index 72727279..67417fcd 100644 --- a/Grid/qcd/action/fermion/CloverHelpers.h +++ b/Grid/qcd/action/fermion/CloverHelpers.h @@ -417,6 +417,11 @@ public: pokeLocalSite(triangle_exp_tmp, triangleExp_v, lcoor); }); + diagonal_v.ViewClose(); + triangle_v.ViewClose(); + diagonalExp_v.ViewClose(); + triangleExp_v.ViewClose(); + Diagonal *= diag_mass; Triangle *= diag_mass; } From f23626a6b80a653c68d2a9d2860dc65c5be98f09 Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Sat, 2 Apr 2022 11:32:15 +0100 Subject: [PATCH 3/3] End scope by additional block in CloverHelpers.h --- Grid/qcd/action/fermion/CloverHelpers.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Grid/qcd/action/fermion/CloverHelpers.h b/Grid/qcd/action/fermion/CloverHelpers.h index 67417fcd..c72a79e8 100644 --- a/Grid/qcd/action/fermion/CloverHelpers.h +++ b/Grid/qcd/action/fermion/CloverHelpers.h @@ -332,7 +332,7 @@ public: conformable(Diagonal, Triangle); long lsites = grid->lSites(); - + { typedef typename SiteCloverDiagonal::scalar_object scalar_object_diagonal; typedef typename SiteCloverTriangle::scalar_object scalar_object_triangle; typedef iMatrix mat; @@ -416,11 +416,7 @@ public: pokeLocalSite(diagonal_exp_tmp, diagonalExp_v, lcoor); pokeLocalSite(triangle_exp_tmp, triangleExp_v, lcoor); }); - - diagonal_v.ViewClose(); - triangle_v.ViewClose(); - diagonalExp_v.ViewClose(); - triangleExp_v.ViewClose(); + } Diagonal *= diag_mass; Triangle *= diag_mass;