Hi,
Use "system" instead of "execl". For more information try "man execl"
and "man system". Basically, the first call to execl causes your
program to be replaced by /bin/date.
HTH,
mac mccalla
________________________________
From: lam-bounces_at_[hidden] [mailto:lam-bounces_at_[hidden]] On Behalf
Of E Cell
Sent: Monday, October 08, 2007 12:35 PM
To: lam_at_[hidden]
Subject: LAM: Problem running external program.
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
<http://in.rd.yahoo.com/tagline_webmessenger_2/*http://in.messenger.yaho
o.com/webmessengerpromo.php>
|