23 #include "openPMD/config.hpp" 24 #include "openPMD/IO/AbstractIOHandler.hpp" 26 #if openPMD_HAVE_ADIOS1 27 # include "openPMD/IO/AbstractIOHandlerImpl.hpp" 28 # include <adios_read.h> 34 #if openPMD_HAVE_ADIOS1 35 # include <unordered_map> 36 # include <unordered_set> 40 # define EXPORT __declspec( dllexport ) 41 #elif defined(__NVCC__) 44 # define EXPORT __attribute__((visibility("default"))) 50 #if openPMD_HAVE_ADIOS1 59 std::future< void > flush()
override;
80 virtual int64_t open_write(
Writable *);
81 virtual ADIOS_FILE* open_read(std::string
const & name);
83 void close(ADIOS_FILE*);
84 int64_t initialize_group(std::string
const& name);
85 void flush_attribute(int64_t group, std::string
const& name,
Attribute const&);
88 ADIOS_READ_METHOD m_readMethod;
89 std::unordered_map< Writable*, std::shared_ptr< std::string > > m_filePaths;
90 std::unordered_map< std::shared_ptr< std::string >, int64_t > m_groups;
91 std::unordered_map< std::shared_ptr< std::string >,
bool > m_existsOnDisk;
92 std::unordered_map< std::shared_ptr< std::string >, int64_t > m_openWriteFileHandles;
93 std::unordered_map< std::shared_ptr< std::string >, ADIOS_FILE* > m_openReadFileHandles;
94 std::unordered_map< ADIOS_FILE*, std::vector< ADIOS_SELECTION* > > m_scheduledReads;
95 std::unordered_map< int64_t, std::unordered_map< std::string, Attribute > > m_attributeWrites;
103 class EXPORT ADIOS1IOHandlerImpl
Definition: IOTask.hpp:191
Definition: IOTask.hpp:287
Definition: IOTask.hpp:127
Varidic datatype supporting at least all formats for attributes specified in the openPMD standard...
Definition: Attribute.hpp:49
Definition: IOTask.hpp:143
Definition: IOTask.hpp:379
Interface for communicating between logical and physically persistent data.
Definition: AbstractIOHandler.hpp:68
Public definitions of openPMD-api.
Definition: Date.cpp:28
Layer to mirror structure of logical data and persistent data in file.
Definition: Writable.hpp:55
Definition: IOTask.hpp:332
Definition: IOTask.hpp:442
Definition: ADIOS1IOHandlerImpl.hpp:51
Definition: IOTask.hpp:111
Definition: IOTask.hpp:361
Definition: IOTask.hpp:266
Definition: IOTask.hpp:159
Definition: AbstractIOHandlerImpl.hpp:34
Definition: IOTask.hpp:395
Definition: IOTask.hpp:224
Definition: IOTask.hpp:414
Definition: IOTask.hpp:248
Definition: IOTask.hpp:175
Definition: IOTask.hpp:303
Definition: IOTask.hpp:207