From d26769e894ecd5be69bbb07dde45163329343ebf Mon Sep 17 00:00:00 2001 From: pnorbert <norbert.podhorszki@gmail.com> Date: Tue, 6 Jun 2017 15:43:31 -0400 Subject: [PATCH] Williamfgc refactor examples basics (#8) * Added examples for variables * fix more example code * make Open explicit in ADIOS1 toolkit. Fix handling open mode * fix OpenModeToString() to serve adios 1 API's needs as well * fix basic examples after code refactoring * fix nompi build for basic examples * fix nompi build --- .../experimental/multistep/reader_allsteps.cpp | 14 +++++++++++++- examples/hello/adios1Writer/helloADIOS1Writer.cpp | 12 ++++++++---- .../hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp | 13 ++++++------- examples/hello/bpWriter/helloBPWriter_nompi.cpp | 5 ++--- .../datamanWriter/helloDataManWriter_nompi.cpp | 2 -- .../hello/hdf5Writer/helloHDF5Writer_nompi.cpp | 7 +++---- 6 files changed, 32 insertions(+), 21 deletions(-) diff --git a/examples/experimental/multistep/reader_allsteps.cpp b/examples/experimental/multistep/reader_allsteps.cpp index c51667153..7b50a98ba 100644 --- a/examples/experimental/multistep/reader_allsteps.cpp +++ b/examples/experimental/multistep/reader_allsteps.cpp @@ -192,7 +192,9 @@ int main(int argc, char *argv[]) if (rank == 0) Print2DArray(Nparts, vNparts->m_AvailableSteps, Nwriters, "Nparts"); Delete2DArray(Nparts); +#ifdef ADIOS2_HAVE_MPI MPI_Barrier(MPI_COMM_WORLD); +#endif /* * GlobalArrayFixedDims @@ -228,20 +230,24 @@ int main(int argc, char *argv[]) vGlobalArrayFixedDims->SetStepSelection( 0, vGlobalArrayFixedDims->m_AvailableSteps); bpReader->Read<double>(*vGlobalArrayFixedDims, GlobalArrayFixedDims[0]); +#ifdef ADIOS2_HAVE_MPI MPI_Barrier(MPI_COMM_WORLD); MPI_Status status; int token = 0; if (rank > 0) MPI_Recv(&token, 1, MPI_INT, rank - 1, 0, MPI_COMM_WORLD, &status); +#endif std::cout << "Rank " << rank << " read start = " << start << " count = " << count << std::endl; Print2DArray(GlobalArrayFixedDims, vGlobalArrayFixedDims->m_AvailableSteps, count, "GlobalArrayFixedDims"); +#ifdef ADIOS2_HAVE_MPI if (rank < nproc - 1) MPI_Send(&token, 1, MPI_INT, rank + 1, 0, MPI_COMM_WORLD); - Delete2DArray(GlobalArrayFixedDims); MPI_Barrier(MPI_COMM_WORLD); +#endif + Delete2DArray(GlobalArrayFixedDims); /* * LocalArrayFixedDims @@ -258,7 +264,9 @@ int main(int argc, char *argv[]) } std::cout << "LocalArrayFixedDims is irregular. Cannot read this " "variable yet...\n"; +#ifdef ADIOS2_HAVE_MPI MPI_Barrier(MPI_COMM_WORLD); +#endif /* * LocalArrayFixedDimsJoined @@ -284,7 +292,9 @@ int main(int argc, char *argv[]) vLocalArrayFixedDimsJoined->m_Shape[0], "LocalArrayFixedDimsJoined"); Delete2DArray(LocalArrayFixedDimsJoined); +#ifdef ADIOS2_HAVE_MPI MPI_Barrier(MPI_COMM_WORLD); +#endif /* * GlobalArray which changes size over time @@ -301,7 +311,9 @@ int main(int argc, char *argv[]) "dimension is supposed to be adios::IrregularDim indicating an " "Irregular array\n"); } +#ifdef ADIOS2_HAVE_MPI MPI_Barrier(MPI_COMM_WORLD); +#endif // Close file/stream bpReader->Close(); diff --git a/examples/hello/adios1Writer/helloADIOS1Writer.cpp b/examples/hello/adios1Writer/helloADIOS1Writer.cpp index 45a06a14a..1041f895c 100644 --- a/examples/hello/adios1Writer/helloADIOS1Writer.cpp +++ b/examples/hello/adios1Writer/helloADIOS1Writer.cpp @@ -10,20 +10,24 @@ * Author: Norbert Podhorszki pnorbert@ornl.gov */ -#include <ios> //std::ios_base::failure -#include <iostream> //std::cout -#include <mpi.h> +#include <ios> //std::ios_base::failure +#include <iostream> //std::cout #include <stdexcept> //std::invalid_argument std::exception #include <vector> #include <adios2.h> +#ifdef ADIOS2_HAVE_MPI +#include <mpi.h> +#endif int main(int argc, char *argv[]) { MPI_Init(&argc, &argv); - int rank, size; + int rank = 0, size = 1; +#ifdef ADIOS2_HAVE_MPI MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); +#endif /** Application variable */ std::vector<float> myFloats = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; diff --git a/examples/hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp b/examples/hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp index 74ab119d4..84b531107 100644 --- a/examples/hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp +++ b/examples/hello/bpTimeWriter/helloBPTimeWriter_nompi.cpp @@ -8,9 +8,8 @@ * Author: William F Godoy godoywf@ornl.gov */ -#include <ios> //std::ios_base::failure -#include <iostream> //std::cout -#include <mpi.h> +#include <ios> //std::ios_base::failure +#include <iostream> //std::cout #include <stdexcept> //std::invalid_argument std::exception #include <vector> @@ -19,8 +18,8 @@ int main(int argc, char *argv[]) { // Application variable - std::vector<float> myDoubles = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; - const std::size_t Nx = myDoubles.size(); + std::vector<float> myFloats = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; + const std::size_t Nx = myFloats.size(); try { @@ -53,8 +52,8 @@ int main(int argc, char *argv[]) // template type is optional but recommended bpWriter->Write<unsigned int>(bpTimeStep, timeStep); - bpFloats[0] = timeStep; - bpWriter->Write<float>(bpFloats, myDoubles.data()); + myFloats[0] = timeStep; + bpWriter->Write<float>(bpFloats, myFloats.data()); bpWriter->Advance(); } diff --git a/examples/hello/bpWriter/helloBPWriter_nompi.cpp b/examples/hello/bpWriter/helloBPWriter_nompi.cpp index 3394a6cee..13ca0a674 100644 --- a/examples/hello/bpWriter/helloBPWriter_nompi.cpp +++ b/examples/hello/bpWriter/helloBPWriter_nompi.cpp @@ -8,9 +8,8 @@ * Author: William F Godoy godoywf@ornl.gov */ -#include <ios> //std::ios_base::failure -#include <iostream> //std::cout -#include <mpi.h> +#include <ios> //std::ios_base::failure +#include <iostream> //std::cout #include <stdexcept> //std::invalid_argument std::exception #include <vector> diff --git a/examples/hello/datamanWriter/helloDataManWriter_nompi.cpp b/examples/hello/datamanWriter/helloDataManWriter_nompi.cpp index 3447d099a..885785c6e 100644 --- a/examples/hello/datamanWriter/helloDataManWriter_nompi.cpp +++ b/examples/hello/datamanWriter/helloDataManWriter_nompi.cpp @@ -11,8 +11,6 @@ #include <iostream> #include <vector> -#include <mpi.h> - #include <adios2.h> int main(int argc, char *argv[]) diff --git a/examples/hello/hdf5Writer/helloHDF5Writer_nompi.cpp b/examples/hello/hdf5Writer/helloHDF5Writer_nompi.cpp index d907209fd..6222e1eb1 100644 --- a/examples/hello/hdf5Writer/helloHDF5Writer_nompi.cpp +++ b/examples/hello/hdf5Writer/helloHDF5Writer_nompi.cpp @@ -8,9 +8,8 @@ * Author: Junmin */ -#include <ios> //std::ios_base::failure -#include <iostream> //std::cout -#include <mpi.h> +#include <ios> //std::ios_base::failure +#include <iostream> //std::cout #include <stdexcept> //std::invalid_argument std::exception #include <vector> @@ -39,7 +38,7 @@ int main(int argc, char *argv[]) "bpFloats", {}, {}, {Nx}, adios::ConstantDims); /** Engine derived class, spawned to start IO operations */ - auto hdf5Writer = hdf5IO.Open("myVector.bp", adios::OpenMode::w); + auto hdf5Writer = hdf5IO.Open("myVector.bp", adios::OpenMode::Write); if (!hdf5Writer) { -- GitLab