Skip to content

Commit

Permalink
Merge pull request #3111 from JasonRuonanWang/ssc
Browse files Browse the repository at this point in the history
added zero block test for ssc
  • Loading branch information
JasonRuonanWang committed Mar 17, 2022
2 parents 032af87 + 0c809fa commit 2406726
Show file tree
Hide file tree
Showing 3 changed files with 404 additions and 37 deletions.
3 changes: 3 additions & 0 deletions testing/adios2/engine/ssc/CMakeLists.txt
Expand Up @@ -68,4 +68,7 @@ endif()
gtest_add_tests_helper(VaryingSteps MPI_ONLY Ssc Engine.SSC. "")
SetupTestPipeline(Engine.SSC.SscEngineTest.TestSscVaryingSteps.MPI "" TRUE)

gtest_add_tests_helper(ZeroBlock MPI_ONLY Ssc Engine.SSC. "")
SetupTestPipeline(Engine.SSC.SscEngineTest.TestSscZeroBlock.MPI "" TRUE)

endif()
126 changes: 89 additions & 37 deletions testing/adios2/engine/ssc/TestSscMoreReadersThanWriters.cpp
Expand Up @@ -193,52 +193,104 @@ void Reader(const Dims &shape, const Dims &start, const Dims &count,

TEST_F(SscEngineTest, TestSscMoreReadersThanWriters)
{
std::string filename = "TestSscMoreReadersThanWriters";
adios2::Params engineParams = {};

int worldRank, worldSize;
Dims start, count, shape;
MPI_Comm_rank(MPI_COMM_WORLD, &worldRank);
MPI_Comm_size(MPI_COMM_WORLD, &worldSize);
int mpiGroup;
int writers = 2;
if (worldSize < 3)
{
return;
}
if (worldRank < writers)
{
mpiGroup = 0;
}
else
{
mpiGroup = 1;
}
std::string filename = "TestSscMoreReadersThanWriters";
adios2::Params engineParams = {};

MPI_Comm_split(MPI_COMM_WORLD, mpiGroup, worldRank, &mpiComm);
int worldRank, worldSize;
Dims start, count, shape;
MPI_Comm_rank(MPI_COMM_WORLD, &worldRank);
MPI_Comm_size(MPI_COMM_WORLD, &worldSize);
int mpiGroup;
int writers = 2;
if (worldSize < 3)
{
return;
}
if (worldRank < writers)
{
mpiGroup = 0;
}
else
{
mpiGroup = 1;
}

MPI_Comm_rank(mpiComm, &mpiRank);
MPI_Comm_size(mpiComm, &mpiSize);
MPI_Comm_split(MPI_COMM_WORLD, mpiGroup, worldRank, &mpiComm);

size_t steps = 20;
MPI_Comm_rank(mpiComm, &mpiRank);
MPI_Comm_size(mpiComm, &mpiSize);

if (mpiGroup == 0)
{
shape = {(size_t)writers, 10};
start = {(size_t)mpiRank, 0};
count = {1, 10};
Writer(shape, start, count, steps, engineParams, filename);
size_t steps = 20;

if (mpiGroup == 0)
{
shape = {(size_t)writers, 10};
start = {(size_t)mpiRank, 0};
count = {1, 10};
Writer(shape, start, count, steps, engineParams, filename);
}

if (mpiGroup == 1)
{
shape = {(size_t)writers, 10};
start = {0, 0};
count = shape;
Reader(shape, start, shape, steps, engineParams, filename);
}

MPI_Barrier(MPI_COMM_WORLD);
}

if (mpiGroup == 1)
{
shape = {(size_t)writers, 10};
start = {0, 0};
count = shape;
Reader(shape, start, shape, steps, engineParams, filename);
}
std::string filename = "TestSscMoreReadersThanWritersNaive";
adios2::Params engineParams = {{"Verbose", "0"},
{"EngineMode", "naive"}};

int worldRank, worldSize;
Dims start, count, shape;
MPI_Comm_rank(MPI_COMM_WORLD, &worldRank);
MPI_Comm_size(MPI_COMM_WORLD, &worldSize);
int mpiGroup;
int writers = 2;
if (worldSize < 3)
{
return;
}
if (worldRank < writers)
{
mpiGroup = 0;
}
else
{
mpiGroup = 1;
}

MPI_Barrier(MPI_COMM_WORLD);
MPI_Comm_split(MPI_COMM_WORLD, mpiGroup, worldRank, &mpiComm);

MPI_Comm_rank(mpiComm, &mpiRank);
MPI_Comm_size(mpiComm, &mpiSize);

size_t steps = 20;

if (mpiGroup == 0)
{
shape = {(size_t)writers, 10};
start = {(size_t)mpiRank, 0};
count = {1, 10};
Writer(shape, start, count, steps, engineParams, filename);
}

if (mpiGroup == 1)
{
shape = {(size_t)writers, 10};
start = {0, 0};
count = shape;
Reader(shape, start, shape, steps, engineParams, filename);
}

MPI_Barrier(MPI_COMM_WORLD);
}
}

int main(int argc, char **argv)
Expand Down

0 comments on commit 2406726

Please sign in to comment.