Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Podhorszki, Norbert
ADIOS2
Commits
10cb84e8
Commit
10cb84e8
authored
Mar 09, 2020
by
Ruonan Wang
Browse files
trying to bring some common-staging tests back to SSC
parent
b1f1ac08
Changes
6
Hide whitespace changes
Inline
Side-by-side
source/adios2/engine/ssc/SscReader.cpp
View file @
10cb84e8
...
...
@@ -197,13 +197,14 @@ void SscReader::SyncMpiPattern()
m_MaxFilenameLength
,
m_RendezvousAppCount
,
CommAsMPI
(
m_Comm
));
m_MpiAllWritersGroup
=
m_MpiHandshake
.
GetAllWritersGroup
(
m_Name
);
std
::
vector
<
int
>
allStreamRanks
;
std
::
vector
<
int
>
allWriterRanks
;
for
(
const
auto
&
app
:
m_MpiHandshake
.
GetWriterMap
(
m_Name
))
{
for
(
int
rank
:
app
.
second
)
{
allWriterRanks
.
push_back
(
rank
);
allStreamRanks
.
push_back
(
rank
);
}
}
...
...
@@ -217,6 +218,10 @@ void SscReader::SyncMpiPattern()
}
MPI_Group
worldGroup
;
MPI_Comm_group
(
MPI_COMM_WORLD
,
&
worldGroup
);
MPI_Group_incl
(
worldGroup
,
allWriterRanks
.
size
(),
allWriterRanks
.
data
(),
&
m_MpiAllWritersGroup
);
MPI_Comm_group
(
MPI_COMM_WORLD
,
&
worldGroup
);
std
::
sort
(
allStreamRanks
.
begin
(),
allStreamRanks
.
end
());
MPI_Group
allWorkersGroup
;
...
...
source/adios2/engine/ssc/SscReader.tcc
View file @
10cb84e8
...
...
@@ -127,21 +127,18 @@ SscReader::BlocksInfoCommon(const Variable<T> &variable,
{
TAU_SCOPED_TIMER_FUNC();
std::vector<typename Variable<T>::Info> ret;
for (const auto &r : m_AllReceivingWriterRanks)
for (const auto &r : m_GlobalWritePattern)
{
for (auto &v :
m_GlobalWritePattern[r.first]
)
for (auto &v :
r
)
{
if (v.name != variable.m_Name)
{
continue;
}
if (v.overlapCount.empty())
{
continue;
}
typename Variable<T>::Info b;
b.Start = v.
overlapS
tart;
b.Count = v.
overlapC
ount;
b.Start = v.
s
tart;
b.Count = v.
c
ount;
b.Shape = v.shape;
b.IsValue = false;
if (v.shape.size() == 1)
...
...
source/adios2/engine/ssc/SscWriter.cpp
View file @
10cb84e8
...
...
@@ -196,9 +196,8 @@ void SscWriter::SyncMpiPattern()
m_MaxFilenameLength
,
m_RendezvousAppCount
,
CommAsMPI
(
m_Comm
));
m_MpiAllReadersGroup
=
m_MpiHandshake
.
GetAllReadersGroup
(
m_Name
);
std
::
vector
<
int
>
allStreamRanks
;
std
::
vector
<
int
>
allReaderRanks
;
for
(
const
auto
&
app
:
m_MpiHandshake
.
GetWriterMap
(
m_Name
))
{
...
...
@@ -213,10 +212,15 @@ void SscWriter::SyncMpiPattern()
for
(
int
rank
:
app
.
second
)
{
allStreamRanks
.
push_back
(
rank
);
allReaderRanks
.
push_back
(
rank
);
}
}
MPI_Group
worldGroup
;
MPI_Group
allReadersGroup
;
MPI_Comm_group
(
MPI_COMM_WORLD
,
&
worldGroup
);
MPI_Group_incl
(
worldGroup
,
allReaderRanks
.
size
(),
allReaderRanks
.
data
(),
&
m_MpiAllReadersGroup
);
MPI_Comm_group
(
MPI_COMM_WORLD
,
&
worldGroup
);
std
::
sort
(
allStreamRanks
.
begin
(),
allStreamRanks
.
end
());
MPI_Group
allWorkersGroup
;
...
...
source/adios2/helper/adiosMpiHandshake.cpp
View file @
10cb84e8
...
...
@@ -256,46 +256,6 @@ MpiHandshake::GetReaderMap(const std::string &filename)
return
m_ReadersMap
[
filename
];
}
MPI_Group
MpiHandshake
::
GetAllReadersGroup
(
const
std
::
string
&
filename
)
{
std
::
vector
<
int
>
allReaderRanks
;
for
(
const
auto
&
app
:
GetReaderMap
(
filename
))
{
for
(
int
rank
:
app
.
second
)
{
allReaderRanks
.
push_back
(
rank
);
}
}
MPI_Group
worldGroup
;
MPI_Group
allReadersGroup
;
MPI_Comm_group
(
MPI_COMM_WORLD
,
&
worldGroup
);
MPI_Group_incl
(
worldGroup
,
allReaderRanks
.
size
(),
allReaderRanks
.
data
(),
&
allReadersGroup
);
return
allReadersGroup
;
}
MPI_Group
MpiHandshake
::
GetAllWritersGroup
(
const
std
::
string
&
filename
)
{
std
::
vector
<
int
>
allWriterRanks
;
for
(
const
auto
&
app
:
GetWriterMap
(
filename
))
{
for
(
int
rank
:
app
.
second
)
{
allWriterRanks
.
push_back
(
rank
);
}
}
MPI_Group
worldGroup
;
MPI_Group
allWritersGroup
;
MPI_Comm_group
(
MPI_COMM_WORLD
,
&
worldGroup
);
MPI_Group_incl
(
worldGroup
,
allWriterRanks
.
size
(),
allWriterRanks
.
data
(),
&
allWritersGroup
);
return
allWritersGroup
;
}
void
MpiHandshake
::
PrintMaps
(
const
int
printRank
,
const
std
::
string
&
filename
)
{
if
(
m_WorldRank
==
printRank
)
...
...
source/adios2/helper/adiosMpiHandshake.h
View file @
10cb84e8
...
...
@@ -95,24 +95,6 @@ public:
static
const
std
::
map
<
int
,
std
::
vector
<
int
>>
&
GetReaderMap
(
const
std
::
string
&
filename
);
/**
* Get the MPI group for all readers in the stream filename
*
* @param filename: name of the staging stream
*
* @return the MPI group
*/
static
MPI_Group
GetAllReadersGroup
(
const
std
::
string
&
filename
);
/**
* Get the MPI group for all writers in the stream filename
*
* @param filename: name of the staging stream
*
* @return the MPI group
*/
static
MPI_Group
GetAllWritersGroup
(
const
std
::
string
&
filename
);
private:
static
void
Test
();
static
bool
Check
(
const
std
::
string
&
filename
);
...
...
testing/adios2/engine/staging-common/CMakeLists.txt
View file @
10cb84e8
...
...
@@ -235,6 +235,13 @@ if(ADIOS2_HAVE_MPI)
endforeach
()
endif
()
if
(
ADIOS2_HAVE_SSC
)
set
(
SSC_TESTS
"1x1;TimeoutOnOpen;1x1.Attrs;2x1;1x2;2x1ZeroDataVar;2x1ZeroDataR64"
)
foreach
(
test
${
SSC_TESTS
}
)
add_common_test
(
${
test
}
SSC
)
endforeach
()
endif
()
#
# Setup tests for BP engines
#
...
...
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