#include #include int main(int argc, char *argv[]) { MPI_Win win; void *base; MPI_Aint size = 1024, size_obtained; int flag, ret = 0; MPI_Init(&argc, &argv); MPI_Win_allocate(size, 1 /* disp_unit */, MPI_INFO_NULL, MPI_COMM_WORLD, &base, &win); MPI_Win_get_attr(win, MPI_WIN_SIZE, &size_obtained, &flag); if (!flag) { fprintf(stderr, "Failed to obtain MPI_WIN_SIZE\n"); ret = 1; } else if (size_obtained != size) { fprintf(stderr, "Got size=%zu, while expecting %zu\n", size_obtained, size); ret = 1; } MPI_Win_free(&win); MPI_Finalize(); return ret; }