Bridge++  Ver. 1.3.x
fieldIO_LIME_MPIIO.h
Go to the documentation of this file.
1 
14 #ifndef FIELDIO_LIME_MPIIO_INCLUDED
15 #define FIELDIO_LIME_MPIIO_INCLUDED
16 
17 #ifdef USE_MPI
18 #include <mpi.h>
19 #ifdef USE_BGNET
20 #include "communicator_bgnet.h"
21 #else
22 #include "communicator_mpi.h"
23 #endif
24 #endif
25 
26 #include "fieldIO.h"
27 
28 #include "bridgeIO.h"
29 
31 
55 #ifdef USE_MPI
56 
57 class FieldIO_LIME_MPIIO : public FieldIO
58 {
59  public:
60  static const std::string class_name;
61 
62  public:
63  FieldIO_LIME_MPIIO(const IO_Format::Format *format) : FieldIO(format), m_is_initialized(false) {}
64 
65  void read_file(Field *v, std::string filename);
66  void write_file(Field *v, std::string filename);
67 
68  private:
69 
70  bool m_is_initialized;
71 
72  int m_nvol;
73 
74  MPI_Datatype m_type_vector;
75  MPI_Datatype m_type_tiled;
76 
77  int initialize();
78  int finalize();
79 };
80 
81 #else
82 
83 // for Single version, just an alias of FieldIO_LIME.
84 
86 {
87  public:
89 };
90 #endif /* USE_MPI */
91 #endif /* GAUGECONFIG_ILDG_INCLUDED */
static const std::string class_name
Definition: fieldIO.h:56
FieldIO_LIME_MPIIO(const IO_Format::Format *format)
FieldIO_LIME class for file I/O of Field data in LIME format.
Definition: fieldIO_LIME.h:89
Container of Field-type object.
Definition: field.h:39
void read_file(Field *v, std::string filename)
read data from file.
void write_file(Field *v, std::string filename)
write data to file.
FieldIO_LIME_MPIIO class for file I/O of Field data in LIME format.
FieldIO class for file I/O of space-time distributed data.
Definition: fieldIO.h:53