ibctest.c
/*
ibctest.c
test program for the ibcast library
needs at least two processes !
*/
#include <stdio.h>
#include "ibcast.h"
void
main(int argc, char *argv[]) {
int data1;
int data2;
int me; /* rank in WORLD */
Ibcast_handle *request1;
Ibcast_handle *request2;
MPI_Init(&argc, &argv); /* enroll in MPI */
MPI_Comm_rank(MPI_COMM_WORLD, &me);
if (me == 0) {
data1 = 42;
}
if (me == 1) {
data2 = 4711;
}
/* start two different broadcasts */
Ibcast(&data1, 1, MPI_INT, 0, MPI_COMM_WORLD, &request1);
Ibcast(&data2, 1, MPI_INT, 1, MPI_COMM_WORLD, &request2);
/* do some computations */
/* finish broadcast */
Ibcast_wait(&request1);
Ibcast_wait(&request2);
/* show that everything worked */
printf("me = %3d, data1 = %8d data2 = %8d\n", me, data1, data2);
MPI_Finalize();
}

Peter Junglas 11.5.2000