23 #include "openPMD/config.hpp" 24 #include "openPMD/auxiliary/Export.hpp" 25 #include "openPMD/IO/AbstractIOHandler.hpp" 27 #if openPMD_HAVE_ADIOS1 && openPMD_HAVE_MPI 28 # include "openPMD/IO/AbstractIOHandlerImpl.hpp" 30 # include <adios_read.h> 36 #if openPMD_HAVE_ADIOS1 37 # include <unordered_map> 38 # include <unordered_set> 44 #if openPMD_HAVE_ADIOS1 && openPMD_HAVE_MPI 53 std::future< void > flush()
override;
76 virtual int64_t open_write(
Writable *);
77 virtual ADIOS_FILE* open_read(std::string
const & name);
79 void close(ADIOS_FILE*);
80 int64_t initialize_group(std::string
const& name);
81 void flush_attribute(int64_t group, std::string
const& name,
Attribute const&);
84 ADIOS_READ_METHOD m_readMethod;
85 std::unordered_map< Writable*, std::shared_ptr< std::string > > m_filePaths;
86 std::unordered_map< std::shared_ptr< std::string >, int64_t > m_groups;
87 std::unordered_map< std::shared_ptr< std::string >,
bool > m_existsOnDisk;
88 std::unordered_map< std::shared_ptr< std::string >, int64_t > m_openWriteFileHandles;
89 std::unordered_map< std::shared_ptr< std::string >, ADIOS_FILE* > m_openReadFileHandles;
90 std::unordered_map< ADIOS_FILE*, std::vector< ADIOS_SELECTION* > > m_scheduledReads;
91 std::unordered_map< int64_t, std::unordered_map< std::string, Attribute > > m_attributeWrites;
101 class OPENPMDAPI_EXPORT ParallelADIOS1IOHandlerImpl
Definition: IOTask.hpp:158
Definition: IOTask.hpp:242
Definition: IOTask.hpp:337
Definition: IOTask.hpp:135
Varidic datatype supporting at least all formats for attributes specified in the openPMD standard...
Definition: Attribute.hpp:50
Definition: IOTask.hpp:172
Definition: IOTask.hpp:460
Interface for communicating between logical and physically persistent data.
Definition: AbstractIOHandler.hpp:98
Public definitions of openPMD-api.
Definition: Date.cpp:29
Layer to mirror structure of logical data and persistent data in file.
Definition: Writable.hpp:64
Definition: IOTask.hpp:382
Definition: IOTask.hpp:523
Definition: IOTask.hpp:117
Definition: IOTask.hpp:564
Definition: IOTask.hpp:411
Definition: IOTask.hpp:316
Definition: IOTask.hpp:188
Definition: AbstractIOHandlerImpl.hpp:36
Definition: IOTask.hpp:476
Definition: IOTask.hpp:275
Definition: IOTask.hpp:495
Definition: IOTask.hpp:300
Definition: IOTask.hpp:226
Definition: IOTask.hpp:353
Definition: IOTask.hpp:258
Definition: ParallelADIOS1IOHandlerImpl.hpp:45