Reuti wrote: > Are you speaking of the same? Good point, Reuti. I was thinking of a cluster scheduler like SGE or Torque. > > 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 > > _______________________________________________ > 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