Hello All,
I am a MPI newbie and having a problem.I intended to run a binary on different processors, with different data as inputs....i.e.diff files are for processing using same binary.....
My binary takes these arguments....
binary -in file1 -out file 2
file 1 and file 2 change for each node......
I wrote a small program( small is what i can write rite now :( ...)....The code seems to work fine as
intended(till it runs...) but exits in between with an error;
In the program, the command for each node is given using a small bash file, 1-exec
2-exec etc....
error:########################## rank 3 in job 83 sapphire.bw01.uic.edu_56332 caused collective abort of all ranks exit status of rank 3: return code 0######################################################The code: #include "mpi.h" #include "stdio.h" #include <unistd.h> int main( int argc, char *argv[] ) { int numprocs, myrank,work,namelen; char *file; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv ); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myrank); if (myrank) printf("My process rank ==> %d\n",myrank); if (myrank==1)execl("/bin/bash","bash","1-exec",0); if (myrank==2)execl("/bin/bash","bash","2-exec",0); if (myrank==3)execl("/bin/bash","bash","3-exec",0); if (myrank==4)execl("/bin/bash","bash","4-exec",0); if (myrank==5)execl("/bin/bash","bash","5-exec",0); if (myrank==6)execl("/bin/bash","bash","6-exec",0); if (myrank==7)execl("/bin/bash","bash","7-exec",0); if (myrank==8)execl("/bin/bash","bash","8-exec",0); if (myrank==9)execl("/bin/bash","bash","9-exec",0); if (myrank==10)execl("/bin/bash","bash","10-exec",0); if (myrank==11)execl("/bin/bash","bash","11-exec",0); if (myrank==12)execl("/bin/bash","bash","12-exec",0); if (myrank==13)execl("/bin/bash","bash","13-exec",0); if (myrank==14)execl("/bin/bash","bash","14-exec",0); if (myrank==15)execl("/bin/bash","bash","15-exec",0); if (myrank==16)execl("/bin/bash","bash","16-exec",0); MPI_Finalize(); } **************************** Any suggestions.??I tried to find out the possible cause of the error but it was discussed very less.All I could learn was that it might be due to less number of processing units, but I cannot run the above program with even less number of processes for example I have atleast 6 processing units and running the program for even 1 would exit with the error. Thanks alot, Fahad Saeed
_________________________________________________________________
Helping your favorite cause is as easy as instant messaging. You IM, we give.
http://im.live.com/Messenger/IM/Home/?source=text_hotmail_join
|