Don't warn about NVML clocks that are at max
authorErik Lindahl <erik@kth.se>
Sun, 10 Dec 2017 17:21:32 +0000 (18:21 +0100)
committerMark Abraham <mark.j.abraham@gmail.com>
Mon, 11 Dec 2017 11:59:56 +0000 (12:59 +0100)
If the clocks are already maxed out there is no
point in echoing warnings about not being able
to set them.

Fixes #2313.

Change-Id: I77bc7111489166b580c2d7742a7729c003f25e9e

src/gromacs/gpu_utils/gpu_utils.cu

index 5364ff64c0f7d60c782611981399da10cb1f560e..84e918fc01170c3e5262e9393e591df1eafab1a8 100644 (file)
@@ -435,9 +435,13 @@ static gmx_bool init_gpu_application_clocks(
 
     if (cuda_compute_capability >= 60)
     {
-        GMX_LOG(mdlog.warning).asParagraph().appendTextFormatted(
-                "Cannot change application clocks for %s to optimal values due to insufficient permissions. Current values are (%d,%d), max values are (%d,%d).\nPlease contact your admin to change application clocks.\n",
-                cuda_dev->prop.name, cuda_dev->nvml_orig_app_mem_clock, cuda_dev->nvml_orig_app_sm_clock, max_mem_clock, max_sm_clock);
+        // Only warn about not being able to change clocks if they are not already at the max values
+        if (max_mem_clock > cuda_dev->nvml_orig_app_mem_clock || max_sm_clock > cuda_dev->nvml_orig_app_sm_clock)
+        {
+            GMX_LOG(mdlog.warning).asParagraph().appendTextFormatted(
+                    "Cannot change application clocks for %s to optimal values due to insufficient permissions. Current values are (%d,%d), max values are (%d,%d).\nPlease contact your admin to change application clocks.\n",
+                    cuda_dev->prop.name, cuda_dev->nvml_orig_app_mem_clock, cuda_dev->nvml_orig_app_sm_clock, max_mem_clock, max_sm_clock);
+        }
         return true;
     }
 
@@ -454,9 +458,13 @@ static gmx_bool init_gpu_application_clocks(
 
     if (cuda_dev->nvml_is_restricted != NVML_FEATURE_DISABLED)
     {
-        GMX_LOG(mdlog.warning).asParagraph().appendTextFormatted(
-                "Cannot change application clocks for %s to optimal values due to insufficient permissions. Current values are (%d,%d), max values are (%d,%d).\nUse sudo nvidia-smi -acp UNRESTRICTED or contact your admin to change application clocks.",
-                cuda_dev->prop.name, cuda_dev->nvml_orig_app_mem_clock, cuda_dev->nvml_orig_app_sm_clock, max_mem_clock, max_sm_clock);
+        // Only warn about not being able to change clocks if they are not already at the max values
+        if (max_mem_clock > cuda_dev->nvml_orig_app_mem_clock || max_sm_clock > cuda_dev->nvml_orig_app_sm_clock)
+        {
+            GMX_LOG(mdlog.warning).asParagraph().appendTextFormatted(
+                    "Cannot change application clocks for %s to optimal values due to insufficient permissions. Current values are (%d,%d), max values are (%d,%d).\nUse sudo nvidia-smi -acp UNRESTRICTED or contact your admin to change application clocks.",
+                    cuda_dev->prop.name, cuda_dev->nvml_orig_app_mem_clock, cuda_dev->nvml_orig_app_sm_clock, max_mem_clock, max_sm_clock);
+        }
         return true;
     }