Lecture/Ecriture au format HDF5. Plus de détails...
#include <arcane/hdf5/Hdf5ReaderWriter.h>
Types publics | |
enum | eOpenMode { OpenModeRead , OpenModeTruncate , OpenModeAppend } |
Fonctions membres publiques | |
Hdf5ReaderWriter (ISubDomain *sd, const String &filename, const String &m_sub_group_name, Integer fileset_size, Integer write_index, Integer index_modulo, eOpenMode om, bool do_verif=false) | |
virtual void | initialize () |
virtual void | beginWrite (const VariableCollection &vars) |
virtual void | endWrite () |
virtual void | beginRead (const VariableCollection &vars) |
virtual void | endRead () |
virtual void | setMetaData (const String &meta_data) |
Positionne les infos des méta-données. | |
virtual String | metaData () |
Méta-données. | |
virtual void | write (IVariable *v, IData *data) |
Ecrit les données data de la variable var. | |
virtual void | read (IVariable *v, IData *data) |
Lit les données data de la variable var. | |
herr_t | iterateMe (hid_t group_id, const char *member_name) |
![]() | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () const |
Gestionnaire de trace. | |
TraceMessage | info () const |
Flot pour un message d'information. | |
TraceMessage | pinfo () const |
Flot pour un message d'information en parallèle. | |
TraceMessage | info (char category) const |
Flot pour un message d'information d'une catégorie donnée. | |
TraceMessage | pinfo (char category) const |
Flot pour un message d'information parallèle d'une catégorie donnée. | |
TraceMessage | info (bool v) const |
Flot pour un message d'information. | |
TraceMessage | warning () const |
Flot pour un message d'avertissement. | |
TraceMessage | pwarning () const |
TraceMessage | error () const |
Flot pour un message d'erreur. | |
TraceMessage | perror () const |
TraceMessage | log () const |
Flot pour un message de log. | |
TraceMessage | plog () const |
Flot pour un message de log. | |
TraceMessage | logdate () const |
Flot pour un message de log précédé de la date. | |
TraceMessage | fatal () const |
Flot pour un message d'erreur fatale. | |
TraceMessage | pfatal () const |
Flot pour un message d'erreur fatale en parallèle. | |
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
Flot pour un message de debug. | |
Trace::eDebugLevel | configDbgLevel () const |
Niveau debug du fichier de configuration. | |
TraceMessage | info (Int32 verbose_level) const |
Flot pour un message d'information d'un niveau donné | |
TraceMessage | linfo () const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
TraceMessage | linfo (Int32 relative_level) const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
void | fatalMessage (const StandaloneTraceMessage &o) const |
![]() | |
virtual | ~IDataReader () |
Libère les ressources. | |
![]() | |
virtual | ~IDataWriter () |
Libère les ressources. | |
Fonctions membres privées | |
void | _writeVal (const String &var_group_name, const String &sub_group_name, const ISerializedData *sdata, const Int32 from_rank=0) |
void | _writeValParallel (IVariable *v, const ISerializedData *sdata) |
Ecriture en parallèle. | |
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) |
Attributs privés | |
IParallelMng * | m_parallel_mng |
Gestionnaire du parallélisme;. | |
eOpenMode | m_open_mode |
Mode d'ouverture. | |
String | m_filename |
Nom du fichier. | |
String | m_sub_group_name |
Nom du fichier. | |
bool | m_is_initialized |
Vrai si déjà initialisé | |
Hdf5Utils::StandardTypes | m_types |
Hdf5Utils::HFile | m_file_id |
Identifiant HDF du fichier. | |
Hdf5Utils::HGroup | m_sub_group_id |
Identifiant HDF du groupe contenant la protection. | |
Hdf5Utils::HGroup | m_variable_group_id |
Identifiant HDF du groupe contenant les variables. | |
StringList | m_variables_name |
Liste des noms des variables sauvées. | |
Timer | m_io_timer |
bool | m_is_parallel |
Mode parallèle actif: ATTENTION: en cours de test uniquement. | |
Int32 | m_my_rank |
Int32 | m_send_rank |
Int32 | m_last_recv_rank |
Integer | m_fileset_size |
Integer | m_index_write |
Integer | m_index_modulo |
Membres hérités additionnels | |
![]() | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Lecture/Ecriture au format HDF5.
La version de Hdf5 utilisée est au moins la version 1.4.3.
En ce qui concerne les réels, on ne supporte que la double précision. Ils sont donc stockées sur 8 octets aussi.
Pour les Real2, Real2x2, Real3 et les Real3x3, on utilise un type composé.
La structure des informations sauvées est la suivante:
Définition à la ligne 75 du fichier hdf5/Hdf5ReaderWriter.h.
enum Arcane::Hdf5ReaderWriter::eOpenMode |
Définition à la ligne 83 du fichier hdf5/Hdf5ReaderWriter.h.
Arcane::Hdf5ReaderWriter::Hdf5ReaderWriter | ( | ISubDomain * | sd, |
const String & | filename, | ||
const String & | m_sub_group_name, | ||
Integer | fileset_size, | ||
Integer | write_index, | ||
Integer | index_modulo, | ||
eOpenMode | om, | ||
bool | do_verif = false ) |
Définition à la ligne 77 du fichier Hdf5ReaderWriter.cc.
Arcane::Hdf5ReaderWriter::~Hdf5ReaderWriter | ( | ) |
Définition à la ligne 211 du fichier Hdf5ReaderWriter.cc.
|
private |
Définition à la ligne 219 du fichier Hdf5ReaderWriter.cc.
Définition à la ligne 266 du fichier Hdf5ReaderWriter.cc.
Définition à la ligne 277 du fichier Hdf5ReaderWriter.cc.
|
private |
Définition à la ligne 444 du fichier Hdf5ReaderWriter.cc.
Définition à la ligne 573 du fichier Hdf5ReaderWriter.cc.
|
private |
Définition à la ligne 744 du fichier Hdf5ReaderWriter.cc.
|
private |
Définition à la ligne 653 du fichier Hdf5ReaderWriter.cc.
Définition à la ligne 230 du fichier Hdf5ReaderWriter.cc.
|
private |
Définition à la ligne 769 du fichier Hdf5ReaderWriter.cc.
|
private |
Définition à la ligne 314 du fichier Hdf5ReaderWriter.cc.
|
private |
Ecriture en parallèle.
< Nom du groupe.
< Nom du groupe.
Définition à la ligne 243 du fichier Hdf5ReaderWriter.cc.
Références Arcane::BasicSerializer::allocateBuffer(), Arcane::DT_Int32, Arcane::IVariable::fullName(), m_parallel_mng, m_sub_group_name, Arcane::ISerializer::ModePut, Arcane::BasicSerializer::put(), Arcane::BasicSerializer::putInt32(), Arcane::BasicSerializer::reserve(), Arcane::ISerializedData::serialize(), et Arcane::BasicSerializer::setMode().
|
inlinevirtual |
Implémente Arcane::IDataReader.
Définition à la ligne 106 du fichier hdf5/Hdf5ReaderWriter.h.
|
inlinevirtual |
Implémente Arcane::IDataWriter.
Définition à la ligne 101 du fichier hdf5/Hdf5ReaderWriter.h.
|
inlinevirtual |
Implémente Arcane::IDataReader.
Définition à la ligne 110 du fichier hdf5/Hdf5ReaderWriter.h.
|
virtual |
Implémente Arcane::IDataWriter.
Définition à la ligne 717 du fichier Hdf5ReaderWriter.cc.
|
virtual |
Définition à la ligne 122 du fichier Hdf5ReaderWriter.cc.
herr_t Arcane::Hdf5ReaderWriter::iterateMe | ( | hid_t | group_id, |
const char * | member_name ) |
Définition à la ligne 303 du fichier Hdf5ReaderWriter.cc.
|
virtual |
Méta-données.
Implémente Arcane::IDataReader.
Définition à la ligne 689 du fichier Hdf5ReaderWriter.cc.
Références Arcane::Array< DataType >::data(), et m_sub_group_id.
Lit les données data de la variable var.
Implémente Arcane::IDataReader.
Définition à la ligne 605 du fichier Hdf5ReaderWriter.cc.
|
virtual |
Positionne les infos des méta-données.
Implémente Arcane::IDataWriter.
Définition à la ligne 614 du fichier Hdf5ReaderWriter.cc.
Références Arcane::BasicSerializer::allocateBuffer(), Arcane::BasicSerializer::get(), m_is_parallel, m_parallel_mng, m_sub_group_name, Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::BasicSerializer::put(), Arcane::BasicSerializer::reserve(), et Arcane::BasicSerializer::setMode().
Ecrit les données data de la variable var.
Implémente Arcane::IDataWriter.
Définition à la ligne 564 du fichier Hdf5ReaderWriter.cc.
|
private |
Identifiant HDF du fichier.
Définition à la ligne 132 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Nom du fichier.
Définition à la ligne 126 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Définition à la ligne 147 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Définition à la ligne 149 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Définition à la ligne 148 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Définition à la ligne 137 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Vrai si déjà initialisé
Définition à la ligne 128 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Mode parallèle actif: ATTENTION: en cours de test uniquement.
Définition à la ligne 142 du fichier hdf5/Hdf5ReaderWriter.h.
Référencé par setMetaData().
|
private |
Définition à la ligne 145 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Définition à la ligne 143 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Mode d'ouverture.
Définition à la ligne 125 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Gestionnaire du parallélisme;.
Définition à la ligne 124 du fichier hdf5/Hdf5ReaderWriter.h.
Référencé par _writeValParallel(), et setMetaData().
|
private |
Définition à la ligne 144 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Identifiant HDF du groupe contenant la protection.
Définition à la ligne 133 du fichier hdf5/Hdf5ReaderWriter.h.
Référencé par metaData().
|
private |
Nom du fichier.
Définition à la ligne 127 du fichier hdf5/Hdf5ReaderWriter.h.
Référencé par _writeValParallel(), et setMetaData().
|
private |
Définition à la ligne 130 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Identifiant HDF du groupe contenant les variables.
Définition à la ligne 134 du fichier hdf5/Hdf5ReaderWriter.h.
|
private |
Liste des noms des variables sauvées.
Définition à la ligne 136 du fichier hdf5/Hdf5ReaderWriter.h.