void* sendtmpbuf = (char *)smpi_get_tmp_sendbuffer(count*datatype->get_extent());
Datatype::copy(recvbuf, count, datatype,sendtmpbuf, count, datatype);
/* inter-node allreduce */
void* sendtmpbuf = (char *)smpi_get_tmp_sendbuffer(count*datatype->get_extent());
Datatype::copy(recvbuf, count, datatype,sendtmpbuf, count, datatype);
/* inter-node allreduce */