source:
CIVL/examples/messagePassing/ring.cvl@
e51fd2f
| Last change on this file since e51fd2f was 6cc497b, checked in by , 12 years ago | |
|---|---|
|
|
| File size: 384 bytes | |
| Rev | Line | |
|---|---|---|
| [20d2740] | 1 | /* Create nprocs processes. Have them exchange data in a cycle. |
| [0be7a7ea] | 2 | * Commandline example: |
| 3 | * civl verify -inputNPROCS=3 ring.cvl -simplify=false | |
| [20d2740] | 4 | */ |
| 5 | #include<civlc.h> | |
| [0be7a7ea] | 6 | #include "mp_root.cvh" |
| [20d2740] | 7 | |
| 8 | void MPI_Process (int rank) { | |
| [0be7a7ea] | 9 | #include "mp_proc.cvh" |
| [20d2740] | 10 | |
| [0be7a7ea] | 11 | double x=rank, y; |
| 12 | send(&x, 1, (rank+1)%NPROCS, 0); | |
| 13 | recv(&y, 1, (rank+NPROCS-1)%NPROCS, 0); | |
| 14 | $assert y==(rank+NPROCS-1)%NPROCS; | |
| [20d2740] | 15 | } |
Note:
See TracBrowser
for help on using the repository browser.
