Loading CMakeLists.txt +8 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,12 @@ cmake_policy(SET CMP0074 NEW) # Include CMake scripts from cmake directory. list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) ################################################################################ # enable add_test cmake commands enable_testing() ################################################################################ # enable CTest/CDash dashboard integration include(CTest) ################################################################################ Loading Loading @@ -112,7 +117,7 @@ if(DCA_HAVE_CUDA) include_directories(${CUDA_TOOLKIT_INCLUDE}) endif(DCA_HAVE_CUDA) if(DCA_HAVE_MAGMA) include_directories(${MAGMA_INCLUDE_DIR}) include_directories(${MAGMA_INCLUDE_DIRS}) endif(DCA_HAVE_MAGMA) ################################################################################ # Libraries Loading cmake/FindFFTW.cmake +120 −59 Original line number Diff line number Diff line # ================================================================================================== # This file is part of the CodeVault project. The project is licensed under Apache Version 2.0. # CodeVault is part of the EU-project PRACE-4IP (WP7.3.C). # - Find the FFTW library # # Author(s): # Cedric Nugteren <cedric.nugteren@surfsara.nl> # Usage: # find_package(FFTW [REQUIRED] [QUIET] ) # # ================================================================================================== # It sets the following variables: # FFTW_FOUND ... true if fftw is found on the system # FFTW_LIBRARIES ... full path to fftw library # FFTW_INCLUDE_DIRS ... fftw include directory # # Defines the following variables: # FFTW_FOUND Boolean holding whether or not the FFTW3 library was found # FFTW_INCLUDE_DIRS The FFTW3 include directory # FFTW_LIBRARIES The FFTW3 library # The following variables will be checked by the function # FFTW_USE_STATIC_LIBS ... if true, only static libraries are found # FFTW_ROOT ... if set, the libraries are exclusively searched # under this path # FFTW_LIBRARY ... fftw library to use # FFTW_INCLUDE_DIR ... fftw include directory # # In case FFTW3 is not installed in the default directory, set the FFTW_ROOT variable to point to # the root of FFTW3, such that 'fftw3.h' can be found in $FFTW_ROOT/include. This can either be done # using an environmental variable (e.g. export FFTW_ROOT=/path/to/fftw3) or using a CMake variable # (e.g. cmake -DFFTW_ROOT=/path/to/fftw3 ..). # # ================================================================================================== # Sets the possible install locations set(FFTW_HINTS ${FFTW_ROOT} $ENV{FFTW_ROOT} include(FindPackageMessage) #If environment variable FFTWDIR is specified, it has same effect as FFTW_ROOT if( NOT FFTW_ROOT AND ENV{FFTWDIR} ) set( FFTW_ROOT $ENV{FFTWDIR} ) endif() # Check if we can use PkgConfig find_package(PkgConfig) #Determine from PKG if(PKG_CONFIG_FOUND) pkg_check_modules( PKG_FFTW QUIET "fftw3" ) endif() #Check whether to search static or dynamic libs set( CMAKE_FIND_LIBRARY_SUFFIXES_SAV ${CMAKE_FIND_LIBRARY_SUFFIXES} ) if( ${FFTW_USE_STATIC_LIBS} ) set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX} ) else() set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_STATIC_LIBRARY_SUFFIX}) endif() if( FFTW_ROOT ) # libraries find_library( FFTW_LIB NAMES fftw3 PATHS ${FFTW_ROOT} PATH_SUFFIXES "lib" "lib64" NO_DEFAULT_PATH ) set(FFTW_PATHS /usr /usr/local find_library( FFTWF_LIB NAMES "fftw3f" PATHS "${FFTW_ROOT}" PATH_SUFFIXES "lib" "lib64" NO_DEFAULT_PATH ) # Finds the include directories find_path(FFTW_INCLUDE_DIRS NAMES fftw3.h HINTS ${FFTW_HINTS} PATH_SUFFIXES include api inc include/x86_64 include/x64 PATHS ${FFTW_PATHS} DOC "FFTW3 include header fftw3.h" find_library( FFTWL_LIB NAMES "fftw3l" PATHS "${FFTW_ROOT}" PATH_SUFFIXES "lib" "lib64" NO_DEFAULT_PATH ) mark_as_advanced(FFTW_INCLUDE_DIRS) # Finds the library find_library(FFTW_LIBRARIES NAMES fftw3 HINTS ${FFTW_HINTS} PATH_SUFFIXES lib lib64 lib/x86_64 lib/x64 lib/x86 lib/Win32 PATHS ${FFTW_PATHS} DOC "FFTW3 library" # includes find_path( FFTW_INCLUDE_DIRS NAMES "fftw3.h" PATHS ${FFTW_ROOT} PATH_SUFFIXES "include" NO_DEFAULT_PATH ) mark_as_advanced(FFTW_LIBRARIES) # ================================================================================================== else() # Notification messages if(NOT FFTW_INCLUDE_DIRS) message(STATUS "Could NOT find 'fftw3.h', install FFTW3 or set FFTW_ROOT") find_library( FFTW_LIB NAMES "fftw3" PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR} ) find_library( FFTWF_LIB NAMES "fftw3f" PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR} ) find_library( FFTWL_LIB NAMES "fftw3l" PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR} ) find_path( FFTW_INCLUDE_DIRS NAMES "fftw3.h" PATHS ${PKG_FFTW_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} ) endif( FFTW_ROOT ) set(FFTW_LIBRARY ${FFTW_LIB}) set(FFTW_LIBRARIES ${FFTW_LIB} ) if(FFTWF_LIB) set(FFTW_LIBRARIES ${FFTW_LIBRARIES} ${FFTWF_LIB}) endif() if(NOT FFTW_LIBRARIES) message(STATUS "Could NOT find the FFTW3 library, install it or set FFTW_ROOT") if(FFTWL_LIB) set(FFTW_LIBRARIES ${FFTW_LIBRARIES} ${FFTWL_LIB}) endif() # Determines whether or not FFTW3 was found set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SAV} ) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(FFTW DEFAULT_MSG FFTW_INCLUDE_DIRS FFTW_LIBRARIES) find_package_handle_standard_args(FFTW DEFAULT_MSG FFTW_INCLUDE_DIRS FFTW_LIBRARIES) mark_as_advanced(FFTW_INCLUDE_DIRS FFTW_LIBRARIES FFTW_LIB FFTWF_LIB FFTWL_LIB) if(FFTW_FOUND) find_package_message(FFTW "Found FFTW: ${FFTW_LIBRARIES}" "[${FFTW_INCLUDE_DIRS}]") endif() # ================================================================================================== message("FFTW found ${FFTW_FOUND} ${FFTW_INCLUDE_DIRS} ${FFTW_LIBRARIES}") cmake/FindMAGMA.cmake 0 → 100644 +147 −0 Original line number Diff line number Diff line # - Find the MAGMA library # # Usage: # FIND_PACKAGE(MAGMA [REQUIRED] [QUIET] ) # # It sets the following variables: # MAGMA_FOUND ... true if MAGMA is found on the system # MAGMA_LIBRARIES ... full path to MAGMA library # MAGMA_INCLUDE_DIRS ... MAGMA include directory # include(FindPackageMessage) SET(MAGMA_ROOT CACHE STRING "Root directory for MAGMA implementation") # Check if we can use PkgConfig FIND_PACKAGE(PkgConfig) # Determine from PKG IF(PKG_CONFIG_FOUND AND NOT MAGMA_ROOT) PKG_CHECK_MODULES( PC_MAGMA QUIET "magma") ENDIF() IF(PC_MAGMA_FOUND) FOREACH(PC_LIB ${PC_MAGMA_LIBRARIES}) FIND_LIBRARY(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_MAGMA_LIBRARY_DIRS} ) IF (NOT ${PC_LIB}_LIBRARY) MESSAGE(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_MAGMA_LIBRARY_DIRS}") ENDIF (NOT ${PC_LIB}_LIBRARY) LIST(APPEND MAGMA_LIB ${${PC_LIB}_LIBRARY}) ENDFOREACH(PC_LIB) FIND_PATH( MAGMA_INCLUDE_DIRS NAMES "magma.h" PATHS ${PC_MAGMA_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} /usr/include /usr/local/include /sw/include /opt/local/include DOC "MAGMA Include Directory" ) FIND_PACKAGE_HANDLE_STANDARD_ARGS(MAGMA DEFAULT_MSG MAGMA_LIB) MARK_AS_ADVANCED(MAGMA_INCLUDE_DIRS MAGMA_LIB) ELSE(PC_MAGMA_FOUND) IF(MAGMA_DIR AND NOT MAGMA_ROOT) set(MAGMA_ROOT "${MAGMA_DIR}") ENDIF() IF(MAGMA_ROOT) #find libs FIND_LIBRARY( MAGMA_LIB NAMES "magma" "MAGMA" PATHS ${MAGMA_ROOT} PATH_SUFFIXES "lib" "lib64" "lib/ia32" "lib/intel64" DOC "MAGMA Library" NO_DEFAULT_PATH ) FIND_PATH( MAGMA_INCLUDE_DIRS NAMES "magma.h" PATHS ${MAGMA_ROOT} HINTS ENV OLCF_MAGMA_ROOT ENV MAGMADIR ENV MAGMA_ROOT ENV MAGMA_ROOT_DIR PATH_SUFFIXES "include" DOC "MAGMA Include Directory" NO_DEFAULT_PATH ) ELSE() FIND_LIBRARY( MAGMA_LIB NAMES "magma" PATHS ${PC_MAGMA_LIBRARY_DIRS} ${LIB_INSTALL_DIR} /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib /sw/lib /opt/local/lib HINTS ENV OLCF_MAGMA_ROOT ENV MAGMADIR ENV MAGMA_DIR ENV MAGMA_ROOT ENV MAGMA_ROOT_DIR PATH_SUFFIXES "lib" "lib64" "lib/ia32" "lib/intel64" DOC "MAGMA Library" ) FIND_PATH( MAGMA_INCLUDE_DIRS NAMES "magma.h" PATHS ${PC_MAGMA_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} /usr/include /usr/local/include /sw/include /opt/local/include HINTS ENV OLCF_MAGMA_ROOT ENV MAGMADIR ENV MAGMA_DIR ENV MAGMA_ROOT ENV MAGMA_ROOT_DIR PATH_SUFFIXES "include" "lapacke" DOC "MAGMA Include Directory" ) ENDIF(MAGMA_ROOT) ENDIF(PC_MAGMA_FOUND) IF(PC_MAGMA_FOUND OR (MAGMA_LIB)) SET(MAGMA_LIBRARIES ${MAGMA_LIB}) ENDIF() IF(MAGMA_INCLUDE_DIRS) SET(MAGMA_INCLUDE_DIR ${MAGMA_INCLUDE_DIRS}) ENDIF() INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(MAGMA DEFAULT_MSG MAGMA_INCLUDE_DIRS MAGMA_LIBRARIES) FIND_PACKAGE_MESSAGE(MAGMA "Found MAGMA: ${MAGMA_LIBRARIES}" "[${MAGMA_INCLUDE_DIRS}]") MARK_AS_ADVANCED( MAGMA_ROOT MAGMA_INCLUDE_DIRS MAGMA_INCLUDE_DIR MAGMA_LIBRARIES MAGMA_LIB) cmake/dca_cuda.cmake +4 −8 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ # In addition, set DCA_CUDA_LIBS. set(CUDA_GPU_ARCH "sm_60" CACHE STRING "Name of the real architecture to build for.") set(MAGMA_DIR "" CACHE PATH "Path to the MAGMA installation directory. Hint for CMake to find MAGMA.") set(DCA_HAVE_CUDA FALSE CACHE INTERNAL "") set(DCA_HAVE_MAGMA FALSE CACHE INTERNAL "") Loading @@ -20,16 +19,13 @@ if (CUDA_FOUND) list(APPEND DCA_CUDA_LIBS ${CUDA_LIBRARIES} ${CUDA_cusparse_LIBRARY} ${CUDA_cublas_LIBRARY}) CUDA_INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) set(CUDA_SEPARABLE_COMPILATION ON) set(CUDA_PROPAGATE_HOST_FLAGS OFF) endif() # Find MAGMA. find_library(MAGMA_LIBRARY NAMES libmagma.a magma HINTS ${MAGMA_DIR}/lib) find_path(MAGMA_INCLUDE_DIR magma.h HINTS ${MAGMA_DIR}/include) mark_as_advanced(MAGMA_LIBRARY MAGMA_INCLUDE_DIR) find_package(MAGMA REQUIRED) if (MAGMA_LIBRARY AND MAGMA_INCLUDE_DIR) if (MAGMA_FOUND) set(DCA_HAVE_MAGMA TRUE CACHE INTERNAL "") dca_add_haves_define(DCA_HAVE_MAGMA) # magma as of 2.2.0 is setup to build with openmp Loading @@ -45,7 +41,7 @@ endif() # At the moment the GPU code requires MAGMA. Therefore we set DCA_HAVE_CUDA to true, only if both # CUDA and MAGMA have been found. if (CUDA_FOUND AND DCA_HAVE_MAGMA) if (CUDA_FOUND AND MAGMA_FOUND) set(DCA_HAVE_CUDA TRUE CACHE INTERNAL "") dca_add_haves_define(DCA_HAVE_CUDA) endif() cmake/dca_external_libs.cmake +3 −3 Original line number Diff line number Diff line Loading @@ -10,7 +10,8 @@ set(DCA_EXTERNAL_LIBS "" CACHE INTERNAL "") set(DCA_EXTERNAL_INCLUDE_DIRS "" CACHE INTERNAL "") ################################################################################ # Lapack # Lapack - if the user has a custom setting for linear algebra, they # will set DCA_HAVE_LAPACK and LAPACK_LIBRARIES if (NOT DCA_HAVE_LAPACK) mark_as_advanced(LAPACK_LIBRARIES) find_package(MKL QUIET) Loading Loading @@ -40,9 +41,8 @@ list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS} ${HDF5_INCLUDE_DIR}) # use find_package, if it was not found, use the old versions of lib/inc dirs find_package(FFTW QUIET) if (FFTW_FOUND) set(FFTW_LIBRARY ${FFTW_LIBRARIES}) list(APPEND DCA_EXTERNAL_LIBS ${FFTW_LIBRARY}) list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${FFTW_INCLUDE_DIRS} ${FFTW_INCLUDE_DIR}) list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${FFTW_INCLUDE_DIRS} ${FFTW_INCLUDE_DIRS}) endif() ################################################################################ Loading Loading
CMakeLists.txt +8 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,12 @@ cmake_policy(SET CMP0074 NEW) # Include CMake scripts from cmake directory. list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) ################################################################################ # enable add_test cmake commands enable_testing() ################################################################################ # enable CTest/CDash dashboard integration include(CTest) ################################################################################ Loading Loading @@ -112,7 +117,7 @@ if(DCA_HAVE_CUDA) include_directories(${CUDA_TOOLKIT_INCLUDE}) endif(DCA_HAVE_CUDA) if(DCA_HAVE_MAGMA) include_directories(${MAGMA_INCLUDE_DIR}) include_directories(${MAGMA_INCLUDE_DIRS}) endif(DCA_HAVE_MAGMA) ################################################################################ # Libraries Loading
cmake/FindFFTW.cmake +120 −59 Original line number Diff line number Diff line # ================================================================================================== # This file is part of the CodeVault project. The project is licensed under Apache Version 2.0. # CodeVault is part of the EU-project PRACE-4IP (WP7.3.C). # - Find the FFTW library # # Author(s): # Cedric Nugteren <cedric.nugteren@surfsara.nl> # Usage: # find_package(FFTW [REQUIRED] [QUIET] ) # # ================================================================================================== # It sets the following variables: # FFTW_FOUND ... true if fftw is found on the system # FFTW_LIBRARIES ... full path to fftw library # FFTW_INCLUDE_DIRS ... fftw include directory # # Defines the following variables: # FFTW_FOUND Boolean holding whether or not the FFTW3 library was found # FFTW_INCLUDE_DIRS The FFTW3 include directory # FFTW_LIBRARIES The FFTW3 library # The following variables will be checked by the function # FFTW_USE_STATIC_LIBS ... if true, only static libraries are found # FFTW_ROOT ... if set, the libraries are exclusively searched # under this path # FFTW_LIBRARY ... fftw library to use # FFTW_INCLUDE_DIR ... fftw include directory # # In case FFTW3 is not installed in the default directory, set the FFTW_ROOT variable to point to # the root of FFTW3, such that 'fftw3.h' can be found in $FFTW_ROOT/include. This can either be done # using an environmental variable (e.g. export FFTW_ROOT=/path/to/fftw3) or using a CMake variable # (e.g. cmake -DFFTW_ROOT=/path/to/fftw3 ..). # # ================================================================================================== # Sets the possible install locations set(FFTW_HINTS ${FFTW_ROOT} $ENV{FFTW_ROOT} include(FindPackageMessage) #If environment variable FFTWDIR is specified, it has same effect as FFTW_ROOT if( NOT FFTW_ROOT AND ENV{FFTWDIR} ) set( FFTW_ROOT $ENV{FFTWDIR} ) endif() # Check if we can use PkgConfig find_package(PkgConfig) #Determine from PKG if(PKG_CONFIG_FOUND) pkg_check_modules( PKG_FFTW QUIET "fftw3" ) endif() #Check whether to search static or dynamic libs set( CMAKE_FIND_LIBRARY_SUFFIXES_SAV ${CMAKE_FIND_LIBRARY_SUFFIXES} ) if( ${FFTW_USE_STATIC_LIBS} ) set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX} ) else() set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_STATIC_LIBRARY_SUFFIX}) endif() if( FFTW_ROOT ) # libraries find_library( FFTW_LIB NAMES fftw3 PATHS ${FFTW_ROOT} PATH_SUFFIXES "lib" "lib64" NO_DEFAULT_PATH ) set(FFTW_PATHS /usr /usr/local find_library( FFTWF_LIB NAMES "fftw3f" PATHS "${FFTW_ROOT}" PATH_SUFFIXES "lib" "lib64" NO_DEFAULT_PATH ) # Finds the include directories find_path(FFTW_INCLUDE_DIRS NAMES fftw3.h HINTS ${FFTW_HINTS} PATH_SUFFIXES include api inc include/x86_64 include/x64 PATHS ${FFTW_PATHS} DOC "FFTW3 include header fftw3.h" find_library( FFTWL_LIB NAMES "fftw3l" PATHS "${FFTW_ROOT}" PATH_SUFFIXES "lib" "lib64" NO_DEFAULT_PATH ) mark_as_advanced(FFTW_INCLUDE_DIRS) # Finds the library find_library(FFTW_LIBRARIES NAMES fftw3 HINTS ${FFTW_HINTS} PATH_SUFFIXES lib lib64 lib/x86_64 lib/x64 lib/x86 lib/Win32 PATHS ${FFTW_PATHS} DOC "FFTW3 library" # includes find_path( FFTW_INCLUDE_DIRS NAMES "fftw3.h" PATHS ${FFTW_ROOT} PATH_SUFFIXES "include" NO_DEFAULT_PATH ) mark_as_advanced(FFTW_LIBRARIES) # ================================================================================================== else() # Notification messages if(NOT FFTW_INCLUDE_DIRS) message(STATUS "Could NOT find 'fftw3.h', install FFTW3 or set FFTW_ROOT") find_library( FFTW_LIB NAMES "fftw3" PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR} ) find_library( FFTWF_LIB NAMES "fftw3f" PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR} ) find_library( FFTWL_LIB NAMES "fftw3l" PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR} ) find_path( FFTW_INCLUDE_DIRS NAMES "fftw3.h" PATHS ${PKG_FFTW_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} ) endif( FFTW_ROOT ) set(FFTW_LIBRARY ${FFTW_LIB}) set(FFTW_LIBRARIES ${FFTW_LIB} ) if(FFTWF_LIB) set(FFTW_LIBRARIES ${FFTW_LIBRARIES} ${FFTWF_LIB}) endif() if(NOT FFTW_LIBRARIES) message(STATUS "Could NOT find the FFTW3 library, install it or set FFTW_ROOT") if(FFTWL_LIB) set(FFTW_LIBRARIES ${FFTW_LIBRARIES} ${FFTWL_LIB}) endif() # Determines whether or not FFTW3 was found set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SAV} ) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(FFTW DEFAULT_MSG FFTW_INCLUDE_DIRS FFTW_LIBRARIES) find_package_handle_standard_args(FFTW DEFAULT_MSG FFTW_INCLUDE_DIRS FFTW_LIBRARIES) mark_as_advanced(FFTW_INCLUDE_DIRS FFTW_LIBRARIES FFTW_LIB FFTWF_LIB FFTWL_LIB) if(FFTW_FOUND) find_package_message(FFTW "Found FFTW: ${FFTW_LIBRARIES}" "[${FFTW_INCLUDE_DIRS}]") endif() # ================================================================================================== message("FFTW found ${FFTW_FOUND} ${FFTW_INCLUDE_DIRS} ${FFTW_LIBRARIES}")
cmake/FindMAGMA.cmake 0 → 100644 +147 −0 Original line number Diff line number Diff line # - Find the MAGMA library # # Usage: # FIND_PACKAGE(MAGMA [REQUIRED] [QUIET] ) # # It sets the following variables: # MAGMA_FOUND ... true if MAGMA is found on the system # MAGMA_LIBRARIES ... full path to MAGMA library # MAGMA_INCLUDE_DIRS ... MAGMA include directory # include(FindPackageMessage) SET(MAGMA_ROOT CACHE STRING "Root directory for MAGMA implementation") # Check if we can use PkgConfig FIND_PACKAGE(PkgConfig) # Determine from PKG IF(PKG_CONFIG_FOUND AND NOT MAGMA_ROOT) PKG_CHECK_MODULES( PC_MAGMA QUIET "magma") ENDIF() IF(PC_MAGMA_FOUND) FOREACH(PC_LIB ${PC_MAGMA_LIBRARIES}) FIND_LIBRARY(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_MAGMA_LIBRARY_DIRS} ) IF (NOT ${PC_LIB}_LIBRARY) MESSAGE(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_MAGMA_LIBRARY_DIRS}") ENDIF (NOT ${PC_LIB}_LIBRARY) LIST(APPEND MAGMA_LIB ${${PC_LIB}_LIBRARY}) ENDFOREACH(PC_LIB) FIND_PATH( MAGMA_INCLUDE_DIRS NAMES "magma.h" PATHS ${PC_MAGMA_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} /usr/include /usr/local/include /sw/include /opt/local/include DOC "MAGMA Include Directory" ) FIND_PACKAGE_HANDLE_STANDARD_ARGS(MAGMA DEFAULT_MSG MAGMA_LIB) MARK_AS_ADVANCED(MAGMA_INCLUDE_DIRS MAGMA_LIB) ELSE(PC_MAGMA_FOUND) IF(MAGMA_DIR AND NOT MAGMA_ROOT) set(MAGMA_ROOT "${MAGMA_DIR}") ENDIF() IF(MAGMA_ROOT) #find libs FIND_LIBRARY( MAGMA_LIB NAMES "magma" "MAGMA" PATHS ${MAGMA_ROOT} PATH_SUFFIXES "lib" "lib64" "lib/ia32" "lib/intel64" DOC "MAGMA Library" NO_DEFAULT_PATH ) FIND_PATH( MAGMA_INCLUDE_DIRS NAMES "magma.h" PATHS ${MAGMA_ROOT} HINTS ENV OLCF_MAGMA_ROOT ENV MAGMADIR ENV MAGMA_ROOT ENV MAGMA_ROOT_DIR PATH_SUFFIXES "include" DOC "MAGMA Include Directory" NO_DEFAULT_PATH ) ELSE() FIND_LIBRARY( MAGMA_LIB NAMES "magma" PATHS ${PC_MAGMA_LIBRARY_DIRS} ${LIB_INSTALL_DIR} /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib /sw/lib /opt/local/lib HINTS ENV OLCF_MAGMA_ROOT ENV MAGMADIR ENV MAGMA_DIR ENV MAGMA_ROOT ENV MAGMA_ROOT_DIR PATH_SUFFIXES "lib" "lib64" "lib/ia32" "lib/intel64" DOC "MAGMA Library" ) FIND_PATH( MAGMA_INCLUDE_DIRS NAMES "magma.h" PATHS ${PC_MAGMA_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} /usr/include /usr/local/include /sw/include /opt/local/include HINTS ENV OLCF_MAGMA_ROOT ENV MAGMADIR ENV MAGMA_DIR ENV MAGMA_ROOT ENV MAGMA_ROOT_DIR PATH_SUFFIXES "include" "lapacke" DOC "MAGMA Include Directory" ) ENDIF(MAGMA_ROOT) ENDIF(PC_MAGMA_FOUND) IF(PC_MAGMA_FOUND OR (MAGMA_LIB)) SET(MAGMA_LIBRARIES ${MAGMA_LIB}) ENDIF() IF(MAGMA_INCLUDE_DIRS) SET(MAGMA_INCLUDE_DIR ${MAGMA_INCLUDE_DIRS}) ENDIF() INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(MAGMA DEFAULT_MSG MAGMA_INCLUDE_DIRS MAGMA_LIBRARIES) FIND_PACKAGE_MESSAGE(MAGMA "Found MAGMA: ${MAGMA_LIBRARIES}" "[${MAGMA_INCLUDE_DIRS}]") MARK_AS_ADVANCED( MAGMA_ROOT MAGMA_INCLUDE_DIRS MAGMA_INCLUDE_DIR MAGMA_LIBRARIES MAGMA_LIB)
cmake/dca_cuda.cmake +4 −8 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ # In addition, set DCA_CUDA_LIBS. set(CUDA_GPU_ARCH "sm_60" CACHE STRING "Name of the real architecture to build for.") set(MAGMA_DIR "" CACHE PATH "Path to the MAGMA installation directory. Hint for CMake to find MAGMA.") set(DCA_HAVE_CUDA FALSE CACHE INTERNAL "") set(DCA_HAVE_MAGMA FALSE CACHE INTERNAL "") Loading @@ -20,16 +19,13 @@ if (CUDA_FOUND) list(APPEND DCA_CUDA_LIBS ${CUDA_LIBRARIES} ${CUDA_cusparse_LIBRARY} ${CUDA_cublas_LIBRARY}) CUDA_INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) set(CUDA_SEPARABLE_COMPILATION ON) set(CUDA_PROPAGATE_HOST_FLAGS OFF) endif() # Find MAGMA. find_library(MAGMA_LIBRARY NAMES libmagma.a magma HINTS ${MAGMA_DIR}/lib) find_path(MAGMA_INCLUDE_DIR magma.h HINTS ${MAGMA_DIR}/include) mark_as_advanced(MAGMA_LIBRARY MAGMA_INCLUDE_DIR) find_package(MAGMA REQUIRED) if (MAGMA_LIBRARY AND MAGMA_INCLUDE_DIR) if (MAGMA_FOUND) set(DCA_HAVE_MAGMA TRUE CACHE INTERNAL "") dca_add_haves_define(DCA_HAVE_MAGMA) # magma as of 2.2.0 is setup to build with openmp Loading @@ -45,7 +41,7 @@ endif() # At the moment the GPU code requires MAGMA. Therefore we set DCA_HAVE_CUDA to true, only if both # CUDA and MAGMA have been found. if (CUDA_FOUND AND DCA_HAVE_MAGMA) if (CUDA_FOUND AND MAGMA_FOUND) set(DCA_HAVE_CUDA TRUE CACHE INTERNAL "") dca_add_haves_define(DCA_HAVE_CUDA) endif()
cmake/dca_external_libs.cmake +3 −3 Original line number Diff line number Diff line Loading @@ -10,7 +10,8 @@ set(DCA_EXTERNAL_LIBS "" CACHE INTERNAL "") set(DCA_EXTERNAL_INCLUDE_DIRS "" CACHE INTERNAL "") ################################################################################ # Lapack # Lapack - if the user has a custom setting for linear algebra, they # will set DCA_HAVE_LAPACK and LAPACK_LIBRARIES if (NOT DCA_HAVE_LAPACK) mark_as_advanced(LAPACK_LIBRARIES) find_package(MKL QUIET) Loading Loading @@ -40,9 +41,8 @@ list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS} ${HDF5_INCLUDE_DIR}) # use find_package, if it was not found, use the old versions of lib/inc dirs find_package(FFTW QUIET) if (FFTW_FOUND) set(FFTW_LIBRARY ${FFTW_LIBRARIES}) list(APPEND DCA_EXTERNAL_LIBS ${FFTW_LIBRARY}) list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${FFTW_INCLUDE_DIRS} ${FFTW_INCLUDE_DIR}) list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${FFTW_INCLUDE_DIRS} ${FFTW_INCLUDE_DIRS}) endif() ################################################################################ Loading