void get_name( char* name, int* length);
void get_group( MPI_Group* group);
void set_name( char* name);
void get_name( char* name, int* length);
void get_group( MPI_Group* group);
void set_name( char* name);
int start(MPI_Group group, int assert);
int post(MPI_Group group, int assert);
int complete();
int start(MPI_Group group, int assert);
int post(MPI_Group group, int assert);
int complete();
int accumulate( void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op);
static Win* f2c(int id);
int accumulate( void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op);
static Win* f2c(int id);