Skip to content

Commit

Permalink
Merge pull request #78 from correaa/fix-cmake-lapack-mpi-cuda
Browse files Browse the repository at this point in the history
fix cuda cmake lapack mpi
  • Loading branch information
correaa committed Sep 21, 2024
2 parents 4b85a5a + fd55b5d commit f45c6bb
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 10 deletions.
3 changes: 1 addition & 2 deletions include/boost/multi/adaptors/blas/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,9 @@ if(ENABLE_CUDA OR DEFINED CXXCUDA)
endif()

enable_testing()
list(APPEND CMAKE_CTEST_ARGUMENTS "--output-on-failure") # needs cmake 3.17
include(CTest)

configure_file("config.hpp.in" ${CMAKE_BINARY_DIR}/config.hpp)
# configure_file("config.hpp.in" ${CMAKE_BINARY_DIR}/config.hpp)

include_directories(${CMAKE_BINARY_DIR})

Expand Down
22 changes: 16 additions & 6 deletions include/boost/multi/adaptors/lapack/test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
cmake_minimum_required(VERSION 3.5)

project(
boost-multi-adaptors-lapack-test
VERSION 0.1
LANGUAGES CXX
)
if(ENABLE_CUDA)
enable_language(CUDA)
endif()

# project(
# boost-multi-adaptors-lapack-test
# VERSION 0.1
# LANGUAGES CXX
# )

# set(CMAKE_CXX_STANDARD_REQUIRED ON)
# set(CMAKE_CXX_EXTENSIONS OFF)

find_package(Boost REQUIRED COMPONENTS)
find_package(Boost REQUIRED)
# add_compile_definitions(${TEST_EXE} PRIVATE ${Boost_DEFINITIONS})
# include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
# link_libraries(${Boost_LIBRARIES})
Expand Down Expand Up @@ -52,6 +56,7 @@ find_package(Boost REQUIRED COMPONENTS)
# # -Wpointer-sign -Wreorder -Wno-return-type -Wsign-compare -Wsequence-point -Wtrigraphs -Wunused-function -Wunused-but-set-variable -Wunused-variable -Wwrite-strings -Werror -diag-error:3846 > $<$<CXX_COMPILER_ID:MSVC>: /W4 >
# )


enable_testing()
include(CTest)

Expand All @@ -62,6 +67,11 @@ include(CTest)
# add_test(NAME geqrf.cpp.x COMMAND ./geqrf.cpp.x)

add_executable(potrf.cpp.x potrf.cpp)

if(ENABLE_CUDA)
set_source_files_properties(potrf.cpp PROPERTIES LANGUAGE CUDA)
endif()

target_link_libraries(potrf.cpp.x PRIVATE multi-lapack Boost::boost)

add_test(NAME potrf.cpp.x COMMAND $<TARGET_FILE:potrf.cpp.x>)
10 changes: 9 additions & 1 deletion include/boost/multi/adaptors/mpi/test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
cmake_minimum_required(VERSION 3.15)

if(ENABLE_CUDA)
enable_language(CUDA)
endif()

enable_testing()
include(CTest)

find_package(Boost REQUIRED COMPONENTS)

add_executable(mpi.cpp.x mpi.cpp)

if(ENABLE_CUDA)
set_source_files_properties(${TEST_FILE} PROPERTIES LANGUAGE CUDA)
endif()

if(APPLE)
# https://apple.stackexchange.com/a/121010
# add_custom_command (TARGET mpi.cpp.x POST_BUILD COMMAND codesign --force --deep -s ACTMPI ${CMAKE_CURRENT_BINARY_DIR}/mpi.cpp.x)
endif()

target_link_libraries(mpi.cpp.x PRIVATE multi MPI::MPI_CXX Boost::headers)
target_link_libraries(mpi.cpp.x PRIVATE multi MPI::MPI_CXX Boost::boost)

if(APPLE)
add_test(NAME mpi.cpp.x COMMAND ${MPIEXEC_EXECUTABLE} --mca btl ^tcp ${MPIEXEC_NUMPROC_FLAG} 2 ${MPIEXEC_PREFLAGS} $<TARGET_FILE:mpi.cpp.x> ${MPIEXEC_POSTFLAGS})
Expand Down
2 changes: 1 addition & 1 deletion pre-push
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export VALGRIND_EXE="valgrind --trace-children=yes --leak-check=full --track-ori
(mkdir -p .build.circle && cd .build.circle && CXX="$HOME/bin/circle" cmake .. -DCMAKE_BUILD_TYPE=Debug -DDISABLE_MPI=1 -DENABLE_CIRCLE=1 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
#(mkdir -p .build.g++.m32.std23 && cd .build.g++.m32.std23 && CXX=g++ CXXFLAGS="-m32" cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=23 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.icpx && cd .build.icpx && CXX=/opt/intel/oneapi/compiler/latest/bin/icpx cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=23 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.nvcc && cd .build.nvcc && cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=nvcc -DCMAKE_CUDA_HOST_COMPILER=g++-12 -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_CUDA_ARCHITECTURES=75 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.nvcc && cd .build.nvcc && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=nvcc -DCMAKE_CUDA_HOST_COMPILER=g++ -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CUDA_ARCHITECTURES=75 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.nvc++ && cd .build.nvc++ && CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/2024/compilers/bin/nvc++ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-stdpar=multicore" && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.culang && cd .build.culang && cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=clang++ -DCMAKE_CUDA_HOST_COMPILER=clang++ -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CUDA_ARCHITECTURES=75 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.g++.plus && cd .build.g++.plus && CXX=g++ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=23 -DBLA_VENDOR=OpenBLAS `#-DCMAKE_CXX_CPPCHECK="cppcheck;--enable=all;--suppress=missingIncludeSystem;--inline-suppr;--std=c++17;--checkers-report=cppcheck.report;--error-exitcode=1"` -DCMAKE_CXX_FLAGS="-D_GLIBCXX_DEBUG=1" -DCMAKE_CXX_FLAGS="-fimplicit-constexpr -fanalyzer -Wno-analyzer-null-dereference -Wno-analyzer-possible-null-dereference -Wno-analyzer-malloc-leak -Wno-analyzer-use-of-uninitialized-value -Wno-analyzer-use-after-free" && cmake --build . && ctest -j 12 --output-on-failure -T memcheck) || exit 666
Expand Down

0 comments on commit f45c6bb

Please sign in to comment.