Skip to content
Snippets Groups Projects
Commit a1ce1d15 authored by jstark's avatar jstark
Browse files

Merge branch 'develop' of ssh://git.mpi-cbg.de/openfpm/openfpm_io into develop

parents 5366eace b8ea07c7
No related branches found
No related tags found
No related merge requests found
Pipeline #3019 passed
......@@ -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()
......
/* 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