Loading bindings/Python/py11Attribute.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ std::string Attribute::Type() const return m_Attribute->m_Type; } std::vector<std::string> Attribute::DataStrings() std::vector<std::string> Attribute::DataString() { helper::CheckForNullptr(m_Attribute, "in call to Attribute::DataStrings"); const std::string type = m_Attribute->m_Type; Loading @@ -58,7 +58,7 @@ std::vector<std::string> Attribute::DataStrings() } else { data = attribute->m_Elements; data = attribute->m_DataArray; } } else Loading bindings/Python/py11Attribute.h +1 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ public: pybind11::array Data(); std::vector<std::string> DataStrings(); std::vector<std::string> DataString(); private: Attribute(core::AttributeBase *attribute); Loading bindings/Python/py11glue.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ * Distributed under the OSI-approved Apache License, Version 2.0. See * accompanying file Copyright.txt for details. * * gluePyBind11.cpp * py11glue.cpp * * Created on: Mar 16, 2017 * Author: William F Godoy godoywf@ornl.gov Loading Loading @@ -408,6 +408,7 @@ PYBIND11_MODULE(adios2, m) }) .def("Name", &adios2::py11::Attribute::Name) .def("Type", &adios2::py11::Attribute::Type) .def("DataString", &adios2::py11::Attribute::DataString) .def("Data", &adios2::py11::Attribute::Data); pybind11::class_<adios2::py11::Engine>(m, "Engine") Loading testing/adios2/bindings/python/TestBPWriteReadTypes.py +84 −20 Original line number Diff line number Diff line Loading @@ -24,12 +24,26 @@ def check_name(name, name_list): raise ValueError(str(name) + ' not found in list') def check_array(np1, np2, hint): if((np1 == np2).all() is False): print("InData: " + str(np1)) print("Data: " + str(np2)) raise ValueError('Array read failed ' + str(hint)) # MPI comm = MPI.COMM_WORLD rank = comm.Get_rank() size = comm.Get_size() Nx = 8 # list of tested attributes and variables attr_names = ["attrString", "attrI8", "attrI16", "attrI32", "attrI64", "attrU8", "attrU16", "attrU32", "attrU64", "attrR32", "attrR64"] var_names = ["varStr", "varI8", "varI16", "varI32", "varI64", "varU8", "varU16", "varU32", "varU64", "varR32", "varR64"] # Start ADIOS adios = adios2.ADIOS(comm) ioWriter = adios.DeclareIO("writer") Loading Loading @@ -68,8 +82,17 @@ varR32 = ioWriter.DefineVariable( varR64 = ioWriter.DefineVariable( "varR64", data.R64, shape, start, count, adios2.ConstantDims) attString = ioWriter.DefineAttribute("attrString", ["hello attribute"]) attString = ioWriter.DefineAttribute("attrString", ["one", "two", "three"]) attI8 = ioWriter.DefineAttribute("attrI8", data.I8) attI16 = ioWriter.DefineAttribute("attrI16", data.I16) attI32 = ioWriter.DefineAttribute("attrI32", data.I32) attI64 = ioWriter.DefineAttribute("attrI64", data.I64) attU8 = ioWriter.DefineAttribute("attrU8", data.U8) attU16 = ioWriter.DefineAttribute("attrU16", data.U16) attU32 = ioWriter.DefineAttribute("attrU32", data.U32) attU64 = ioWriter.DefineAttribute("attrU64", data.U64) attR32 = ioWriter.DefineAttribute("attrR32", data.R32) attR64 = ioWriter.DefineAttribute("attrR64", data.R64) ioWriter.SetEngine("BPFile") ioParams = {} Loading @@ -85,7 +108,6 @@ if(engineType != "BPFile"): ioWriter.SetParameter("profileunits", "microseconds") ioWriter.AddTransport("file") ioParams = ioWriter.Parameters() print("Final IO parameters") for key, value in ioParams.items(): Loading Loading @@ -125,6 +147,66 @@ reader = ioReader.Open("npTypes.bp", adios2.Mode.Read) attrString = ioReader.InquireAttribute("attrString") attrI8 = ioReader.InquireAttribute("attrI8") attrI16 = ioReader.InquireAttribute("attrI16") attrI32 = ioReader.InquireAttribute("attrI32") attrI64 = ioReader.InquireAttribute("attrI64") attrU8 = ioReader.InquireAttribute("attrU8") attrU16 = ioReader.InquireAttribute("attrU16") attrU32 = ioReader.InquireAttribute("attrU32") attrU64 = ioReader.InquireAttribute("attrU64") attrR32 = ioReader.InquireAttribute("attrR32") attrR64 = ioReader.InquireAttribute("attrR64") check_object(attrString, "attrString") check_object(attrI8, "attrI8") check_object(attrI16, "attrI16") check_object(attrI32, "attrI32") check_object(attrI64, "attrI64") check_object(attrU8, "attrU8") check_object(attrU16, "attrU16") check_object(attrU32, "attrU32") check_object(attrU64, "attrU64") check_object(attrR32, "attrR32") check_object(attrR64, "attrR64") attrStringData = attrString.DataString() if(attrStringData[0] != "one"): raise ValueError('attrStringData[0] failed') if(attrStringData[1] != "two"): raise ValueError('attrStringData[1] failed') if(attrStringData[2] != "three"): raise ValueError('attrStringData[2] failed') attrI8Data = attrI8.Data() attrI16Data = attrI16.Data() attrI32Data = attrI32.Data() attrI64Data = attrI64.Data() attrU8Data = attrU8.Data() attrU16Data = attrU16.Data() attrU32Data = attrU32.Data() attrU64Data = attrU64.Data() attrR32Data = attrR32.Data() attrR64Data = attrR64.Data() check_array(attrI8Data, data.I8, 'I8') check_array(attrI16Data, data.I16, 'I16') check_array(attrI32Data, data.I32, 'I32') check_array(attrI64Data, data.I64, 'I64') check_array(attrU8Data, data.U8, 'U8') check_array(attrU16Data, data.U16, 'U16') check_array(attrU32Data, data.U32, 'U32') check_array(attrU64Data, data.U64, 'U64') check_array(attrR32Data, data.R32, 'R32') check_array(attrR64Data, data.R64, 'R64') attributesInfo = ioReader.AvailableAttributes() for name, info in attributesInfo.items(): check_name(name, attr_names) if rank == 0: print("attribute_name: " + name) for key, value in info.items(): print("\t" + key + ": " + value) print("\n") varStr = ioReader.InquireVariable("varStr") varI8 = ioReader.InquireVariable("varI8") Loading @@ -138,9 +220,6 @@ varU64 = ioReader.InquireVariable("varU64") varR32 = ioReader.InquireVariable("varR32") varR64 = ioReader.InquireVariable("varR64") check_object(attrString, "attrString") check_object(attrString, "attrI8") check_object(varStr, "varStr") check_object(varI8, "varI8") check_object(varI16, "varI16") Loading @@ -153,21 +232,6 @@ check_object(varU64, "varU64") check_object(varR32, "varR32") check_object(varR64, "varR64") attr_names = ["attrString", "attrI8"] var_names = ["varStr", "varI8", "varI16", "varI32", "varI64", "varU8", "varU16", "varU32", "varU64", "varR32", "varR64"] attributesInfo = ioReader.AvailableAttributes() for name, info in attributesInfo.items(): check_name(name, attr_names) if rank == 0: print("attribute_name: " + name) for key, value in info.items(): print("\t" + key + ": " + value) print("\n") variablesInfo = ioReader.AvailableVariables() for name, info in variablesInfo.items(): check_name(name, var_names) Loading testing/adios2/bindings/python/TestBPWriteReadTypes_nompi.py +10 −10 Original line number Diff line number Diff line Loading @@ -23,28 +23,28 @@ bpIO = adios.DeclareIO("NPTypes") # ADIOS Variable name, shape, start, offset, constant dims # All local variables varI8 = bpIO.DefineVariable( "varI8", [], [], [data.I8.size], adios2.ConstantDims, data.I8) "varI8", data.I8, [], [], [data.I8.size], adios2.ConstantDims) varI16 = bpIO.DefineVariable( "varI16", [], [], [data.I16.size], adios2.ConstantDims, data.I16) "varI16", data.I16, [], [], [data.I16.size], adios2.ConstantDims) varI32 = bpIO.DefineVariable( "varI32", [], [], [data.I32.size], adios2.ConstantDims, data.I32) "varI32", data.I32, [], [], [data.I32.size], adios2.ConstantDims) varI64 = bpIO.DefineVariable( "varI64", [], [], [data.I64.size], adios2.ConstantDims, data.I64) "varI64", data.I64, [], [], [data.I64.size], adios2.ConstantDims) varU8 = bpIO.DefineVariable( "varUI8", [], [], [data.U8.size], adios2.ConstantDims, data.U8) "varUI8", data.U8, [], [], [data.U8.size], adios2.ConstantDims) varU16 = bpIO.DefineVariable( "varUI16", [], [], [data.U16.size], adios2.ConstantDims, data.U16) "varUI16", data.U16, [], [], [data.U16.size], adios2.ConstantDims) varU32 = bpIO.DefineVariable( "varUI32", [], [], [data.U32.size], adios2.ConstantDims, data.U32) "varUI32", data.U32, [], [], [data.U32.size], adios2.ConstantDims) varU64 = bpIO.DefineVariable( "varUI64", [], [], [data.U64.size], adios2.ConstantDims, data.U64) "varUI64", data.U64, [], [], [data.U64.size], adios2.ConstantDims) varR32 = bpIO.DefineVariable( "varR32", [], [], [data.R32.size], adios2.ConstantDims, data.R32) "varR32", data.R32, [], [], [data.R32.size], adios2.ConstantDims) varR64 = bpIO.DefineVariable( "varR64", [], [], [data.R64.size], adios2.ConstantDims, data.R64) "varR64", data.R64, [], [], [data.R64.size], adios2.ConstantDims) # ADIOS Engine Loading Loading
bindings/Python/py11Attribute.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ std::string Attribute::Type() const return m_Attribute->m_Type; } std::vector<std::string> Attribute::DataStrings() std::vector<std::string> Attribute::DataString() { helper::CheckForNullptr(m_Attribute, "in call to Attribute::DataStrings"); const std::string type = m_Attribute->m_Type; Loading @@ -58,7 +58,7 @@ std::vector<std::string> Attribute::DataStrings() } else { data = attribute->m_Elements; data = attribute->m_DataArray; } } else Loading
bindings/Python/py11Attribute.h +1 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ public: pybind11::array Data(); std::vector<std::string> DataStrings(); std::vector<std::string> DataString(); private: Attribute(core::AttributeBase *attribute); Loading
bindings/Python/py11glue.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ * Distributed under the OSI-approved Apache License, Version 2.0. See * accompanying file Copyright.txt for details. * * gluePyBind11.cpp * py11glue.cpp * * Created on: Mar 16, 2017 * Author: William F Godoy godoywf@ornl.gov Loading Loading @@ -408,6 +408,7 @@ PYBIND11_MODULE(adios2, m) }) .def("Name", &adios2::py11::Attribute::Name) .def("Type", &adios2::py11::Attribute::Type) .def("DataString", &adios2::py11::Attribute::DataString) .def("Data", &adios2::py11::Attribute::Data); pybind11::class_<adios2::py11::Engine>(m, "Engine") Loading
testing/adios2/bindings/python/TestBPWriteReadTypes.py +84 −20 Original line number Diff line number Diff line Loading @@ -24,12 +24,26 @@ def check_name(name, name_list): raise ValueError(str(name) + ' not found in list') def check_array(np1, np2, hint): if((np1 == np2).all() is False): print("InData: " + str(np1)) print("Data: " + str(np2)) raise ValueError('Array read failed ' + str(hint)) # MPI comm = MPI.COMM_WORLD rank = comm.Get_rank() size = comm.Get_size() Nx = 8 # list of tested attributes and variables attr_names = ["attrString", "attrI8", "attrI16", "attrI32", "attrI64", "attrU8", "attrU16", "attrU32", "attrU64", "attrR32", "attrR64"] var_names = ["varStr", "varI8", "varI16", "varI32", "varI64", "varU8", "varU16", "varU32", "varU64", "varR32", "varR64"] # Start ADIOS adios = adios2.ADIOS(comm) ioWriter = adios.DeclareIO("writer") Loading Loading @@ -68,8 +82,17 @@ varR32 = ioWriter.DefineVariable( varR64 = ioWriter.DefineVariable( "varR64", data.R64, shape, start, count, adios2.ConstantDims) attString = ioWriter.DefineAttribute("attrString", ["hello attribute"]) attString = ioWriter.DefineAttribute("attrString", ["one", "two", "three"]) attI8 = ioWriter.DefineAttribute("attrI8", data.I8) attI16 = ioWriter.DefineAttribute("attrI16", data.I16) attI32 = ioWriter.DefineAttribute("attrI32", data.I32) attI64 = ioWriter.DefineAttribute("attrI64", data.I64) attU8 = ioWriter.DefineAttribute("attrU8", data.U8) attU16 = ioWriter.DefineAttribute("attrU16", data.U16) attU32 = ioWriter.DefineAttribute("attrU32", data.U32) attU64 = ioWriter.DefineAttribute("attrU64", data.U64) attR32 = ioWriter.DefineAttribute("attrR32", data.R32) attR64 = ioWriter.DefineAttribute("attrR64", data.R64) ioWriter.SetEngine("BPFile") ioParams = {} Loading @@ -85,7 +108,6 @@ if(engineType != "BPFile"): ioWriter.SetParameter("profileunits", "microseconds") ioWriter.AddTransport("file") ioParams = ioWriter.Parameters() print("Final IO parameters") for key, value in ioParams.items(): Loading Loading @@ -125,6 +147,66 @@ reader = ioReader.Open("npTypes.bp", adios2.Mode.Read) attrString = ioReader.InquireAttribute("attrString") attrI8 = ioReader.InquireAttribute("attrI8") attrI16 = ioReader.InquireAttribute("attrI16") attrI32 = ioReader.InquireAttribute("attrI32") attrI64 = ioReader.InquireAttribute("attrI64") attrU8 = ioReader.InquireAttribute("attrU8") attrU16 = ioReader.InquireAttribute("attrU16") attrU32 = ioReader.InquireAttribute("attrU32") attrU64 = ioReader.InquireAttribute("attrU64") attrR32 = ioReader.InquireAttribute("attrR32") attrR64 = ioReader.InquireAttribute("attrR64") check_object(attrString, "attrString") check_object(attrI8, "attrI8") check_object(attrI16, "attrI16") check_object(attrI32, "attrI32") check_object(attrI64, "attrI64") check_object(attrU8, "attrU8") check_object(attrU16, "attrU16") check_object(attrU32, "attrU32") check_object(attrU64, "attrU64") check_object(attrR32, "attrR32") check_object(attrR64, "attrR64") attrStringData = attrString.DataString() if(attrStringData[0] != "one"): raise ValueError('attrStringData[0] failed') if(attrStringData[1] != "two"): raise ValueError('attrStringData[1] failed') if(attrStringData[2] != "three"): raise ValueError('attrStringData[2] failed') attrI8Data = attrI8.Data() attrI16Data = attrI16.Data() attrI32Data = attrI32.Data() attrI64Data = attrI64.Data() attrU8Data = attrU8.Data() attrU16Data = attrU16.Data() attrU32Data = attrU32.Data() attrU64Data = attrU64.Data() attrR32Data = attrR32.Data() attrR64Data = attrR64.Data() check_array(attrI8Data, data.I8, 'I8') check_array(attrI16Data, data.I16, 'I16') check_array(attrI32Data, data.I32, 'I32') check_array(attrI64Data, data.I64, 'I64') check_array(attrU8Data, data.U8, 'U8') check_array(attrU16Data, data.U16, 'U16') check_array(attrU32Data, data.U32, 'U32') check_array(attrU64Data, data.U64, 'U64') check_array(attrR32Data, data.R32, 'R32') check_array(attrR64Data, data.R64, 'R64') attributesInfo = ioReader.AvailableAttributes() for name, info in attributesInfo.items(): check_name(name, attr_names) if rank == 0: print("attribute_name: " + name) for key, value in info.items(): print("\t" + key + ": " + value) print("\n") varStr = ioReader.InquireVariable("varStr") varI8 = ioReader.InquireVariable("varI8") Loading @@ -138,9 +220,6 @@ varU64 = ioReader.InquireVariable("varU64") varR32 = ioReader.InquireVariable("varR32") varR64 = ioReader.InquireVariable("varR64") check_object(attrString, "attrString") check_object(attrString, "attrI8") check_object(varStr, "varStr") check_object(varI8, "varI8") check_object(varI16, "varI16") Loading @@ -153,21 +232,6 @@ check_object(varU64, "varU64") check_object(varR32, "varR32") check_object(varR64, "varR64") attr_names = ["attrString", "attrI8"] var_names = ["varStr", "varI8", "varI16", "varI32", "varI64", "varU8", "varU16", "varU32", "varU64", "varR32", "varR64"] attributesInfo = ioReader.AvailableAttributes() for name, info in attributesInfo.items(): check_name(name, attr_names) if rank == 0: print("attribute_name: " + name) for key, value in info.items(): print("\t" + key + ": " + value) print("\n") variablesInfo = ioReader.AvailableVariables() for name, info in variablesInfo.items(): check_name(name, var_names) Loading
testing/adios2/bindings/python/TestBPWriteReadTypes_nompi.py +10 −10 Original line number Diff line number Diff line Loading @@ -23,28 +23,28 @@ bpIO = adios.DeclareIO("NPTypes") # ADIOS Variable name, shape, start, offset, constant dims # All local variables varI8 = bpIO.DefineVariable( "varI8", [], [], [data.I8.size], adios2.ConstantDims, data.I8) "varI8", data.I8, [], [], [data.I8.size], adios2.ConstantDims) varI16 = bpIO.DefineVariable( "varI16", [], [], [data.I16.size], adios2.ConstantDims, data.I16) "varI16", data.I16, [], [], [data.I16.size], adios2.ConstantDims) varI32 = bpIO.DefineVariable( "varI32", [], [], [data.I32.size], adios2.ConstantDims, data.I32) "varI32", data.I32, [], [], [data.I32.size], adios2.ConstantDims) varI64 = bpIO.DefineVariable( "varI64", [], [], [data.I64.size], adios2.ConstantDims, data.I64) "varI64", data.I64, [], [], [data.I64.size], adios2.ConstantDims) varU8 = bpIO.DefineVariable( "varUI8", [], [], [data.U8.size], adios2.ConstantDims, data.U8) "varUI8", data.U8, [], [], [data.U8.size], adios2.ConstantDims) varU16 = bpIO.DefineVariable( "varUI16", [], [], [data.U16.size], adios2.ConstantDims, data.U16) "varUI16", data.U16, [], [], [data.U16.size], adios2.ConstantDims) varU32 = bpIO.DefineVariable( "varUI32", [], [], [data.U32.size], adios2.ConstantDims, data.U32) "varUI32", data.U32, [], [], [data.U32.size], adios2.ConstantDims) varU64 = bpIO.DefineVariable( "varUI64", [], [], [data.U64.size], adios2.ConstantDims, data.U64) "varUI64", data.U64, [], [], [data.U64.size], adios2.ConstantDims) varR32 = bpIO.DefineVariable( "varR32", [], [], [data.R32.size], adios2.ConstantDims, data.R32) "varR32", data.R32, [], [], [data.R32.size], adios2.ConstantDims) varR64 = bpIO.DefineVariable( "varR64", [], [], [data.R64.size], adios2.ConstantDims, data.R64) "varR64", data.R64, [], [], [data.R64.size], adios2.ConstantDims) # ADIOS Engine Loading