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