"platforms/vscode:/vscode.git/clone" did not exist on "b86e12ce8ddd8fcce8e3cedd9a2ca5dd73aaf074"
Commit 94fe05c2 authored by Peter Eastman's avatar Peter Eastman
Browse files

Eliminated having CMake run programs to check for CUDA and OpenCL compatible...

Eliminated having CMake run programs to check for CUDA and OpenCL compatible GPUs.  They mostly just caused problems.
parent e852683d
...@@ -14,54 +14,10 @@ ...@@ -14,54 +14,10 @@
# libOpenMMCuda_static[_d].a # libOpenMMCuda_static[_d].a
#---------------------------------------------------- #----------------------------------------------------
# Only run tests if this machine has a cuda-capable GPU set(OPENMM_BUILD_CUDA_TESTS TRUE CACHE BOOL "Whether to build CUDA test cases")
# So run a little test program at configuration time to sniff for GPUs if(OPENMM_BUILD_CUDA_TESTS)
# find_package(CUDA) # find_package has already run and causes trouble w/ cmake 2.4
# message("Checking for working GPU...")
# On Peter E.'s computer, DYLD_LIBRARY_PATH does not include the CUDA path, so in order to
# get this gpu-sniffer to work, we need to set DYLD_LIBRARY_PATH here.
get_filename_component(CUDART_DIR "${FOUND_CUDART}" PATH)
file(TO_NATIVE_PATH "${CUDART_DIR}" CUDART_NATIVE_DIR)
if(APPLE)
set(ENV{DYLD_LIBRARY_PATH} "$ENV{DYLD_LIBRARY_PATH}:${CUDART_NATIVE_DIR}")
elseif(UNIX)
set(ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}:${CUDART_NATIVE_DIR}")
elseif(MSVC)
set(ENV{PATH} "$ENV{PATH};${CUDART_NATIVE_DIR}")
endif(APPLE)
try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/tests/has_cuda_gpu.c
CMAKE_FLAGS
# -DINCLUDE_DIRECTORIES:STRING=${CUDA_TOOLKIT_INCLUDE}
# -DLINK_LIBRARIES:STRING=${CUDA_CUDART_LIBRARY}
-DINCLUDE_DIRECTORIES:STRING=${CUDA_INCLUDE}
-DLINK_LIBRARIES:STRING=${FOUND_CUDART}
COMPILE_OUTPUT_VARIABLE COMPILE_OUTPUT_VAR
RUN_OUTPUT_VARIABLE RUN_OUTPUT_VAR
)
# message("${RUN_OUTPUT_VAR}") # Display number of GPUs found
# COMPILE_RESULT_VAR is TRUE when compile succeeds
# RUN_RESULT_VAR is zero when a GPU is found
set(CUDA_HAVE_GPU_MAYBE TRUE)
if(NOT COMPILE_RESULT_VAR)
set(CUDA_HAVE_GPU_MAYBE FALSE)
endif(NOT COMPILE_RESULT_VAR)
if(RUN_RESULT_VAR)
set(CUDA_HAVE_GPU_MAYBE FALSE)
endif(RUN_RESULT_VAR)
if(CUDA_HAVE_GPU_MAYBE)
set(CUDA_HAVE_GPU TRUE CACHE BOOL "Whether CUDA-capable GPU is present")
# message("GPU check succeeded")
else(CUDA_HAVE_GPU_MAYBE)
set(CUDA_HAVE_GPU FALSE CACHE BOOL "Whether CUDA-capable GPU is present")
message("GPU check failed")
message("${COMPILE_OUTPUT_VAR}")
message("${RUN_OUTPUT_VAR}")
endif(CUDA_HAVE_GPU_MAYBE)
if(CUDA_HAVE_GPU)
SUBDIRS (tests) SUBDIRS (tests)
endif(CUDA_HAVE_GPU) endif(OPENMM_BUILD_CUDA_TESTS)
# The source is organized into subdirectories, but we handle them all from # The source is organized into subdirectories, but we handle them all from
# this CMakeLists file rather than letting CMake visit them as SUBDIRS. # this CMakeLists file rather than letting CMake visit them as SUBDIRS.
......
...@@ -19,52 +19,10 @@ IF (APPLE) ...@@ -19,52 +19,10 @@ IF (APPLE)
SET (CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.6.sdk") SET (CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.6.sdk")
ENDIF (APPLE) ENDIF (APPLE)
# Only run tests if this machine has a OpenCL-capable GPU set(OPENMM_BUILD_OPENCL_TESTS TRUE CACHE BOOL "Whether to build OpenCL test cases")
# So run a little test program at configuration time to sniff for GPUs if(OPENMM_BUILD_OPENCL_TESTS)
# But first, we need to set DYLD_LIBRARY_PATH here.
get_filename_component(OPENCL_LIB_DIR "${OPENCL_LIBRARY}" PATH)
file(TO_NATIVE_PATH "${OPENCL_LIB_DIR}" OPENCL_LIB_NATIVE_DIR)
if(APPLE)
set(ENV{DYLD_LIBRARY_PATH} "$ENV{DYLD_LIBRARY_PATH}:${OPENCL_LIB_NATIVE_DIR}")
elseif(UNIX)
set(ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}:${OPENCL_LIB_NATIVE_DIR}")
elseif(MSVC)
set(ENV{PATH} "$ENV{PATH};${OPENCL_LIB_NATIVE_DIR}")
endif(APPLE)
try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/tests/has_opencl_gpu.c
CMAKE_FLAGS
-DINCLUDE_DIRECTORIES:STRING=${OPENCL_INCLUDE_DIR}
-DLINK_LIBRARIES:STRING=${OPENCL_LIBRARY}
COMPILE_OUTPUT_VARIABLE COMPILE_OUTPUT_VAR
RUN_OUTPUT_VARIABLE RUN_OUTPUT_VAR
)
# message("${RUN_OUTPUT_VAR}") # Display number of GPUs found
# COMPILE_RESULT_VAR is TRUE when compile succeeds
# RUN_RESULT_VAR is zero when a GPU is found
set(OPENCL_HAVE_GPU_MAYBE TRUE)
if(NOT COMPILE_RESULT_VAR)
set(OPENCL_HAVE_GPU_MAYBE FALSE)
endif(NOT COMPILE_RESULT_VAR)
if(RUN_RESULT_VAR)
set(OPENCL_HAVE_GPU_MAYBE FALSE)
endif(RUN_RESULT_VAR)
if(OPENCL_HAVE_GPU_MAYBE)
set(OPENCL_HAVE_GPU TRUE CACHE BOOL "Whether OpenCL-capable GPU is present")
# Remain silent in case where GPU is found.
# message("GPU check succeeded")
# message("${COMPILE_OUTPUT_VAR}")
# message("${RUN_OUTPUT_VAR}")
else(OPENCL_HAVE_GPU_MAYBE)
set(OPENCL_HAVE_GPU FALSE CACHE BOOL "Whether OpenCL-capable GPU is present")
message("OpenCL GPU check failed")
message("${COMPILE_OUTPUT_VAR}")
message("${RUN_OUTPUT_VAR}")
endif(OPENCL_HAVE_GPU_MAYBE)
if(OPENCL_HAVE_GPU)
SUBDIRS (tests) SUBDIRS (tests)
endif(OPENCL_HAVE_GPU) endif(OPENMM_BUILD_OPENCL_TESTS)
# The source is organized into subdirectories, but we handle them all from # The source is organized into subdirectories, but we handle them all from
# this CMakeLists file rather than letting CMake visit them as SUBDIRS. # this CMakeLists file rather than letting CMake visit them as SUBDIRS.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment