Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 #include <string>
18 using std::string;
19 
20 #ifdef USE_MPI
21 #include <mpi.h>
22 #ifdef USE_BGNET
23 #include "communicator_bgnet.h"
24 #else
25 #include "communicator_mpi.h"
26 #endif
27 #endif
28 
29 #include "fieldIO.h"
30 #include "field.h"
31 #include "bridgeIO.h"
32 
34 
58 #ifdef USE_MPI
59 
60 class FieldIO_LIME_MPIIO : public FieldIO
61 {
62  public:
63  static const std::string class_name;
64 
65  public:
66  FieldIO_LIME_MPIIO(const IO_Format::Format *format) : FieldIO(format), m_is_initialized(false) {}
67 
68  void read_file(Field *v, std::string filename);
69  void write_file(Field *v, std::string filename);
70 
71  private:
72 
73  bool m_is_initialized;
74 
75  int m_nvol;
76 
77  MPI_Datatype m_type_vector;
78  MPI_Datatype m_type_tiled;
79 
80  int initialize();
81  int finalize();
82 };
83 
84 #else
85 
86 // for Single version, just an alias of FieldIO_LIME.
87 
89 {
90  public:
92 };
93 
94 #endif /* USE_MPI */
95 
96 #endif /* GAUGECONFIG_ILDG_INCLUDED */
static const std::string class_name
Definition: fieldIO.h:51
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:87
Container of Field-type object.
Definition: field.h:37
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:48