Skip to content
Snippets Groups Projects
Commit 61fcab23 authored by pnorbert's avatar pnorbert Committed by GitHub
Browse files

Merge pull request #104 from pnorbert/fix-hello-examples

Fix hello examples
parents a64bb7f7 43ef310d
No related branches found
No related tags found
No related merge requests found
......@@ -52,13 +52,13 @@ int main(int argc, char *argv[])
{
// Define variable and local size
adios::Variable<double> &ioMyDoubles = adios.DefineVariable<double>(
"myDoubles", {1, Nx}, {nproc, Nx}, {rank, 0});
adios::Variable<float> &ioMyMatrix = adios.DefineVariable<float>(
"myMatrix", {rows, columns}, {nproc * rows, columns},
{rank * rows, 0});
adios::Variable<float> &ioMyMatrix2 = adios.DefineVariable<float>(
"myMatrix2", {rows, columns}, {rows, nproc * columns},
{0, rank * columns});
"myDoubles", {nproc, Nx}, {rank, 0}, {1, Nx});
adios::Variable<float> &ioMyMatrix =
adios.DefineVariable<float>("myMatrix", {nproc * rows, columns},
{rank * rows, 0}, {rows, columns});
adios::Variable<float> &ioMyMatrix2 =
adios.DefineVariable<float>("myMatrix2", {rows, nproc * columns},
{0, rank * columns}, {rows, columns});
// Define method for engine creation, it is basically straight-forward
// parameters
......@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
// Create engine smart pointer due to polymorphism,
// Open returns a smart pointer to Engine containing the Derived class
// Writer
auto bpWriter = adios.Open("myDoubles.bp", "w", bpWriterSettings);
auto bpWriter = adios.Open("hello_adios1.bp", "w", bpWriterSettings);
if (bpWriter == nullptr)
throw std::ios_base::failure(
......
......@@ -52,12 +52,18 @@ int main(int argc, char *argv[])
// Open returns a smart pointer to Engine containing the Derived class
// Writer
auto bpFileWriter =
adios.Open("myDoubles_nompi.bp", "w", bpWriterSettings);
adios.Open("hello_adios1_nompi.bp", "w", bpWriterSettings);
if (bpFileWriter == nullptr)
throw std::ios_base::failure(
"ERROR: couldn't create bpWriter at Open\n");
ioMyDoubles.SetSelection({0}, {Nx});
adios::SelectionBoundingBox box({0, 0}, {rows, columns});
ioMyMatrix.SetSelection(box);
ioMyMatrix2.SetSelection(box);
ioMyMatrix3.SetSelection(box);
bpFileWriter->Write<double>(
ioMyDoubles,
myDoubles.data()); // Base class Engine own the Write<T>
......
......@@ -18,9 +18,9 @@
int main(int argc, char *argv[])
{
MPI_Init(&argc, &argv);
int rank, size;
int rank, nproc;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
const bool adiosDebug = true;
adios::ADIOS adios(MPI_COMM_WORLD, adios::Verbose::INFO, adiosDebug);
......@@ -49,14 +49,14 @@ int main(int argc, char *argv[])
try
{
// Define variable and local size
adios::Variable<double> &ioMyDoubles =
adios.DefineLocalArray<double>("myDoubles", true, {Nx});
adios::Variable<double> &ioMyDoubles = adios.DefineVariable<double>(
"myDoubles", {nproc, Nx}, {rank, 0}, {1, Nx});
adios::Variable<float> &ioMyMatrix =
adios.DefineLocalArray<float>("myMatrix", true, {rows, columns});
adios.DefineVariable<float>("myMatrix", {nproc * rows, columns},
{rank * rows, 0}, {rows, columns});
adios::Variable<float> &ioMyMatrix2 =
adios.DefineLocalArray<float>("myMatrix2", false, {rows, columns});
adios.DefineVariable<float>("myMatrix2", {rows, nproc * columns},
{0, rank * columns}, {rows, columns});
// Define method for engine creation, it is basically straight-forward
// parameters
......
......@@ -62,6 +62,12 @@ int main(int /*argc*/, char ** /*argv*/)
"ERROR: couldn't create bpWriter at Open\n");
}
ioMyDoubles.SetSelection({0}, {Nx});
adios::SelectionBoundingBox box({0, 0}, {rows, columns});
ioMyMatrix.SetSelection(box);
ioMyMatrix2.SetSelection(box);
ioMyMatrix3.SetSelection(box);
bpFileWriter->Write<double>(
ioMyDoubles,
myDoubles.data()); // Base class Engine own the Write<T>
......
......@@ -18,8 +18,9 @@
int main(int argc, char *argv[])
{
MPI_Init(&argc, &argv);
int rank;
int rank, nproc;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
const bool adiosDebug = true;
adios::ADIOS adios(MPI_COMM_WORLD, adios::Verbose::ERROR, adiosDebug);
......@@ -47,14 +48,14 @@ int main(int argc, char *argv[])
try
{
// Define variable and local size
adios::Variable<double> &ioMyDoubles =
adios.DefineVariable<double>("myDoubles", {}, {}, {Nx});
adios::Variable<float> &ioMyMatrix = adios.DefineVariable<float>(
"myMatrix", {adios::JoinedDim, columns}, {}, {rows, columns});
adios::Variable<double> &ioMyDoubles = adios.DefineVariable<double>(
"myDoubles", {nproc, Nx}, {rank, 0}, {1, Nx});
adios::Variable<float> &ioMyMatrix =
adios.DefineVariable<float>("myMatrix", {nproc * rows, columns},
{rank * rows, 0}, {rows, columns});
adios::Variable<float> &ioMyMatrix2 =
adios.DefineVariable<float>("myMatrix2", {}, {}, {rows, columns});
adios.DefineVariable<float>("myMatrix2", {rows, nproc * columns},
{0, rank * columns}, {rows, columns});
// Define method for engine creation, it is basically straight-forward
// parameters
......
......@@ -40,11 +40,11 @@ int main(int /*argc*/, char ** /*argv*/)
{
// Define variable and local size
adios::Variable<double> &ioMyDoubles =
adios.DefineVariable<double>("myDoubles", {}, {}, {Nx});
adios.DefineVariable<double>("myDoubles", {Nx}, {0}, {Nx});
adios::Variable<float> &ioMyMatrix = adios.DefineVariable<float>(
"myMatrix", {adios::JoinedDim, columns}, {}, {rows, columns});
adios::Variable<float> &ioMyMatrix2 =
adios.DefineVariable<float>("myMatrix2", {}, {}, {rows, columns});
"myMatrix", {rows, columns}, {0, 0}, {rows, columns});
adios::Variable<float> &ioMyMatrix2 = adios.DefineVariable<float>(
"myMatrix2", {rows, columns}, {0, 0}, {rows, columns});
// Define method for engine creation, it is basically straight-forward
// parameters
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment