Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
iwr
dune-vtk
Commits
248dc249
Commit
248dc249
authored
Dec 03, 2018
by
Praetorius, Simon
Browse files
retrieve rank and size from gridView
parent
0d5e1c63
Changes
1
Hide whitespace changes
Inline
Side-by-side
dune/vtk/datacollectors/structureddatacollector.hh
View file @
248dc249
...
...
@@ -101,15 +101,13 @@ public: // default implementation:
subDataCollector_
.
update
();
#if HAVE_MPI
int
rank
=
-
1
;
int
num_ranks
=
-
1
;
MPI_Comm_rank
(
gridView_
.
comm
(),
&
rank
);
MPI_Comm_size
(
gridView_
.
comm
(),
&
num_ranks
);
int
rank
=
gridView_
.
comm
().
rank
();
int
numRanks
=
gridView_
.
comm
().
size
();
if
(
rank
==
0
)
{
extents_
.
resize
(
num
_r
anks
);
requests_
.
resize
(
num
_r
anks
,
MPI_REQUEST_NULL
);
for
(
int
i
=
1
;
i
<
num
_r
anks
;
++
i
)
extents_
.
resize
(
num
R
anks
);
requests_
.
resize
(
num
R
anks
,
MPI_REQUEST_NULL
);
for
(
int
i
=
1
;
i
<
num
R
anks
;
++
i
)
MPI_Irecv
(
extents_
[
i
].
data
(),
extents_
[
i
].
size
(),
MPI_INT
,
i
,
/*tag=*/
6
,
gridView_
.
comm
(),
&
requests_
[
i
]);
}
...
...
@@ -149,8 +147,7 @@ public: // default implementation:
MPI_Test
(
&
sendRequest_
,
&
sendFlag
,
&
sendStatus
);
if
(
sendFlag
)
{
int
rank
=
-
1
;
MPI_Comm_rank
(
gridView_
.
comm
(),
&
rank
);
int
rank
=
gridView_
.
comm
().
rank
();
if
(
rank
!=
0
)
{
MPI_Isend
(
extent
.
data
(),
extent
.
size
(),
MPI_INT
,
0
,
/*tag=*/
6
,
gridView_
.
comm
(),
&
sendRequest_
);
}
else
{
...
...
@@ -169,12 +166,11 @@ public: // default implementation:
#if HAVE_MPI
writer
(
0
,
extents_
[
0
],
true
);
int
num_ranks
=
-
1
;
MPI_Comm_size
(
gridView_
.
comm
(),
&
num_ranks
);
for
(
int
p
=
1
;
p
<
num_ranks
;
++
p
)
{
int
numRanks
=
gridView_
.
comm
().
size
();
for
(
int
p
=
1
;
p
<
numRanks
;
++
p
)
{
int
idx
=
-
1
;
MPI_Status
status
;
MPI_Waitany
(
num
_r
anks
,
requests_
.
data
(),
&
idx
,
&
status
);
MPI_Waitany
(
num
R
anks
,
requests_
.
data
(),
&
idx
,
&
status
);
if
(
idx
!=
MPI_UNDEFINED
)
{
assert
(
idx
==
status
.
MPI_SOURCE
&&
status
.
MPI_TAG
==
6
);
writer
(
idx
,
extents_
[
idx
],
true
);
...
...
Write
Preview
Supports
Markdown
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