source: CIVL/examples/MPI/ring1.c@ 9eb76e9

1.23 2.0 main test-branch
Last change on this file since 9eb76e9 was 2c1340d, checked in by Manchun Zheng <zmanchun@…>, 12 years ago

minor corrections.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@868 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 681 bytes
RevLine 
[8a9124e]1#include<mpi.h>
2int myrank;
3int nprocs;
4int left;
5int right;
6
[2c1340d]7void main(int argc, char **argv) {
[8a9124e]8 int i;
9 int data = 0;
10
[2c1340d]11 MPI_Init(&argc, &argv);
[8a9124e]12 MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
13 MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
14 left = (myrank+nprocs-1)%nprocs;
15 right = (myrank+nprocs+1)%nprocs;
16 i=0;
17 if (myrank%2==0) {
18 MPI_Send(&data, 0, MPI_INT, right, 0, MPI_COMM_WORLD);
19 MPI_Recv(&data, 0, MPI_INT, left, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
20 } else {
21 MPI_Recv(&data, 0, MPI_INT, left, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
22 MPI_Send(&data, 0, MPI_INT, right, 0, MPI_COMM_WORLD);
23 }
24 MPI_Finalize();
25}
Note: See TracBrowser for help on using the repository browser.