Go to the documentation of this file.
19 #ifndef CHANNEL_H_INCLUDED
20 #define CHANNEL_H_INCLUDED
61 int send_init(
int count,
int idir,
int ipm,
void *buf);
62 int recv_init(
int count,
int idir,
int ipm,
void *buf);
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 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 idx(const int in, const int Nin, const int ist, const int Nx2, const int Ny, const int leo, const int Nvol2, const int ex)
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