main
test-branch
| Line | |
|---|
| 1 | #include <civlc.cvh>
|
|---|
| 2 | /* Create nprocs processes. Have them exchange data in a cycle.
|
|---|
| 3 | * Commandline example:
|
|---|
| 4 | * civl verify -inputNPROCS=3 ring.cvl -simplify=false
|
|---|
| 5 | */
|
|---|
| 6 | #include<comm.cvh>
|
|---|
| 7 | #include "mp_root.cvh"
|
|---|
| 8 |
|
|---|
| 9 | void MPI_Process (int rank) {
|
|---|
| 10 | #include "mp_proc.cvh"
|
|---|
| 11 | $comm comm = $comm_create($here, COMM_WORLD, rank);
|
|---|
| 12 | double x=rank, y;
|
|---|
| 13 |
|
|---|
| 14 | send(&x, 1, (rank+1)%NPROCS, 0, comm);
|
|---|
| 15 | recv(&y, 1, (rank+NPROCS-1)%NPROCS, 0, comm);
|
|---|
| 16 | $assert((y==(rank+NPROCS-1)%NPROCS));
|
|---|
| 17 | $comm_destroy(comm);
|
|---|
| 18 | }
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.