Commit 27eed4b7 authored by incardon's avatar incardon
Browse files

Merge remote-tracking branch 'origin/hip_conversion2'

parents 10c66792 7fa25c86
Pipeline #2932 passed with stages
in 1 minute and 58 seconds
...@@ -19,11 +19,15 @@ set(ENV{HDF5_ROOT} ${HDF5_ROOT}) ...@@ -19,11 +19,15 @@ set(ENV{HDF5_ROOT} ${HDF5_ROOT})
set(OPENFPM_PDATA_DIR CACHE PATH "OpenFPM_pdata dirs") 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(PETSC_ROOT CACHE PATH "If compiling with linear algebra indicate the PETSC root directory")
set(ENV{PETSC_DIR} ${PETSC_ROOT}) 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) if (ENABLE_GPU)
set(CUDA_ON_CPU OFF) set(CUDA_ON_CPU OFF)
enable_language(CUDA) if (NOT HIP_ENABLE)
find_package(CUDA) enable_language(CUDA)
find_package(CUDA)
endif()
endif() endif()
set (CMAKE_CXX_STANDARD 14) set (CMAKE_CXX_STANDARD 14)
...@@ -41,6 +45,16 @@ find_package(MPI REQUIRED) ...@@ -41,6 +45,16 @@ find_package(MPI REQUIRED)
find_package(HDF5 REQUIRED) find_package(HDF5 REQUIRED)
find_package(TinyObjLoader) find_package(TinyObjLoader)
find_package(PETSc) 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) if(CUDA_FOUND)
set(OPENFPM_INIT_FILE "initialize/initialize_wrapper_cuda.cu") set(OPENFPM_INIT_FILE "initialize/initialize_wrapper_cuda.cu")
......
...@@ -122,7 +122,10 @@ with_petsc ...@@ -122,7 +122,10 @@ with_petsc
with_eigen with_eigen
with_vcdevel with_vcdevel
enable_gpu enable_gpu
enable_hip
enable_asan enable_asan
enable_garbageinj
enable_garbageinjv
' '
rm -rf build rm -rf build
...@@ -251,11 +254,25 @@ do ...@@ -251,11 +254,25 @@ do
else else
conf_options="$conf_options -DCMAKE_CUDA_HOST_COMPILER=$(which $CXX)" conf_options="$conf_options -DCMAKE_CUDA_HOST_COMPILER=$(which $CXX)"
fi 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" conf_options="$conf_options -DENABLE_GPU=ON"
;; ;;
hip)
conf_options="$conf_options -DHIP_ENABLE=ON"
;;
asan) asan)
conf_options="$conf_options -DENABLE_ASAN=ON" 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_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', ' ac_unrecognized_sep=', '
;; ;;
...@@ -573,6 +590,7 @@ cd build ...@@ -573,6 +590,7 @@ cd build
## remove enerything ## remove enerything
echo "Calling cmake ../. $conf_options" echo "Calling cmake ../. $conf_options"
printf "cmake ../. $conf_options" > cmake_build_options
rm ../error_code rm ../error_code
DYLD_LIBRARY_PATH=$ld_lib_pathopt cmake ../. $conf_options DYLD_LIBRARY_PATH=$ld_lib_pathopt cmake ../. $conf_options
if [ $? != 0 ]; then if [ $? != 0 ]; then
...@@ -601,6 +619,7 @@ clean: ...@@ -601,6 +619,7 @@ clean:
install: install:
\$(MAKE) -C build \$@ \$(MAKE) -C build \$@
script/install_parallel_debugger
pdata: pdata:
\$(MAKE) -C build \$@ \$(MAKE) -C build \$@
......
...@@ -6,12 +6,41 @@ if (CUDA_ON_CPU) ...@@ -6,12 +6,41 @@ if (CUDA_ON_CPU)
add_definitions(-DCUDA_ON_CPU) add_definitions(-DCUDA_ON_CPU)
endif() 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 MetaParser/MetaParser_unit_test.cpp
HDF5_wr/HDF5_writer_cuda.cu ${CUDA_SOURCES}
ObjReader/ObjReader_unit_test.cpp) ObjReader/ObjReader_unit_test.cpp)
endif()
add_dependencies(io ofpmmemory) add_dependencies(io ofpmmemory)
add_dependencies(io vcluster) add_dependencies(io vcluster)
......
/* HIP GPU support */
${DEFINE_HIP_GPU}
/* HIP Cudify GPU support */
${DEFINE_CUDIFY_USE_HIP}
/* Coverty scan */ /* Coverty scan */
${DEFINE_COVERTY_SCAN} ${DEFINE_COVERTY_SCAN}
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
#define BOOST_TEST_DYN_LINK #define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
// initialization function: // initialization function:
bool init_unit_test() bool init_unit_test()
{ {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment