= Source code = {{{ /* Program: * 由使用者輸入一整數,再由 root node 將些整數發送給底下 nodes, * 每個 nodes 將收到的整數印出。 * History: * 2008-07-24 BETA */ #include #include main (int argc, char **argv) { int i = 0; int myid, numprocs; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Comm_rank(MPI_COMM_WORLD, &myid); /* 這邊先印出所有 nodes 的整數 i 初始狀態 */ printf("[Node %d] i = %d \n", myid, i); /* node 0 (root) 會要求使用者輸入一個 INT 的整數 */ if (myid == 0) { printf("Please input a INT number >>"); scanf("%d", &i); } /* node 0 (root) 會將所有 nodes 的 i 的值設為使用者所輸入的數 */ MPI_Bcast(&i, 1, MPI_INT, 0, MPI_COMM_WORLD); /* 所有的 nodes 在此同步,以確認 node 0 (root) 已將 i 送給所有 nodes */ MPI_Barrier(MPI_COMM_WORLD); printf("[Node %d] i = %d \n", myid, i); MPI_Finalize(); } }}} = Result = [[Image(demo2-01.png)]]