extern int MPE_COUNTER_KEYVAL; int MPE_Counter_nxtval( MPI_Win counter_win, int *value ) { MPI_Group group; int rank, size, myval, flag, i, *val, one = 1; MPI_Aint *myval_p; MPI_Win_get_group( counter_win, &group ); MPI_Group_rank( group, &rank ); MPI_Group_size( group, &size ); MPI_Group_free( &group ); MPI_Win_get_attr( counter_win, MPE_COUNTER_KEYVAL, &myval_p, &flag ); myval = *myval_p; val = (int *)malloc( size * sizeof(int) ); MPI_Win_lock( MPI_LOCK_EXCLUSIVE, 0, 0, counter_win ); for (i=0; i