Tree Structured Communication
int* dest_ptr /* out */) {
/* 2^stage = 1 << stage */
power_2_stage = 1 << stage;
if (my_rank < power_2_stage){
*dest_ptr = my_rank + power_2_stage;
if (*dest_ptr >= p) return 0;
MPI_Send(&a, 1, MPI_FLOAT, dest, 0,
MPI_Send(&b, 1, MPI_FLOAT, dest, 1,
MPI_Send(&n, 1, MPI_INT, dest, 2,