Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Hdf5MpiReaderWriter Class Reference

Parallel reading/writing in HDF5 format. More...

#include <arcane/hdf5/Hdf5MpiReaderWriter.h>

Inheritance diagram for Arcane::Hdf5MpiReaderWriter:
Collaboration diagram for Arcane::Hdf5MpiReaderWriter:

Classes

class  VarOffset

Public Types

enum  eOpenMode { OpenModeRead , OpenModeTruncate , OpenModeAppend }

Public Member Functions

 Hdf5MpiReaderWriter (ISubDomain *sd, const String &filename, const String &m_sub_group_name, Integer fileset_size, eOpenMode om, bool do_verif=false)
virtual void initialize ()
virtual void beginWrite (const VariableCollection &vars)
virtual void endWrite ()
virtual void beginRead (const VariableCollection &)
virtual void endRead ()
virtual void setMetaData (const String &meta_data)
 Sets the metadata information.
virtual String metaData ()
 Metadata.
virtual void write (IVariable *v, IData *data)
 Writes the data data of the variable var.
virtual void read (IVariable *v, IData *data)
 Reads the data data of the variable var.
herr_t iterateMe (hid_t group_id, const char *member_name)
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::IDataReader
virtual ~IDataReader ()=default
 Frees resources.
Public Member Functions inherited from Arcane::IDataWriter
virtual ~IDataWriter ()=default
 Frees resources.

Private Types

typedef std::map< String, VarOffsetOffsetMap

Private Member Functions

void _writeVal (const String &var_group_name, const String &sub_group_name, const ISerializedData *sdata)
void _writeValParallel (IVariable *v, const ISerializedData *sdata)
void _readVal (IVariable *var, IData *data)
Ref< ISerializedData_readDim2 (IVariable *v)
void _directReadVal (IVariable *v, IData *data)
void _directWriteVal (IVariable *v, IData *data)
void _checkValid ()
String _variableGroupName (IVariable *var)
void _receiveRemoteVariables ()
void _writeRemoteVariable (ISerializer *sb)
void _setMetaData (const String &meta_data, const String &sub_group_name)

Private Attributes

ISubDomainm_sub_domain
 Sub-domain manager.
IParallelMngm_parallel_mng
 Parallelism manager;.
eOpenMode m_open_mode
 Open mode.
String m_filename
 Filename.
String m_sub_group_name
 Sub-group name.
bool m_is_initialized
 True if already initialized.
Hdf5Utils::StandardTypes m_types
Hdf5Utils::HFile m_file_id
 HDF file identifier.
Hdf5Utils::HGroup m_sub_group_id
 HDF group identifier containing the protection.
Hdf5Utils::HGroup m_variable_group_id
 HDF group identifier containing the variables.
StringList m_variables_name
 List of saved variable names.
Timer m_io_timer
Timer m_write_timer
OffsetMap m_variables_offset
bool m_is_parallel
 Active parallel mode: WARNING: for testing only.
Int32 m_my_rank
Int32 m_send_rank
Int32 m_last_recv_rank
Integer m_fileset_size

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Parallel reading/writing in HDF5 format.

Warning
The management of reading/writing in this format is currently at the experimental stage and cannot be used to ensure long-term data persistence.

Definition at line 40 of file hdf5/Hdf5MpiReaderWriter.h.

Member Typedef Documentation

◆ OffsetMap

typedef std::map<String, VarOffset> Arcane::Hdf5MpiReaderWriter::OffsetMap
private

Definition at line 116 of file hdf5/Hdf5MpiReaderWriter.h.

Member Enumeration Documentation

◆ eOpenMode

enum Arcane::Hdf5MpiReaderWriter::eOpenMode

Definition at line 47 of file hdf5/Hdf5MpiReaderWriter.h.

Member Function Documentation

◆ beginRead()

virtual void Arcane::Hdf5MpiReaderWriter::beginRead ( const VariableCollection & )
inlinevirtual

Implements Arcane::IDataReader.

Definition at line 66 of file hdf5/Hdf5MpiReaderWriter.h.

◆ beginWrite()

virtual void Arcane::Hdf5MpiReaderWriter::beginWrite ( const VariableCollection & vars)
virtual

Implements Arcane::IDataWriter.

◆ endRead()

virtual void Arcane::Hdf5MpiReaderWriter::endRead ( )
inlinevirtual

Implements Arcane::IDataReader.

Definition at line 67 of file hdf5/Hdf5MpiReaderWriter.h.

◆ endWrite()

virtual void Arcane::Hdf5MpiReaderWriter::endWrite ( )
virtual

Implements Arcane::IDataWriter.

◆ metaData()

virtual String Arcane::Hdf5MpiReaderWriter::metaData ( )
virtual

Metadata.

Implements Arcane::IDataReader.

◆ read()

virtual void Arcane::Hdf5MpiReaderWriter::read ( IVariable * var,
IData * data )
virtual

Reads the data data of the variable var.

Implements Arcane::IDataReader.

◆ setMetaData()

virtual void Arcane::Hdf5MpiReaderWriter::setMetaData ( const String & meta_data)
virtual

Sets the metadata information.

Implements Arcane::IDataWriter.

◆ write()

virtual void Arcane::Hdf5MpiReaderWriter::write ( IVariable * var,
IData * data )
virtual

Writes the data data of the variable var.

Implements Arcane::IDataWriter.

Member Data Documentation

◆ m_file_id

Hdf5Utils::HFile Arcane::Hdf5MpiReaderWriter::m_file_id
private

HDF file identifier.

Definition at line 108 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_filename

String Arcane::Hdf5MpiReaderWriter::m_filename
private

Filename.

Definition at line 102 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_fileset_size

Integer Arcane::Hdf5MpiReaderWriter::m_fileset_size
private

Definition at line 127 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_io_timer

Timer Arcane::Hdf5MpiReaderWriter::m_io_timer
private

Definition at line 113 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_is_initialized

bool Arcane::Hdf5MpiReaderWriter::m_is_initialized
private

True if already initialized.

Definition at line 104 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_is_parallel

bool Arcane::Hdf5MpiReaderWriter::m_is_parallel
private

Active parallel mode: WARNING: for testing only.

Definition at line 122 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_last_recv_rank

Int32 Arcane::Hdf5MpiReaderWriter::m_last_recv_rank
private

Definition at line 125 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_my_rank

Int32 Arcane::Hdf5MpiReaderWriter::m_my_rank
private

Definition at line 123 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_open_mode

eOpenMode Arcane::Hdf5MpiReaderWriter::m_open_mode
private

Open mode.

Definition at line 101 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_parallel_mng

IParallelMng* Arcane::Hdf5MpiReaderWriter::m_parallel_mng
private

Parallelism manager;.

Definition at line 100 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_send_rank

Int32 Arcane::Hdf5MpiReaderWriter::m_send_rank
private

Definition at line 124 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_sub_domain

ISubDomain* Arcane::Hdf5MpiReaderWriter::m_sub_domain
private

Sub-domain manager.

Definition at line 99 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_sub_group_id

Hdf5Utils::HGroup Arcane::Hdf5MpiReaderWriter::m_sub_group_id
private

HDF group identifier containing the protection.

Definition at line 109 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_sub_group_name

String Arcane::Hdf5MpiReaderWriter::m_sub_group_name
private

Sub-group name.

Definition at line 103 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_types

Hdf5Utils::StandardTypes Arcane::Hdf5MpiReaderWriter::m_types
private

Definition at line 106 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_variable_group_id

Hdf5Utils::HGroup Arcane::Hdf5MpiReaderWriter::m_variable_group_id
private

HDF group identifier containing the variables.

Definition at line 110 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_variables_name

StringList Arcane::Hdf5MpiReaderWriter::m_variables_name
private

List of saved variable names.

Definition at line 112 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_variables_offset

OffsetMap Arcane::Hdf5MpiReaderWriter::m_variables_offset
private

Definition at line 117 of file hdf5/Hdf5MpiReaderWriter.h.

◆ m_write_timer

Timer Arcane::Hdf5MpiReaderWriter::m_write_timer
private

Definition at line 114 of file hdf5/Hdf5MpiReaderWriter.h.


The documentation for this class was generated from the following file: