Disable PME GPU on Apple OpenCL
authorSzilárd Páll <pall.szilard@gmail.com>
Thu, 25 Apr 2019 09:16:29 +0000 (11:16 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Wed, 19 Jun 2019 20:10:30 +0000 (22:10 +0200)
Apple's OpenCL compiler seems to be unable to build a functional clFFT
which leads to a runtime error that aborts the runs rather than falling
back to PME-CPU. Hence this commit disabled PME-GPU on all Apple
platform builds.

Fixes #2941 #2719

Change-Id: I6afd19a56ced2e49d16ab598cd91527e6f73a1db

docs/release-notes/2019/2019.4.rst
docs/user-guide/mdrun-performance.rst
src/gromacs/ewald/pme.cpp

index d15356132fbcad4dac691dc89e699b5faedd47aa..5b28b662ad2d951edb3cc4e0bc204e14c9ecf27d 100644 (file)
@@ -22,6 +22,14 @@ Fixes for ``gmx`` tools
 Fixes that affect portability
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
+Disable PME OpenCL on Apple
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+The Apple OpenCL compilers fail to produce a functional clFFT build.
+The OpenCL PME support is therefore disabled on Apple platforms.
+
+:issue:`2941`
+
 Miscellaneous
 ^^^^^^^^^^^^^
 
index b6aab6ad82faa2e7bddf8df7f5300dc27b08ada7..2faed6a90379cbd4f8ed7002563a6ec574408434 100644 (file)
@@ -1082,7 +1082,7 @@ Known limitations
 
 **Please note again the limitations outlined below!**
 
-- Only compilation with CUDA is supported.
+- PME GPU offload is supported on NVIDIA hardware with CUDA and AMD hardware with OpenCL.
 
 - Only a PME order of 4 is supported on GPUs.
 
index d687e855cbb229a5a51d1164b1f731ddbe835190..c5f314b0b3a6ea955a8c7f9fcf1775135d083afc 100644 (file)
@@ -176,6 +176,9 @@ bool pme_gpu_supports_hardware(const gmx_hw_info_t &hwinfo,
         {
             errorReasons.emplace_back("non-AMD devices");
         }
+#ifdef __APPLE__
+        errorReasons.emplace_back("Apple OS X operating system");
+#endif
     }
     return addMessageIfNotSupported(errorReasons, error);
 }