Nam
2008-06-15 18:50:32 UTC
Hello,
Please help me on this urgent need for my MPI program on a Linux
cluster (4 CPUs per node; 2 dual-cores per node).
I have a main Fortran program for a micro genetic algorithm
optimization. This main program calls one external code (it could be
a commercial or binary code without source code) with multiple data
sets iteratively. I use an MPI version of this program which uses 4
CPUs at one generation, and the external code is called by using "call
system( *** )" in the main Fortran program.
This was alright for a small external code in serial mode, but now I
have to use the external code in MPI mode which may need several
computing nodes for a speed-up. Here I got a problem. I don't know how
to write the main program which calls the external MPI code 4 times at
once at a time step. Of course at the end of each time step or
generation I need to collect the output from these 4 MPI jobs and
evaluate a fitness function.
I am trying to write the main program in serial mode, which calls the
external MPI program 4 times (it may need to be background jobs),
waits until these 4 MPI jobs are finished, and does some math and
moves on to the next time step or generation. This could be done using
a script file but I just don't know how to.
Thanks for your suggestions,
Nam
Please help me on this urgent need for my MPI program on a Linux
cluster (4 CPUs per node; 2 dual-cores per node).
I have a main Fortran program for a micro genetic algorithm
optimization. This main program calls one external code (it could be
a commercial or binary code without source code) with multiple data
sets iteratively. I use an MPI version of this program which uses 4
CPUs at one generation, and the external code is called by using "call
system( *** )" in the main Fortran program.
This was alright for a small external code in serial mode, but now I
have to use the external code in MPI mode which may need several
computing nodes for a speed-up. Here I got a problem. I don't know how
to write the main program which calls the external MPI code 4 times at
once at a time step. Of course at the end of each time step or
generation I need to collect the output from these 4 MPI jobs and
evaluate a fitness function.
I am trying to write the main program in serial mode, which calls the
external MPI program 4 times (it may need to be background jobs),
waits until these 4 MPI jobs are finished, and does some math and
moves on to the next time step or generation. This could be done using
a script file but I just don't know how to.
Thanks for your suggestions,
Nam