Commit cb67f4de authored by incardon's avatar incardon

vcluster to 3.0.0

parents 3b5298eb f935c6f1
Pipeline #2042 passed with stages
in 8 minutes and 46 seconds
......@@ -15,9 +15,9 @@ centos_run:
dependencies:
- centos_build
script:
- ./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 5 $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" 5 $CI_COMMIT_REF_NAME
mac_build:
......@@ -37,9 +37,8 @@ mac_run:
dependencies:
- mac_build
script:
- ./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 5 $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
ubuntu_build:
stage: build
......@@ -58,7 +57,7 @@ ubuntu_run:
dependencies:
- ubuntu_build
script:
- ./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 5 $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" 5 $CI_COMMIT_REF_NAME
......@@ -27,8 +27,10 @@ if (ENABLE_GPU)
set(WARNING_SUPPRESSION_AND_OPTION_NVCC -Xcudafe "--display_error_number --diag_suppress=611 --diag_suppress=2885 --diag_suppress=2886 --diag_suppress=2887 --diag_suppress=2888 --diag_suppress=186 --diag_suppress=111" --expt-extended-lambda)
elseif ( CUDA_VERSION_MAJOR EQUAL 10 AND CUDA_VERSION_MINOR EQUAL 1 )
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 --diag_suppress=2928 --diag_suppress=2931 --diag_suppress=2929 --diag_suppress=2930 " --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()
message(FATAL_ERROR "CUDA is incompatible, version 9.2 is only supported")
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 && ./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
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
cd openfpm_data
git checkout master
git checkout sparse_cl
cd ..
cd openfpm_devices
git checkout master
......@@ -38,6 +38,11 @@ if [ ! -d $HOME/openfpm_dependencies/openfpm_vcluster/LIBHILBERT ]; then
./install_LIBHILBERT.sh $HOME/openfpm_dependencies/openfpm_vcluster/ 4
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 [ x"$hostname" == x"cifarm-mac-node" ]; then
......
......@@ -16,6 +16,7 @@ if ( CMAKE_COMPILER_IS_GNUCC )
endif()
add_library(vcluster STATIC VCluster/VCluster.cpp)
add_library(vcluster_dl SHARED VCluster/VCluster.cpp)
###########################
......@@ -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 ${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 ${PETSC_LIBRARIES})
......@@ -57,7 +66,7 @@ endif()
target_compile_features(vcluster_test PUBLIC cxx_std_11)
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
MPI_wrapper/MPI_IrecvW.hpp
MPI_wrapper/MPI_IBcastW.hpp
......
......@@ -21,7 +21,9 @@ template<typename T> class MPI_IallreduceW
public:
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";
#endif
}
};
......
......@@ -29,6 +29,12 @@ std::string program_name;
CudaMemory mem_tmp;
CudaMemory rem_tmp;
CudaMemory rem_tmp2[MAX_NUMER_OF_PROPERTIES];
CudaMemory exp_tmp;
CudaMemory exp_tmp2[MAX_NUMER_OF_PROPERTIES];
#endif
// 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)
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;
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;
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;
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;
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 )
{
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";
}
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()
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