source: XIOS/dev/branch_openmp/extern/ep_dev/ep_type.hpp @ 1527

Last change on this file since 1527 was 1527, checked in by yushan, 6 years ago

save dev

File size: 1.4 KB
Line 
1#ifndef EP_TYPE_HPP_INCLUDED
2#define EP_TYPE_HPP_INCLUDED
3
4
5#include <iostream>
6#include <stdlib.h>
7#include <stdio.h>
8#include <list>
9#include <map>
10#include <omp.h>
11#include <vector>
12#include <numeric>
13#include <bitset>
14#include <algorithm>
15#include <assert.h>
16#include <math.h>
17#include <string.h>
18
19#ifdef _Debug
20#define Debug(x) std::cout << x << std::endl
21#else
22#define Debug(x)
23#endif
24
25#ifdef _Memory_check
26#define memcheck(x) std::cout << x << std::endl
27#else
28#define memcheck(x)
29#endif
30
31
32#define BUFFER_SIZE 10000
33
34#include "ep_status.hpp"
35#include "ep_request.hpp"
36#include "ep_info.hpp"
37#include "ep_message.hpp"
38#include "ep_barrier.hpp"
39#include "ep_comm.hpp"
40#include "ep_window.hpp"
41
42
43
44namespace ep_lib
45{
46
47  class ep_communicator;
48  class ep_intercomm;
49
50
51  class MPI_Aint
52  {
53    public:
54
55    void* mpi_aint;
56
57    MPI_Aint() {}
58    MPI_Aint(void* aint);
59    MPI_Aint(int aint);
60    MPI_Aint operator=(int a);
61  };
62
63  class MPI_Fint
64  {
65    public:
66 
67    void* mpi_fint;
68   
69    MPI_Fint() {}
70    MPI_Fint(void* fint);
71                                 
72  };
73 
74 
75
76
77  static MPI_Comm *passage;
78
79  static int TAG = 40000;
80
81  static std::list<std::pair<std::pair<int, int>, MPI_Comm * > > tag_list;
82
83  static std::list< std::pair<std::pair<int, int> , std::pair<MPI_Comm * , std::pair<int, int> > > > intercomm_list;
84
85  static std::map<std::pair<int, int>, MPI_Comm >  fc_comm_map;
86
87 
88
89
90}
91
92
93
94#endif // EP_TYPE_HPP_INCLUDED
95
Note: See TracBrowser for help on using the repository browser.