Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
O
openfpm_vcluster
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
openfpm
openfpm_vcluster
Commits
cb67f4de
Commit
cb67f4de
authored
Jun 17, 2020
by
incardon
Browse files
Options
Browse Files
Download
Plain Diff
vcluster to 3.0.0
parents
3b5298eb
f935c6f1
Pipeline
#2042
passed with stages
in 8 minutes and 46 seconds
Changes
12
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
2359 additions
and
326 deletions
+2359
-326
.gitlab-ci.yml
.gitlab-ci.yml
+8
-9
CMakeLists.txt
CMakeLists.txt
+4
-2
Jenkinsfile_mpi
Jenkinsfile_mpi
+0
-71
build.sh
build.sh
+6
-1
src/CMakeLists.txt
src/CMakeLists.txt
+10
-1
src/MPI_wrapper/MPI_IallreduceW.hpp
src/MPI_wrapper/MPI_IallreduceW.hpp
+2
-0
src/VCluster/VCluster.cpp
src/VCluster/VCluster.cpp
+6
-0
src/VCluster/VCluster.hpp
src/VCluster/VCluster.hpp
+579
-87
src/VCluster/VCluster_base.hpp
src/VCluster/VCluster_base.hpp
+606
-98
src/VCluster/VCluster_semantic_unit_tests.cpp
src/VCluster/VCluster_semantic_unit_tests.cpp
+342
-30
src/VCluster/VCluster_unit_test_util.hpp
src/VCluster/VCluster_unit_test_util.hpp
+668
-17
src/VCluster/VCluster_unit_tests.cpp
src/VCluster/VCluster_unit_tests.cpp
+128
-10
No files found.
.gitlab-ci.yml
_bck
→
.gitlab-ci.yml
View file @
cb67f4de
...
...
@@ -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
CMakeLists.txt
View file @
cb67f4de
...
...
@@ -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
()
...
...
Jenkinsfile_mpi
deleted
100644 → 0
View file @
3b5298eb
#
!
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"
}
}
}
)
build.sh
View file @
cb67f4de
...
...
@@ -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
...
...
src/CMakeLists.txt
View file @
cb67f4de
...
...
@@ -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
...
...
src/MPI_wrapper/MPI_IallreduceW.hpp
View file @
cb67f4de
...
...
@@ -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
}
};
...
...
src/VCluster/VCluster.cpp
View file @
cb67f4de
...
...
@@ -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
...
...
src/VCluster/VCluster.hpp
View file @
cb67f4de
This diff is collapsed.
Click to expand it.
src/VCluster/VCluster_base.hpp
View file @
cb67f4de
This diff is collapsed.
Click to expand it.
src/VCluster/VCluster_semantic_unit_tests.cpp
View file @
cb67f4de
This diff is collapsed.
Click to expand it.
src/VCluster/VCluster_unit_test_util.hpp
View file @
cb67f4de
This diff is collapsed.
Click to expand it.
src/VCluster/VCluster_unit_tests.cpp
View file @
cb67f4de
...
...
@@ -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_s
ize_known
)
BOOST_AUTO_TEST_CASE
(
VCluster_use_sendrecv_s
hort_unkn_async_multiple
)
{
std
::
cout
<<
"VCluster unit test start sendrecv
known siz
e"
<<
"
\n
"
;
std
::
cout
<<
"VCluster unit test start sendrecv
short unknown async multipl
e"
<<
"
\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
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment