int main(int argc, char *argv[]) { TSUITE_INIT(argc, argv); ASSERT (gaspi_proc_init(GASPI_BLOCK)); gaspi_rank_t P, myrank; ASSERT (gaspi_proc_num(&P)); ASSERT (gaspi_proc_rank(&myrank)); ASSERT (gaspi_segment_create(0, _4GB, GASPI_GROUP_ALL, GASPI_BLOCK, GASPI_MEM_INITIALIZED)); ASSERT (gaspi_barrier(GASPI_GROUP_ALL, GASPI_BLOCK)); const gaspi_size_t msgSize = 1; if(myrank == 0) { gaspi_rank_t n; for(n = 1; n < P; n++) EXPECT_TIMEOUT(gaspi_passive_send(0, 0, n, msgSize, 2000)); } ASSERT (gaspi_barrier(GASPI_GROUP_ALL, GASPI_BLOCK)); ASSERT (gaspi_proc_term(GASPI_BLOCK)); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { gaspi_group_t g; gaspi_rank_t nprocs, myrank; gaspi_number_t gsize; TSUITE_INIT(argc, argv); ASSERT (gaspi_proc_init(GASPI_BLOCK)); ASSERT(gaspi_proc_num(&nprocs)); ASSERT(gaspi_proc_rank(&myrank)); ASSERT (gaspi_group_create(&g)); ASSERT(gaspi_group_size(g, &gsize)); assert((gsize == 0)); gaspi_rank_t i; for(i = 0; i < nprocs; i++) { ASSERT(gaspi_group_add(g, i)); } ASSERT(gaspi_group_size(g, &gsize)); assert((gsize == nprocs)); ASSERT(gaspi_group_commit(g, GASPI_BLOCK)); //loop barrier int j; for (j = 0; j < ITERATIONS; j++) { ASSERT (gaspi_barrier(g, GASPI_BLOCK)); /* with timeout */ ASSERT (gaspi_barrier(g, nprocs * 1000)); } for (j = 0; j < ITERATIONS; j++) { ASSERT (gaspi_barrier(GASPI_GROUP_ALL, GASPI_BLOCK)); } //with timeout if(myrank % 2 == 0) { sleep(2); } else { EXPECT_TIMEOUT (gaspi_barrier(GASPI_GROUP_ALL, 20)); } ASSERT (gaspi_barrier(GASPI_GROUP_ALL, GASPI_BLOCK)); ASSERT (gaspi_proc_term(GASPI_BLOCK)); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { gaspi_rank_t nprocs, myrank; TSUITE_INIT(argc, argv); ASSERT (gaspi_proc_init(GASPI_BLOCK)); ASSERT(gaspi_proc_num(&nprocs)); ASSERT(gaspi_proc_rank(&myrank)); if(myrank % 2 == 0) sleep(2); else EXPECT_TIMEOUT (gaspi_barrier(GASPI_GROUP_ALL, 20)); ASSERT (gaspi_barrier(GASPI_GROUP_ALL, GASPI_BLOCK)); ASSERT (gaspi_proc_term(GASPI_BLOCK)); return EXIT_SUCCESS; }