From 906737058526ae6d72165a6a89dc84e381c58417 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Szil=C3=A1rd=20P=C3=A1ll?= Date: Mon, 10 Feb 2020 19:30:22 +0100 Subject: [PATCH] Fix incorrect GPU update task assignment fallback This change fixes the incorrect fallback condition in the GPU update task assignment. This also eliminates the assertion trigerred in do_md() where the correct form of the check is asserted on. Since the fallback path only triggers when the GPU update would be used by default this only affected runs with GMX_FORCE_UPDATE_DEFAULT_GPU. Change-Id: I8b2b506fa998b6ed5e6d6d8ae4b78e27006df199 --- src/gromacs/taskassignment/decidegpuusage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gromacs/taskassignment/decidegpuusage.cpp b/src/gromacs/taskassignment/decidegpuusage.cpp index 9e6a069a19..fdb7414212 100644 --- a/src/gromacs/taskassignment/decidegpuusage.cpp +++ b/src/gromacs/taskassignment/decidegpuusage.cpp @@ -567,9 +567,9 @@ bool decideWhetherToUseGpuForUpdate(const bool forceGpuUpdateDefault, errorMessage += "SHAKE constraints are not supported.\n"; } // Using the GPU-version of update if: - // 1. PME is on the GPU (there should be a copy of coordinates on GPU for PME spread), or + // 1. PME is on the GPU (there should be a copy of coordinates on GPU for PME spread) or inactive, or // 2. Non-bonded interactions are on the GPU. - if (pmeRunMode == PmeRunMode::CPU && !useGpuForNonbonded) + if ((pmeRunMode == PmeRunMode::CPU || pmeRunMode == PmeRunMode::None) && !useGpuForNonbonded) { errorMessage += "Either PME or short-ranged non-bonded interaction tasks must run on the GPU.\n"; -- 2.22.0