#ifndef EP_TYPE_HPP_INCLUDED #define EP_TYPE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef _Debug #define Debug(x) std::cout << x << std::endl #else #define Debug(x) #endif #define BUFFER_SIZE 10000 #include "ep_status.hpp" #include "ep_request.hpp" #include "ep_info.hpp" #include "ep_message.hpp" #include "ep_barrier.hpp" #include "ep_comm.hpp" #include "ep_intercomm.hpp" #include "ep_window.hpp" //typedef std::pair< int, int > SIZE_RANK_INFO; // < rank, size> //typedef std::vector< std::pair > RANK_MAP; // at(ep_rank) = //typedef std::map > EP_RANK_MAP; // key(ep_rank) = //typedef std::vector, std::pair > > INTERCOMM_RANK_MAP; namespace ep_lib { class ep_communicator; class ep_intercomm; class OMPbarrier; typedef ep_communicator* EP_Comm; //class MPI_Comm; /* class MPI_Status { public: void* ep_datatype; int ep_src; int ep_tag; void* mpi_status; }; class MPI_Message { public: void* mpi_message; int ep_src; int ep_tag; void* mpi_status; MPI_Message() {} MPI_Message(void* message); }; typedef std::list Message_list; */ class OMPbarrier { private: int nbThreads; //, MPI_Comm * > > tag_list; static std::map, MPI_Comm > fc_comm_map; // static std::map, MPI_Comm > *fc_comm_map_ptr; // #pragma omp threadprivate(fc_comm_map_ptr) // // EP_Comm } #endif // EP_TYPE_HPP_INCLUDED