From 16fe362d559f96ca36571293310c2a9efe3865a0 Mon Sep 17 00:00:00 2001
From: Matthieu Schaller <matthieu.schaller@durham.ac.uk>
Date: Wed, 1 Dec 2021 20:53:31 +0000
Subject: [PATCH] Fix the hydro density checks for the time-step limiter loops.
 Since these loops use atomic updates, we must also use atomic updates for
 these quantities

---
 src/timestep_limiter_iact.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/timestep_limiter_iact.h b/src/timestep_limiter_iact.h
index 4d40f09b41..8e528f0f93 100644
--- a/src/timestep_limiter_iact.h
+++ b/src/timestep_limiter_iact.h
@@ -92,10 +92,10 @@ __attribute__((always_inline)) INLINE static void runner_iact_limiter(
   const float uj = r * hj_inv;
   kernel_eval(uj, &wj);
 
-  pi->limiter_data.n_limiter += wi;
-  pj->limiter_data.n_limiter += wj;
-  pi->limiter_data.N_limiter++;
-  pj->limiter_data.N_limiter++;
+  accumulate_add_f(&pi->limiter_data.n_limiter, wi);
+  accumulate_add_f(&pj->limiter_data.n_limiter, wj);
+  accumulate_inc_i(&pi->limiter_data.N_limiter);
+  accumulate_inc_i(&pj->limiter_data.N_limiter);
 #endif
 }
 
@@ -122,8 +122,8 @@ __attribute__((always_inline)) INLINE static void runner_iact_nonsym_limiter(
   const float ui = r * hi_inv;
   kernel_eval(ui, &wi);
 
-  pi->limiter_data.n_limiter += wi;
-  pi->limiter_data.N_limiter++;
+  accumulate_add_f(&pi->limiter_data.n_limiter, wi);
+  accumulate_inc_i(&pi->limiter_data.N_limiter);
 #endif
 }
 
-- 
GitLab