Are you speaking of the same?
Am 03.03.2010 um 17:32 schrieb Prentice Bisbal:
Terry Frankcombe wrote:
Surely this is the problem of the scheduler that your system uses,
This I would also state.
rather than MPI?
Scheduler in the Linux kernel?
That's not true. The scheduler only assigns the initial processes to
nodes
Scheduler in MPI?
and starts them. It can kill the processes it starts if they use
too much memory or run too long, but doesn't prevent them from
spawning
more processes, and once spawned,
When the processes are bound to one and the same core, these
addititonal processes won't intefere with other jobs' processes on
the same node which run on the other cores.
-- Reuti
unless they are spawned through the
scheduler, it has no control over them.
On Wed, 2010-03-03 at 00:48 +0000, abc def wrote:
Hello,
I wonder if someone can help.
The situation is that I have an MPI-parallel fortran program. I
run it
and it's distributed on N cores, and each of these processes must
call
an external program.
This external program is also an MPI program, however I want to
run it
in serial, on the core that is calling it, as if it were part of the
fortran program. The fortran program waits until the external
program
has completed, and then continues.
The problem is that this external program seems to run on any core,
and not necessarily the (now idle) core that called it. This slows
things down a lot as you get one core doing multiple tasks.
Can anyone tell me how I can call the program and ensure it runs
only
on the core that's calling it? Note that there are several cores per
node. I can ID the node by running the hostname command (I don't
know
a way to do this for individual cores).
Thanks!
====
Extra information that might be helpful:
If I simply run the external program from the command line (ie, type
"/path/myprogram.ex <enter>"), it runs fine. If I run it within the
fortran program by calling it via
CALL SYSTEM("/path/myprogram.ex")
it doesn't run at all (doesn't even start) and everything crashes. I
don't know why this is.
If I call it using mpiexec:
CALL SYSTEM("mpiexec -n 1 /path/myprogram.ex")
then it does work, but I get the problem that it can go on any core.
____________________________________________________________________
__
Do you want a Hotmail account? Sign-up now - Free
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Prentice Bisbal
Linux Software Support Specialist/System Administrator
School of Natural Sciences
Institute for Advanced Study
Princeton, NJ
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users