mirror of https://github.com/QMCPACK/qmcpack.git
63 lines
2.2 KiB
CMake
63 lines
2.2 KiB
CMake
# CXX=g++-9 cmake .. -D CMAKE_BUILD_TYPE=Release -D CMAKE_CUDA_HOST_COMPILER=g++-9
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
project(
|
|
boost-multi-benchmark
|
|
VERSION 0.1
|
|
LANGUAGES CXX
|
|
)
|
|
|
|
find_package(Boost REQUIRED COMPONENTS serialization unit_test_framework system iostreams)
|
|
find_package(benchmark REQUIRED)
|
|
|
|
set(BLA_VENDOR Intel10_64lp) # . /opt/intel/oneapi/mkl/latest/env/vars.sh
|
|
find_package(BLAS)
|
|
if(BLAS_FOUND) # in some systems with MKL, regular BLAS headers need to be found for it to work
|
|
message("Multi/BLAS: MKL environment detected")
|
|
add_definitions(-DRETURN_BY_STACK)
|
|
else()
|
|
message("Multi/BLAS: MKL environment not detected, looking for other BLAS")
|
|
unset(BLA_VENDOR)
|
|
find_package(BLAS REQUIRED)
|
|
find_path(
|
|
BLAS_INCLUDE_DIRS
|
|
cblas.h
|
|
/usr/include
|
|
/usr/local/include
|
|
$ENV{BLAS_HOME}/include
|
|
)
|
|
endif()
|
|
link_libraries(${BLAS_LIBRARIES})
|
|
|
|
#find_package(BLAS REQUIRED)
|
|
#find_package(TBB REQUIRED HINTS "/usr")
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
#set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -arch=sm_61 -std=c++17 --use_fast_math --expt-relaxed-constexpr --extended-lambda") # set(CMAKE_CUDA_STANDARD 17)
|
|
|
|
enable_testing()
|
|
include(CTest)
|
|
|
|
# file(GLOB TEST_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
|
|
|
|
#add_executable(thrust_assignment.cu.x thrust_assignment.cu)
|
|
#add_test(NAME thrust_assignment.cu.x COMMAND thrust_assignment.cu.x)
|
|
#target_link_libraries(thrust_assignment.cu.x PRIVATE benchmark::benchmark)
|
|
|
|
add_executable(matrix_multiplication.cpp.x matrix_multiplication.cpp)
|
|
target_link_libraries(matrix_multiplication.cpp.x benchmark::benchmark)
|
|
target_link_libraries(matrix_multiplication.cpp.x -ltbb)
|
|
add_test(NAME matrix_multiplication.cpp.x COMMAND matrix_multiplication.cpp.x)
|
|
|
|
add_executable(algorithms_gemm.cpp.x algorithms_gemm.cpp)
|
|
target_link_libraries(algorithms_gemm.cpp.x benchmark::benchmark Boost::unit_test_framework)
|
|
target_link_libraries(algorithms_gemm.cpp.x -ltbb)
|
|
add_test(NAME algorithms_gemm.cpp.x COMMAND algorithms_gemm.cpp.x)
|
|
|
|
add_executable(serialization serialization.cpp)
|
|
target_link_libraries(serialization benchmark::benchmark Boost::serialization Boost::iostreams)
|
|
add_test(NAME serialization COMMAND serialization)
|