I am trying to run two external program sequentially. The program runs fine till the first external program call and dont execute the second one.

The code is as below:

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

int main(int argc,char **argv)
{
int *buf, i, rank, nints, len;
  char hostname[256];

  MPI_Init(&argc,&argv);
  MPI_Comm_rank(MPI_COMM_WORLD, &rank);

  MPI_Barrier(MPI_COMM_WORLD);
  gethostname(hostname,255);
  printf("Hello world!  I am process number: %d on host %s\n", rank, hostname);
  MPI_Barrier(MPI_COMM_WORLD);
  execl("/bin/date", "date", NULL);
  MPI_Barrier(MPI_COMM_WORLD);
  execl("/bin/ls", "ls", NULL);
  MPI_Barrier(MPI_COMM_WORLD);
  MPI_Finalize();
  return 0;
}

The output I am getting is as below:

Hello world!  I am process number: 0 on host cluster
Hello world!  I am process number: 1 on host cluster
Hello world!  I am process number: 2 on host compute-0-1.local
Hello world!  I am process number: 4 on host compute-0-2.local
Hello world!  I am process number: 3 on host compute-0-1.local
Hello world!  I am process number: 5 on host compute-0-2.local
Thu Oct 11 12:18:40 IST 2007
Thu Oct 11 12:18:40 IST 2007
Thu Oct 11 12:18:40 IST 2007
Thu Oct 11 12:18:40 IST 2007
Thu Oct 11 12:18:40 IST 2007
Thu Oct 11 12:18:40 IST 2007



I am very new to MPI programing, any suggestions would be highly appreciated.

Thanking you in advance.

Regards


Did you know? You can CHAT without downloading messenger. Click here