source: CIVL/examples/concurrency/ring1.cvl

main
Last change on this file was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

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

  • Property mode set to 100644
File size: 490 bytes
RevLine 
[3ff27cf]1#include <civlc.cvh>
[69bf2e6]2/* Create nprocs processes. Have them exchange data in a cycle.
3 * Commandline example:
4 * civl verify -inputNPROCS=3 ring.cvl -simplify=false
5 */
[e6b02c8]6#include<comm.cvh>
[69bf2e6]7#include "mp_root.cvh"
8
9void MPI_Process (int rank) {
[b7bd088]10 #include "mp_proc.cvh"
[e689ae5]11 $comm comm = $comm_create($here, COMM_WORLD, rank);
[69bf2e6]12 double x=rank, y;
[e689ae5]13
[08f1543]14 sendrecv(&x, 1, (rank+1)%NPROCS, 0, &y, 1, (rank+NPROCS-1)%NPROCS, 0, comm);
[d980649]15 $assert(y==(rank+NPROCS-1)%NPROCS);
[48bfab9]16 $comm_destroy(comm);
[69bf2e6]17}
Note: See TracBrowser for help on using the repository browser.