root/orte/test/mpi/loop_spawn.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. main

   1 /*file .c : spawned  the file Exe*/
   2 #include <stdio.h>
   3 #include <stdlib.h>
   4 #include <unistd.h>
   5 #include "mpi.h"
   6 #include <pthread.h>
   7 #include <signal.h>
   8 #include <sys/time.h>
   9 #include <errno.h>
  10 #define     EXE_TEST             "./loop_child"
  11 
  12 
  13 int main(int argc, char **argv)
  14 {
  15     int iter, itermax, err, rank, size;
  16     MPI_Comm comm, merged;
  17 
  18     /* MPI environment */
  19 
  20     if (2 == argc) {
  21         itermax = atoi(argv[1]);
  22     } else {
  23         itermax = 100;
  24     }
  25 
  26     printf("parent*******************************\n");
  27     printf("parent: Launching MPI*\n");
  28 
  29     MPI_Init( &argc, &argv);
  30 
  31     for (iter = 0; iter < itermax; ++iter) {
  32         MPI_Comm_spawn(EXE_TEST, NULL, 1, MPI_INFO_NULL,
  33                        0, MPI_COMM_WORLD, &comm, &err);
  34         printf("parent: MPI_Comm_spawn #%d return : %d\n", iter, err);
  35 
  36         MPI_Intercomm_merge(comm, 0, &merged);
  37         MPI_Comm_rank(merged, &rank);
  38         MPI_Comm_size(merged, &size);
  39         printf("parent: MPI_Comm_spawn #%d rank %d, size %d\n",
  40                iter, rank, size);
  41         MPI_Comm_free(&merged);
  42         MPI_Comm_disconnect(&comm);
  43     }
  44 
  45     MPI_Finalize();
  46     printf("parent: End .\n" );
  47     return 0;
  48 }

/* [<][>][^][v][top][bottom][index][help] */