next up previous
Next: Simple C Example Up: Section III Previous: Simple Fortran Example

Simple C Example

#include <stdio.h>
#include "mpi.h"

int main(argc, argv)
int argc;
char **argv;
{
  int i, rank, size, dest;
  int to, src, from, count, tag;
  int st_count, st_source, st_tag;
  double data[100];
  MPI_Status status;

  MPI_Init(&argc, &argv);
  MPI_Comm_rank(MPI_COMM_WORLD, &rank); 
  MPI_Comm_size(MPI_COMM_WORLD, &size);
  printf("Process %d of %d is alive\n", rank, size);

  dest = size - 1;
  src = 0;

  if (rank == src) {
    to    = dest;
    count = 100;
    tag   = 2001;
    for (i = 0; i < 100; i++)
      data[i] = i;
    MPI_Send(data, count, MPI_DOUBLE, to, tag, MPI_COMM_WORLD);
  }



andrew lumsdaine
Tue Jun 27 17:16:52 EST 1995