21   assert(ipm == 1 || ipm == -1);
 
   25     printf(
"%s: allocate channel failed.\n", __func__);
 
   38   assert(ipm == 1 || ipm == -1);
 
   42     printf(
"%s: allocate channel failed.\n", __func__);
 
   55   assert(ipm == 1 || ipm == -1);
 
   59     printf(
"%s: allocate channel failed.\n", __func__);
 
   72   assert(ipm == 1 || ipm == -1);
 
   76     printf(
"%s: allocate channel failed.\n", __func__);
 
int start()
collective start 
 
static Channel * recv_init(int count, int idir, int ipm)
 
bool m_my_buf
whether buffer is owned by this instance. 
 
int append(Channel *const p)
append channel to the set. there is no way to remove a channel. 
 
Channel class for asynchronous communication. 
 
int wait()
collective wait 
 
static std::vector< container_type > m_buf
 
static Channel * send_init(int count, int idir, int ipm)
 
ChannelSet(int nchannel=8)
constructor. default number of channels is 8 for upward and downward in 4 dimensions.