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