From 441ba37928d599d81dfe75982e49e5b27d22cdbe Mon Sep 17 00:00:00 2001 From: Henry <henry.korb@geo.uu.se> Date: Tue, 25 Jan 2022 15:13:54 +0100 Subject: [PATCH] performance improvement in amd computation --- src/gpu/VirtualFluids_GPU/GPU/TurbulentViscosity.cu | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gpu/VirtualFluids_GPU/GPU/TurbulentViscosity.cu b/src/gpu/VirtualFluids_GPU/GPU/TurbulentViscosity.cu index 879357ca8..b232ca7ef 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/TurbulentViscosity.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/TurbulentViscosity.cu @@ -12,11 +12,11 @@ extern "C" __host__ __device__ __forceinline__ void calcDerivatives(const uint& { bool fluidP = (typeOfGridNode[kP] == GEO_FLUID); bool fluidM = (typeOfGridNode[kM] == GEO_FLUID); - real dif = c1o1/real(max(fluidP+fluidM, 1)); + real div = (fluidM & fluidP) ? c1o2 : c1o1; - dvx = ((fluidP*vx[kP]+(1-fluidP)*vx[k])-(fluidM*vx[kM]+(1-fluidM)*vx[k]))*dif; - dvy = ((fluidP*vy[kP]+(1-fluidP)*vy[k])-(fluidM*vy[kM]+(1-fluidM)*vy[k]))*dif; - dvz = ((fluidP*vz[kP]+(1-fluidP)*vz[k])-(fluidM*vz[kM]+(1-fluidM)*vz[k]))*dif; + dvx = ((fluidP ? vx[kP] : vx[k])-(fluidM ? vx[kM] : vx[k]))*div; + dvy = ((fluidP ? vy[kP] : vy[k])-(fluidM ? vy[kM] : vy[k]))*div; + dvz = ((fluidP ? vz[kP] : vz[k])-(fluidM ? vz[kM] : vz[k]))*div; } extern "C" __global__ void calcAMD(real* vx, -- GitLab