packages feed

haskell-mpi-1.4.0: test/examples/clientserver/Client.c

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

int main( int argc, char **argv )
{
  MPI_Comm server;
  char port_name[MPI_MAX_PORT_NAME];
  int i, tag;

  if (argc < 2) {
    fprintf(stderr, "server port name required.\n");
    exit(EXIT_FAILURE);
  }

  MPI_Init(&argc, &argv);
  strcpy(port_name, argv[1]); /* assume server's name is cmd-line arg */
  MPI_Comm_connect(port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &server);
  for (i = 0; i < 5; i++) {
    tag = 2; /* Action to perform */
    MPI_Send(&i, 1, MPI_INT, 0, tag, server);
  }
  MPI_Send(&i, 0, MPI_INT, 0, 1, server);
  MPI_Comm_disconnect(&server);
  MPI_Finalize();
  return 0;
}