Go to the documentation of this file.
19 #ifndef CHANNEL_H_INCLUDED
20 #define CHANNEL_H_INCLUDED
70 template<
typename ALLOCATOR>
136 template<
int ALIGNMENT>
int wait()
collective wait
container_type m_buf
buffer
int send_init(int count, int idir, int ipm, void *buf)
ChannelSet class for a collection of channels.
int append(Channel_impl< T > &c)
MPI-realisation of communicator class implementation.
int append()
implementation of adding the channel (template independent)
int recv_init(int count, int idir, int ipm, void *buf)
ChannelSet(int nchannel=8)
constructor. default number of channels is 8 for upward and downward in 4 dimensions.
Channel_communicator()
constructor.
int idx(const int in, const int Nin, const int ist, const int leo, const int Nvol2, const int ex)
int recv_init(int count, int idir, int ipm, void *buf)
element_type * m_ptr
pointer to the buffer
int send_init(int count, int idir, int ipm, void *buf)
element_type * ptr() const
accessor to buffer; returns pointer to the first element.
int wait()
wait for completion
int start()
collective start
Channel class for asynchronous communication.
std::vector< element_type, allocator_t > container_type
int start()
start asynchronous communication
int send_init(int count, int idir, int ipm)
element_type & operator[](unsigned int idx)
accessor to buffer
static constexpr int max_dimension
Channel_communicator::element_type element_type
Channel_communicator m_comm
template independent implementation
virtual ~Channel_communicator()
destructor
int recv_init(int count, int idir, int ipm)
constexpr int alignment_size()
element_type operator[](unsigned int idx) const
accessor to buffer