source: CIVL/examples/messagePassing/ring1.c@ 556bc65

1.23 2.0 acw/focus-triggers main test-branch
Last change on this file since 556bc65 was 8a9124e, checked in by Manchun Zheng <zmanchun@…>, 12 years ago

added a simple test for MPI Translation in CIVL.

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

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