int main(int argc, char * argv[]) { int i; int size, rank,buf; time_t now; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); buf = rank; /* we only pass rank */ for (i = 0; i < ITERATIONS; i++) { if (i) sleep(1); pass_its_neighbor(rank, size, &buf); if ((ITERATIONS > 1) && (rank == 0)) { static time_t last_time = 0; now = time(NULL); printf("Iteration:%d Time:%s", i, ctime(&now)); if (last_time && (last_time < (now - 2))) printf("Woke from suspend\n"); last_time = now; } } MPI_Finalize(); return 0; }
int main(int argc, char * argv[]) { int size, rank,buf; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); buf = rank; /* we only pass rank */ pass_its_neighbor(rank, size, &buf); MPI_Finalize(); return 0; }
int main(int argc, char* argv[]) { int size; int rank; int buf; int i; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); pass_its_neighbor(rank, size, &buf); MPI_Finalize(); return EXIT_SUCCESS; }
int main(int argc, char* argv[]) { int size, rank, i; int buf; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); init_FETCH_ME_DBL_ARRAY(); signal(SIGUSR1, sighandler); global_rank = rank; if (rank == 0) fprintf(stdout, "[LMON APP] singal handler installed for signum=%d\n", SIGUSR1); while (global_stall == 1) { if (rank == 0) LMON_say_msg("APP", "stall for %d secs", SLEEP_FOR_COMPUTE_SEC); sleep(SLEEP_FOR_COMPUTE_SEC); } if (rank == 0) fprintf(stdout, "The hang unlocked\n"); pass_its_neighbor(rank, size, &buf); int remain = COMPUTE_UNIT * SLEEP_FOR_COMPUTE_SEC; for (i = 0; i < COMPUTE_UNIT; i++) { sleep(SLEEP_FOR_COMPUTE_SEC); remain -= SLEEP_FOR_COMPUTE_SEC; if (rank == 0) LMON_say_msg("APP", "%d secs remain", remain); } if (rank == 0) LMON_say_msg("APP", "size of this program is %d\n", size); MPI_Finalize(); return EXIT_SUCCESS; }