On Wed, 2010-03-03 at 12:57 -0500, Prentice Bisbal wrote: > Reuti wrote: > > Are you speaking of the same? > > Good point, Reuti. I was thinking of a cluster scheduler like SGE or > Torque.
Yeah, I meant the scheduler in the CPU time slice sense. http://en.wikipedia.org/wiki/Scheduling_(computing) vs. http://en.wikipedia.org/wiki/Job_scheduler > > 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 > > >