More robust build system
This commit is contained in:
@@ -6,19 +6,24 @@ set(BLAS_LIBS atidlas)
|
||||
#CUBLAS
|
||||
find_package(CUDA)
|
||||
if(CUDA_FOUND)
|
||||
set(BLAS_DEF ${BLAS_DEF} "-DBENCH_CUBLAS")
|
||||
set(BLAS_DEF ${BLAS_DEF} "-DBENCH_CUBLAS")
|
||||
endif()
|
||||
#CLAMDBLAS
|
||||
include_directories(/opt/clAmdBlas-1.10.321/include/)
|
||||
set(BLAS_DEF ${BLAS_DEF} "-DBENCH_CLAMDBLAS")
|
||||
set(BLAS_LIBS ${BLAS_LIBS} /opt/clAmdBlas-1.10.321/lib64/libclAmdBlas.so)
|
||||
#CBLAS
|
||||
include_directories(/opt/intel/system_studio_2015.1.045/mkl/include/)
|
||||
set(BLAS_DEF ${BLAS_DEF} "-DBENCH_CBLAS")
|
||||
set(MKLROOT /opt/intel/system_studio_2015.1.045/mkl/)
|
||||
set(CCROOT /opt/intel/system_studio_2015.1.045/compiler/)
|
||||
set(BLAS_LIBS ${MKLROOT}/lib/intel64/libmkl_intel_lp64.so ${MKLROOT}/lib/intel64/libmkl_avx.so ${MKLROOT}/lib/intel64/libmkl_intel_thread.so ${BLAS_LIBS} ${MKLROOT}/lib/intel64/libmkl_core.so ${CCROOT}/lib/intel64/libiomp5.so pthread dl m)
|
||||
|
||||
#CLAMDBLAS
|
||||
find_package(CLAMDBLAS)
|
||||
if(CLAMDBLAS_FOUND)
|
||||
set(BLAS_DEF ${BLAS_DEF} "-DBENCH_CLAMDBLAS")
|
||||
include_directories(${CLAMDBLAS_INCLUDE_DIR})
|
||||
set(BLAS_LIBS ${BLAS_LIBS} ${CLAMDBLAS_LIBRARIES} )
|
||||
endif()
|
||||
|
||||
#CBLAS
|
||||
find_package(MKL)
|
||||
if(MKL_FOUND)
|
||||
set(BLAS_DEF ${BLAS_DEF} "-DBENCH_CBLAS")
|
||||
include_directories(${MKL_INCLUDE_DIR})
|
||||
set(BLAS_LIBS ${BLAS_LIBS} ${MKL_LIBRARIES} )
|
||||
endif()
|
||||
|
||||
string(REPLACE ";" " " BLAS_DEF_STR "${BLAS_DEF}")
|
||||
|
||||
|
14
cmake_modules/FindCLAMDBLAS.cmake
Normal file
14
cmake_modules/FindCLAMDBLAS.cmake
Normal file
@@ -0,0 +1,14 @@
|
||||
file(GLOB CLAMDBLAS_ROOT /opt/clAmdBlas*)
|
||||
set(CLAMDBLAS_INCLUDE_HINTS "${CLAMDBLAS_ROOT}/include")
|
||||
set(CLAMDBLAS_LIBRARIES_HINTS "${CLAMDBLAS_ROOT}/lib64")
|
||||
|
||||
find_path(CLAMDBLAS_INCLUDE_DIR clAmdBlas.h HINTS ${CLAMDBLAS_INCLUDE_HINTS})
|
||||
find_library(CLAMDBLAS_LIBRARIES NAMES clAmdBlas HINTS ${CLAMDBLAS_LIBRARIES_HINTS})
|
||||
|
||||
if(CLAMDBLAS_LIBRARIES)
|
||||
set(CLAMDBLAS_LIBRARIES ${CLAMDBLAS_LIBRARIES})
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(CLAMDBLAS DEFAULT_MSG CLAMDBLAS_LIBRARIES CLAMDBLAS_INCLUDE_DIR)
|
||||
mark_as_advanced(CLAMDBLAS)
|
28
cmake_modules/FindMKL.cmake
Normal file
28
cmake_modules/FindMKL.cmake
Normal file
@@ -0,0 +1,28 @@
|
||||
file(GLOB SYSTEM_STUDIO_ROOT /opt/intel/system_studio_*)
|
||||
|
||||
find_path(MKL_INCLUDE_DIR mkl_blas.h
|
||||
HINTS
|
||||
${SYSTEM_STUDIO_ROOT}/mkl/include/)
|
||||
|
||||
find_library(MKL_LIBRARIES NAMES mkl_core
|
||||
HINTS
|
||||
${SYSTEM_STUDIO_ROOT}/mkl/lib/intel64/)
|
||||
|
||||
find_library(ICC_LIBRARIES NAMES iomp5
|
||||
HINTS
|
||||
${SYSTEM_STUDIO_ROOT}/compiler/lib/intel64/)
|
||||
|
||||
if(ICC_LIBRARIES)
|
||||
set(OMP_LIBRARIES ${ICC_LIBRARIES})
|
||||
else()
|
||||
set(OMP_LIBRARIES gomp)
|
||||
endif()
|
||||
|
||||
|
||||
if(MKL_LIBRARIES AND OMP_LIBRARIES)
|
||||
set(MKL_LIBRARIES mkl_intel_lp64 mkl_avx mkl_intel_thread ${MKL_LIBRARIES} ${OMP_LIBRARIES} pthread)
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(MKL DEFAULT_MSG MKL_LIBRARIES MKL_INCLUDE_DIR)
|
||||
mark_as_advanced(MKL)
|
Reference in New Issue
Block a user