...
 
Commits (24)
...@@ -15,9 +15,9 @@ centos_run: ...@@ -15,9 +15,9 @@ centos_run:
dependencies: dependencies:
- centos_build - centos_build
script: script:
- ./run.sh $CI_PROJECT_DIR $CI_RUNNER_TAGS 3 $CI_COMMIT_REF_NAME - ./run.sh $CI_PROJECT_DIR "$CI_RUNNER_TAGS" 3 $CI_COMMIT_REF_NAME
- ./run.sh $CI_PROJECT_DIR $CI_RUNNER_TAGS 4 $CI_COMMIT_REF_NAME - ./run.sh $CI_PROJECT_DIR "$CI_RUNNER_TAGS" 4 $CI_COMMIT_REF_NAME
- ./run.sh $CI_PROJECT_DIR $CI_RUNNER_TAGS 5 $CI_COMMIT_REF_NAME - ./run.sh $CI_PROJECT_DIR "$CI_RUNNER_TAGS" 5 $CI_COMMIT_REF_NAME
mac_build: mac_build:
...@@ -37,9 +37,8 @@ mac_run: ...@@ -37,9 +37,8 @@ mac_run:
dependencies: dependencies:
- mac_build - mac_build
script: script:
- ./run.sh $CI_PROJECT_DIR $CI_RUNNER_TAGS 3 $CI_COMMIT_REF_NAME - ./run.sh $CI_PROJECT_DIR "$CI_RUNNER_TAGS" 3 $CI_COMMIT_REF_NAME
- ./run.sh $CI_PROJECT_DIR $CI_RUNNER_TAGS 4 $CI_COMMIT_REF_NAME - ./run.sh $CI_PROJECT_DIR "$CI_RUNNER_TAGS" 4 $CI_COMMIT_REF_NAME
- ./run.sh $CI_PROJECT_DIR $CI_RUNNER_TAGS 5 $CI_COMMIT_REF_NAME
ubuntu_build: ubuntu_build:
stage: build stage: build
...@@ -58,7 +57,7 @@ ubuntu_run: ...@@ -58,7 +57,7 @@ ubuntu_run:
dependencies: dependencies:
- ubuntu_build - ubuntu_build
script: script:
- ./run.sh $CI_PROJECT_DIR $CI_RUNNER_TAGS 3 $CI_COMMIT_REF_NAME - ./run.sh $CI_PROJECT_DIR "$CI_RUNNER_TAGS" 3 $CI_COMMIT_REF_NAME
- ./run.sh $CI_PROJECT_DIR $CI_RUNNER_TAGS 4 $CI_COMMIT_REF_NAME - ./run.sh $CI_PROJECT_DIR "$CI_RUNNER_TAGS" 4 $CI_COMMIT_REF_NAME
- ./run.sh $CI_PROJECT_DIR $CI_RUNNER_TAGS 5 $CI_COMMIT_REF_NAME - ./run.sh $CI_PROJECT_DIR "$CI_RUNNER_TAGS" 5 $CI_COMMIT_REF_NAME
...@@ -3,6 +3,10 @@ project(openfpm_pdata LANGUAGES C CXX) ...@@ -3,6 +3,10 @@ project(openfpm_pdata LANGUAGES C CXX)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake_modules/) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake_modules/)
if (POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
set(BOOST_INCLUDE ${Boost_INCLUDE_DIR} CACHE PATH "Include directory for BOOST") set(BOOST_INCLUDE ${Boost_INCLUDE_DIR} CACHE PATH "Include directory for BOOST")
set(SE_CLASS1 CACHE BOOL "Activate compilation with SE_CLASS1") set(SE_CLASS1 CACHE BOOL "Activate compilation with SE_CLASS1")
set(SE_CLASS2 CACHE BOOL "Activate compilation with SE_CLASS2") set(SE_CLASS2 CACHE BOOL "Activate compilation with SE_CLASS2")
...@@ -24,7 +28,9 @@ if (ENABLE_GPU) ...@@ -24,7 +28,9 @@ if (ENABLE_GPU)
elseif ( CUDA_VERSION_MAJOR EQUAL 10 AND CUDA_VERSION_MINOR EQUAL 1 ) elseif ( CUDA_VERSION_MAJOR EQUAL 10 AND CUDA_VERSION_MINOR EQUAL 1 )
message("CUDA is compatible") message("CUDA is compatible")
set(WARNING_SUPPRESSION_AND_OPTION_NVCC -Xcudafe "--display_error_number --diag_suppress=2915 --diag_suppress=2912 --diag_suppress=2913 --diag_suppress=111 --diag_suppress=186 --diag_suppress=611 " --expt-extended-lambda) set(WARNING_SUPPRESSION_AND_OPTION_NVCC -Xcudafe "--display_error_number --diag_suppress=2915 --diag_suppress=2912 --diag_suppress=2913 --diag_suppress=111 --diag_suppress=186 --diag_suppress=611 " --expt-extended-lambda)
elseif ( CUDA_VERSION_MAJOR EQUAL 10 AND CUDA_VERSION_MINOR EQUAL 2 )
message("CUDA is compatible")
set(WARNING_SUPPRESSION_AND_OPTION_NVCC -Xcudafe "--display_error_number --diag_suppress=2976 --diag_suppress=2977 --diag_suppress=2979 --diag_suppress=186" --expt-extended-lambda)
else() else()
message(FATAL_ERROR "CUDA is incompatible, version 9.2 is only supported") message(FATAL_ERROR "CUDA is incompatible, version 9.2 is only supported")
endif() endif()
......
#!groovy
parallel (
"cifarm-centos-node" : {node ('cifarm-centos-node')
{
deleteDir()
checkout scm
stage ('build centos')
{
sh "./build.sh $WORKSPACE $NODE_NAME $BRANCH_NAME"
}
stage ('run centos')
{
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 2 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 3 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 4 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 5 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./success.sh 2 centos openfpm_vcluster"
}
}
},
"cifarm-mac-node" : {node ('cifarm-mac-node')
{
deleteDir()
checkout scm
stage ('build mac')
{
sh "./build.sh $WORKSPACE $NODE_NAME $BRANCH_NAME"
}
stage ('run mac')
{
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 2 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 3 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 4 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 5 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 6 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 7 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./success.sh 2 mac openfpm_vcluster"
}
}
},
"cifarm-ubuntu-node" : {node ('cifarm-ubuntu-node')
{
deleteDir()
checkout scm
stage ('build ubuntu')
{
sh "./build.sh $WORKSPACE $NODE_NAME $BRANCH_NAME"
}
stage ('run ubuntu')
{
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 2 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 3 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 4 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 5 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 6 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 7 $BRANCH_NAME"
sh "cd openfpm_vcluster && ./success.sh 2 ubuntu openfpm_vcluster"
}
}
}
)
...@@ -24,7 +24,7 @@ mkdir openfpm_vcluster/src/config ...@@ -24,7 +24,7 @@ mkdir openfpm_vcluster/src/config
git clone git@git.mpi-cbg.de:/openfpm/openfpm_devices.git openfpm_devices git clone git@git.mpi-cbg.de:/openfpm/openfpm_devices.git openfpm_devices
git clone git@git.mpi-cbg.de:/openfpm/openfpm_data.git openfpm_data git clone git@git.mpi-cbg.de:/openfpm/openfpm_data.git openfpm_data
cd openfpm_data cd openfpm_data
git checkout master git checkout sparse_cl
cd .. cd ..
cd openfpm_devices cd openfpm_devices
git checkout master git checkout master
...@@ -38,6 +38,11 @@ if [ ! -d $HOME/openfpm_dependencies/openfpm_vcluster/LIBHILBERT ]; then ...@@ -38,6 +38,11 @@ if [ ! -d $HOME/openfpm_dependencies/openfpm_vcluster/LIBHILBERT ]; then
./install_LIBHILBERT.sh $HOME/openfpm_dependencies/openfpm_vcluster/ 4 ./install_LIBHILBERT.sh $HOME/openfpm_dependencies/openfpm_vcluster/ 4
fi fi
#if [ x"$hostname" == x"cifarm-mac-node" ]; then
# echo "Killing ghost"
# kill 73440 87662 87661 73439 51687 51686
#fi
if [ ! -d $HOME/openfpm_dependencies/openfpm_vcluster/BOOST ]; then if [ ! -d $HOME/openfpm_dependencies/openfpm_vcluster/BOOST ]; then
if [ x"$hostname" == x"cifarm-mac-node" ]; then if [ x"$hostname" == x"cifarm-mac-node" ]; then
......
...@@ -16,6 +16,7 @@ if ( CMAKE_COMPILER_IS_GNUCC ) ...@@ -16,6 +16,7 @@ if ( CMAKE_COMPILER_IS_GNUCC )
endif() endif()
add_library(vcluster STATIC VCluster/VCluster.cpp) add_library(vcluster STATIC VCluster/VCluster.cpp)
add_library(vcluster_dl SHARED VCluster/VCluster.cpp)
########################### ###########################
...@@ -23,7 +24,7 @@ if(CUDA_FOUND) ...@@ -23,7 +24,7 @@ if(CUDA_FOUND)
target_compile_options(vcluster_test PUBLIC $<$<COMPILE_LANGUAGE:CUDA>: ${WARNING_SUPPRESSION_AND_OPTION_NVCC} >) target_compile_options(vcluster_test PUBLIC $<$<COMPILE_LANGUAGE:CUDA>: ${WARNING_SUPPRESSION_AND_OPTION_NVCC} >)
target_include_directories (vcluster_test PUBLIC ${MPI_C_INCLUDE_DIRS}) target_include_directories (vcluster_test PUBLIC ${MPI_C_INCLUDE_DIRS})
if (TEST_COVERAGE) if (TEST_COVERAGE)
target_compile_options(vcluster_test PRIVATE $<$<COMPILE_LANGUAGE:CUDA>: -Xcompiler "-fprofile-arcs -ftest-coverage">) target_compile_options(vcluster_test PRIVATE $<$<COMPILE_LANGUAGE:CUDA>: -Xcompiler "-fprofile-arcs -ftest-coverage" >)
endif() endif()
endif() endif()
...@@ -44,6 +45,14 @@ target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../op ...@@ -44,6 +45,14 @@ target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../op
target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_devices/src/) target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_devices/src/)
target_include_directories (vcluster PUBLIC ${Boost_INCLUDE_DIRS}) target_include_directories (vcluster PUBLIC ${Boost_INCLUDE_DIRS})
target_include_directories (vcluster_dl PUBLIC ${CUDA_INCLUDE_DIRS})
target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories (vcluster_dl PUBLIC ${PETSC_INCLUDES})
target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/config)
target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_data/src/)
target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_devices/src/)
target_include_directories (vcluster_dl PUBLIC ${Boost_INCLUDE_DIRS})
target_link_libraries(vcluster_test ${Boost_LIBRARIES}) target_link_libraries(vcluster_test ${Boost_LIBRARIES})
target_link_libraries(vcluster_test ${PETSC_LIBRARIES}) target_link_libraries(vcluster_test ${PETSC_LIBRARIES})
...@@ -57,7 +66,7 @@ endif() ...@@ -57,7 +66,7 @@ endif()
target_compile_features(vcluster_test PUBLIC cxx_std_11) target_compile_features(vcluster_test PUBLIC cxx_std_11)
target_link_libraries(vcluster_test ${MPI_C_LIBRARIES}) target_link_libraries(vcluster_test ${MPI_C_LIBRARIES})
install(TARGETS vcluster DESTINATION openfpm_vcluster/lib) install(TARGETS vcluster vcluster_dl DESTINATION openfpm_vcluster/lib)
install(FILES MPI_wrapper/MPI_IallreduceW.hpp install(FILES MPI_wrapper/MPI_IallreduceW.hpp
MPI_wrapper/MPI_IrecvW.hpp MPI_wrapper/MPI_IrecvW.hpp
MPI_wrapper/MPI_IBcastW.hpp MPI_wrapper/MPI_IBcastW.hpp
......
...@@ -21,7 +21,9 @@ template<typename T> class MPI_IallreduceW ...@@ -21,7 +21,9 @@ template<typename T> class MPI_IallreduceW
public: public:
static inline void reduce(T & buf,MPI_Op op, MPI_Request & req) static inline void reduce(T & buf,MPI_Op op, MPI_Request & req)
{ {
#ifndef DISABLE_ALL_RTTI
std::cerr << "Error: " << __FILE__ << ":" << __LINE__ << " cannot recognize " << typeid(T).name() << "\n"; std::cerr << "Error: " << __FILE__ << ":" << __LINE__ << " cannot recognize " << typeid(T).name() << "\n";
#endif
} }
}; };
......
...@@ -29,6 +29,12 @@ std::string program_name; ...@@ -29,6 +29,12 @@ std::string program_name;
CudaMemory mem_tmp; CudaMemory mem_tmp;
CudaMemory rem_tmp;
CudaMemory rem_tmp2[MAX_NUMER_OF_PROPERTIES];
CudaMemory exp_tmp;
CudaMemory exp_tmp2[MAX_NUMER_OF_PROPERTIES];
#endif #endif
// Segmentation fault signal handler // Segmentation fault signal handler
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -186,42 +186,160 @@ BOOST_AUTO_TEST_CASE(VCluster_bcast_complex_test) ...@@ -186,42 +186,160 @@ BOOST_AUTO_TEST_CASE(VCluster_bcast_complex_test)
test_single_all_broadcast_complex<aggregate<int,int>,HeapMemory,memory_traits_inte>(vcl); test_single_all_broadcast_complex<aggregate<int,int>,HeapMemory,memory_traits_inte>(vcl);
} }
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv) BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_short_unkn)
{ {
std::cout << "VCluster unit test start sendrecv" << "\n"; std::cout << "VCluster unit test start sendrecv short unknown" << "\n";
totp_check = false; totp_check = false;
test<NBX>(RECEIVE_UNKNOWN); test_short<NBX>(RECEIVE_UNKNOWN);
std::cout << "VCluster unit test stop sendrecv short unknown" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_short_unkn_async)
{
std::cout << "VCluster unit test start sendrecv short unknown async" << "\n";
totp_check = false; totp_check = false;
test_no_send_some_peer<NBX>(); test_short<NBX_ASYNC>(RECEIVE_UNKNOWN);
std::cout << "VCluster unit test stop sendrecv" << "\n"; std::cout << "VCluster unit test stop sendrecv short unknown async" << "\n";
} }
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_size_known) BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_short_unkn_async_multiple)
{ {
std::cout << "VCluster unit test start sendrecv known size" << "\n"; std::cout << "VCluster unit test start sendrecv short unknown async multiple" << "\n";
totp_check = false; totp_check = false;
test<NBX>(RECEIVE_SIZE_UNKNOWN); test_short_multiple<NBX_ASYNC>(RECEIVE_UNKNOWN);
std::cout << "VCluster unit test stop sendrecv short unknown async multiple" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_rand_unkn)
{
std::cout << "VCluster unit test start sendrecv random unknown" << "\n";
totp_check = false;
test_random<NBX>(RECEIVE_UNKNOWN);
std::cout << "VCluster unit test stop sendrecv random unknown" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_rand_unkn_async)
{
std::cout << "VCluster unit test start sendrecv random unknown async" << "\n";
totp_check = false;
test_random<NBX_ASYNC>(RECEIVE_UNKNOWN);
std::cout << "VCluster unit test stop sendrecv random unknown async" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_rand_unkn_async_multiple)
{
std::cout << "VCluster unit test start sendrecv random unknown async" << "\n";
totp_check = false;
test_random_multiple<NBX_ASYNC>(RECEIVE_UNKNOWN);
std::cout << "VCluster unit test stop sendrecv random unknown async" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_someempty)
{
std::cout << "VCluster unit test start sendrecv some empty" << "\n";
totp_check = false; totp_check = false;
test_no_send_some_peer<NBX>(); test_no_send_some_peer<NBX>();
std::cout << "VCluster unit test stop sendrecv known size" << "\n"; std::cout << "VCluster unit test stop sendrecv some empty" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_short_prc_known)
{
std::cout << "VCluster unit test start sendrecv short known prc" << "\n";
totp_check = false;
test_short<NBX>(RECEIVE_SIZE_UNKNOWN);
std::cout << "VCluster unit test stop sendrecv short known prc" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_short_prc_known_multiple)
{
std::cout << "VCluster unit test start sendrecv short known prc" << "\n";
totp_check = false;
test_short_multiple<NBX>(RECEIVE_SIZE_UNKNOWN);
std::cout << "VCluster unit test stop sendrecv short known prc" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_random_prc_known)
{
std::cout << "VCluster unit test start sendrecv random known prc" << "\n";
totp_check = false;
test_random<NBX>(RECEIVE_SIZE_UNKNOWN);
std::cout << "VCluster unit test stop sendrecv random known prc" << "\n";
} }
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_known ) BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_known )
{ {
std::cout << "VCluster unit test start known" << "\n"; std::cout << "VCluster unit test start known" << "\n";
test_known<NBX>(); test_known<NBX>(0);
std::cout << "VCluster unit test stop known" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_known_async )
{
std::cout << "VCluster unit test start known" << "\n";
test_known<NBX_ASYNC>(0);
std::cout << "VCluster unit test stop known" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_known_async_multiple )
{
std::cout << "VCluster unit test start known" << "\n";
test_known_multiple<NBX_ASYNC>(0);
std::cout << "VCluster unit test stop known" << "\n"; std::cout << "VCluster unit test stop known" << "\n";
} }
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_known_prc )
{
std::cout << "VCluster unit test start known prc" << "\n";
test_known<NBX>(KNOWN_PRC);
std::cout << "VCluster unit test stop known prc" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_known_prc_async )
{
std::cout << "VCluster unit test start known prc" << "\n";
test_known<NBX_ASYNC>(KNOWN_PRC);
std::cout << "VCluster unit test stop known prc" << "\n";
}
BOOST_AUTO_TEST_CASE( VCluster_use_sendrecv_known_prc_async_multiple )
{
std::cout << "VCluster unit test start known prc" << "\n";
test_known_multiple<NBX_ASYNC>(KNOWN_PRC);
std::cout << "VCluster unit test stop known prc" << "\n";
}
BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE_END()