Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Sbalzarini Lab
S
Software
P
Parallel Computing
OpenFPM
openfpm_vcluster
Commits
78d3c225
Commit
78d3c225
authored
Jul 11, 2015
by
incardon
Browse files
Added informetion to the report
parent
b76568f8
Changes
3
Hide whitespace changes
Inline
Side-by-side
build_vcluster.sh
View file @
78d3c225
...
...
@@ -85,7 +85,7 @@ then
if
[
$?
-ne
0
]
;
then
exit
1
;
fi
salloc
--nodes
=
8
--ntasks-per-node
=
16
--time
=
00:05:00
--mem-per-cpu
=
1900
--partition
=
sandy mpirun
-np
128 src/vcluster
if
[
$?
-ne
0
]
;
then
exit
1
;
fi
salloc
--nodes
=
16
--ntasks-per-node
=
16
--time
=
00:
10
:00
--mem-per-cpu
=
1900
--partition
=
sandy mpirun
-np
256 src/vcluster
salloc
--nodes
=
16
--ntasks-per-node
=
16
--time
=
00:
5
:00
--mem-per-cpu
=
1900
--partition
=
sandy mpirun
-np
256 src/vcluster
if
[
$?
-ne
0
]
;
then
exit
1
;
fi
else
...
...
src/VCluster.hpp
View file @
78d3c225
...
...
@@ -556,12 +556,15 @@ public:
{
MPI_SAFE_CALL
(
MPI_Ibarrier
(
MPI_COMM_WORLD
,
&
bar_req
));
reached_bar_req
=
true
;}
}
// Check if all processor reach the async barrier
// barrier status
MPI_Status
bar_stat
;
// Check if all processor reached the async barrier
if
(
reached_bar_req
)
{
MPI_SAFE_CALL
(
MPI_Test
(
&
bar_req
,
&
flag
,
MPI_STATUSES_IGNORE
))};
{
MPI_SAFE_CALL
(
MPI_Test
(
&
bar_req
,
&
flag
,
&
bar_stat
))};
// produce a report if communication get stuck
log
.
NBXreport
(
NBX_cnt
,
req
);
log
.
NBXreport
(
NBX_cnt
,
req
,
reached_bar_req
,
bar_stat
);
}
while
(
flag
==
false
);
...
...
src/util/Vcluster_log.hpp
View file @
78d3c225
...
...
@@ -88,7 +88,7 @@ public:
* \param nbx
* \param send request
*/
void
NBXreport
(
size_t
nbx
,
openfpm
::
vector
<
MPI_Request
>
&
req
)
void
NBXreport
(
size_t
nbx
,
openfpm
::
vector
<
MPI_Request
>
&
req
,
bool
reach_b
,
MPI_Status
bar_stat
)
{
// req and s_log must match
...
...
@@ -126,6 +126,15 @@ public:
f
<<
"Received from: "
<<
r_log
.
get
(
j
).
MPI_SOURCE
<<
" with tag "
<<
r_log
.
get
(
j
).
MPI_TAG
<<
"
\n
"
;
}
// Barrier status
if
(
reach_b
==
true
)
f
<<
"Barrier status: active
\n
"
;
else
f
<<
"Barrier status: inactive
\n
"
;
f
<<
"======================================================================
\n
"
;
f
.
flush
();
...
...
@@ -158,7 +167,7 @@ public:
inline
void
openLog
(
size_t
rank
)
{}
inline
void
logRecv
(
MPI_Status
&
stat
)
{}
inline
void
logSend
(
size_t
prc
)
{}
inline
void
NBXreport
(
size_t
nbx
,
openfpm
::
vector
<
MPI_Request
>
&
req
)
{}
inline
void
NBXreport
(
size_t
nbx
,
openfpm
::
vector
<
MPI_Request
>
&
req
,
bool
reach_b
,
MPI_Status
bar_stat
)
{}
inline
void
clear
()
{};
};
...
...
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