Skip to content
Snippets Groups Projects
Commit 91875fbb authored by Pietro Incardona's avatar Pietro Incardona
Browse files

Merge branch 'master' into develop

parents 8315de35 1e1eb139
No related branches found
No related tags found
No related merge requests found
......@@ -19,11 +19,15 @@ set(ENV{HDF5_ROOT} ${HDF5_ROOT})
set(OPENFPM_PDATA_DIR CACHE PATH "OpenFPM_pdata dirs")
set(PETSC_ROOT CACHE PATH "If compiling with linear algebra indicate the PETSC root directory")
set(ENV{PETSC_DIR} ${PETSC_ROOT})
set(HIP_ENABLE CACHE BOOL "Enable HIP compiler")
set(AMD_ARCH_COMPILE "gfx900" CACHE STRING "AMD gpu architecture used to compile kernels")
if (ENABLE_GPU)
set(CUDA_ON_CPU OFF)
enable_language(CUDA)
find_package(CUDA)
set(CUDA_ON_CPU OFF)
if (NOT HIP_ENABLE)
enable_language(CUDA)
find_package(CUDA)
endif()
endif()
set (CMAKE_CXX_STANDARD 14)
......@@ -41,6 +45,16 @@ find_package(MPI REQUIRED)
find_package(HDF5 REQUIRED)
find_package(TinyObjLoader)
find_package(PETSc)
find_package(HIP)
if(HIP_FOUND)
set(DEFINE_HIP_GPU "#define HIP_GPU")
set(DEFINE_CUDIFY_USE_HIP "#define CUDIFY_USE_HIP")
endif()
if(HIP_FOUND)
set(DEFINE_CUDA_GPU "#define CUDA_GPU")
endif()
if(CUDA_FOUND)
set(OPENFPM_INIT_FILE "initialize/initialize_wrapper_cuda.cu")
......
#! /bin/bash
workspace=$1
hostname=$(hostname)
branch=$3
......
......@@ -122,7 +122,10 @@ with_petsc
with_eigen
with_vcdevel
enable_gpu
enable_hip
enable_asan
enable_garbageinj
enable_garbageinjv
'
rm -rf build
......@@ -251,11 +254,25 @@ do
else
conf_options="$conf_options -DCMAKE_CUDA_HOST_COMPILER=$(which $CXX)"
fi
if [ x"$CXXCUDA" == x"" ]; then
conf_options="$conf_options"
else
conf_options="$conf_options -DCMAKE_CUDA_COMPILER=$(which $CXXCUDA)"
fi
conf_options="$conf_options -DENABLE_GPU=ON"
;;
hip)
conf_options="$conf_options -DHIP_ENABLE=ON"
;;
asan)
conf_options="$conf_options -DENABLE_ASAN=ON"
;;
garbageinj)
conf_options="$conf_options -DENABLE_GARBAGE_INJECTOR=ON"
;;
garbageinjv)
conf_options="$conf_options -DENABLE_VCLUSTER_GARBAGE_INJECTOR=ON"
;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', '
;;
......@@ -573,6 +590,7 @@ cd build
## remove enerything
echo "Calling cmake ../. $conf_options"
printf "cmake ../. $conf_options" > cmake_build_options
rm ../error_code
DYLD_LIBRARY_PATH=$ld_lib_pathopt cmake ../. $conf_options
if [ $? != 0 ]; then
......@@ -601,6 +619,7 @@ clean:
install:
\$(MAKE) -C build \$@
script/install_parallel_debugger
pdata:
\$(MAKE) -C build \$@
......
......@@ -6,12 +6,41 @@ if (CUDA_ON_CPU)
add_definitions(-DCUDA_ON_CPU)
endif()
if (CUDA_FOUND OR CUDA_ON_CPU OR HIP_FOUND)
add_executable(io main.cpp
set(CUDA_SOURCES HDF5_wr/HDF5_writer_cuda.cu)
endif()
if ( HIP_ENABLE AND HIP_FOUND )
list(APPEND HIP_HIPCC_FLAGS ${CMAKE_CXX_FLAGS_DEBUG})
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
list(APPEND HIP_HIPCC_FLAGS -O0)
endif()
set(CMAKE_CXX_COMPILER ${HIP_HIPCC_EXECUTABLE})
list(APPEND HIP_HIPCC_FLAGS -D__NVCC__ -D__HIP__ -DCUDART_VERSION=11000 -D__CUDACC__ -D__CUDACC_VER_MAJOR__=11 -D__CUDACC_VER_MINOR__=0 -D__CUDACC_VER_BUILD__=0)
set_source_files_properties(${CUDA_SOURCES} PROPERTIES LANGUAGE CXX)
hip_add_executable(io main.cpp
MetaParser/MetaParser_unit_test.cpp
${CUDA_SOURCES}
ObjReader/ObjReader_unit_test.cpp)
else()
add_executable(io main.cpp
MetaParser/MetaParser_unit_test.cpp
HDF5_wr/HDF5_writer_cuda.cu
${CUDA_SOURCES}
ObjReader/ObjReader_unit_test.cpp)
endif()
add_dependencies(io ofpmmemory)
add_dependencies(io vcluster)
......@@ -71,7 +100,7 @@ endif()
# will also build with -std=c++11
target_compile_features(io PUBLIC cxx_std_11)
target_link_libraries(io ${MPI_C_LIBRARIES})
target_link_libraries(io ${MPI_CXX_LIBRARIES})
if (TEST_COVERAGE)
target_link_libraries(io -lgcov)
endif()
......
......@@ -9,7 +9,7 @@
*
* @details Can be run in parallel.
*
* @author Justina Stark
* @author Justina Stark & Pietro Incardona
* @date November 2019 - August 2020
*/
#ifndef IMAGE_BASED_RECONSTRUCTION_GETINITIALGRID_HPP
......
/* HIP GPU support */
${DEFINE_HIP_GPU}
/* HIP Cudify GPU support */
${DEFINE_CUDIFY_USE_HIP}
/* Coverty scan */
${DEFINE_COVERTY_SCAN}
......
......@@ -8,7 +8,6 @@
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
// initialization function:
bool init_unit_test()
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment