include(gmxBuildTypeProfile)
include(gmxBuildTypeTSAN)
include(gmxBuildTypeASAN)
+include(gmxBuildTypeMSAN)
include(gmxBuildTypeReleaseWithAssert)
if(NOT CMAKE_BUILD_TYPE)
mark_as_advanced(GMX_COOL_QUOTES)
gmx_add_cache_dependency(GMX_COOL_QUOTES BOOL "NOT GMX_FAHCORE" OFF)
+option(GMX_USE_OPENCL "Enable OpenCL acceleration" OFF)
+
# Decide on GPU settings based on user-settings and GPU/CUDA detection.
# We support CUDA >=v4.0 on *nix, but <= v4.1 doesn't work with MSVC
if(MSVC)
set(REQUIRED_CUDA_VERSION 4.0)
endif()
set(REQUIRED_CUDA_COMPUTE_CAPABILITY 2.0)
-include(gmxManageGPU)
+
+# OpenCL required version: 1.1 or newer
+set(REQUIRED_OPENCL_MIN_VERSION 1.1)
+
+if(NOT GMX_USE_OPENCL)
+ # CUDA detection is done only if GMX_USE_OPENCL is OFF
+ include(gmxManageGPU)
+else()
+ #Now the OpenCL path
+ if(GMX_GPU)
+ include(gmxManageOpenCL)
+ else(GMX_GPU)
+ message(FATAL_ERROR "OpenCL requested but GPU option is not enabled (try -DGMX_GPU=on) ")
+ endif(GMX_GPU)
+endif()
include(gmxDetectSimd)
gmx_detect_simd(GMX_SUGGESTED_SIMD)
set(CMAKE_INSTALL_DIR share/cmake)
# TODO: Make GMXRC adapt if this is changed
set(PKGCONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig)
+set(OCL_INSTALL_DIR ${DATA_INSTALL_DIR}/opencl)
set(INCL_INSTALL_DIR include)
list(APPEND INSTALLED_HEADER_INCLUDE_DIRS ${INCL_INSTALL_DIR})