$NSLOTS is what requested by -pe openmpi <ARG> in the script, my
understanding that by default it is threads. $NSLOTS processes each
spinning -t <ARG> threads is not what is wanted as each process could spin
off more threads then there are physical or logical cores per node, thus
degrading performance or even crashing the node. Even when -t <ARG. is kept
within permissive boundaries (2, 4, or 6 cores per processor or 2, 4, 8, or
12 cores per node), it is still not clear how these cores are utilized in
My question is then - how to correctly formulate resource scheduling for
programs designed to run in multithreaded mode? For those involved in
bioinformatics, examples are bwa with -t <ARG> option or blast+ with
number_of_threads <ARG> option specified.
On Thu, Apr 25, 2013 at 2:09 PM, Ralph Castain <rhc_at_[hidden]> wrote:
> Depends on what NSLOTS is and what your program's "-t" option does :-)
> Assuming your "-t" tells your program the number of threads to start, then
> the command you show will execute NSLOTS number of processes, each of which
> will spin off the number of indicated threads.
> On Apr 25, 2013, at 11:39 AM, Vladimir Yamshchikov <yaximik_at_[hidden]>
> > Hi all,
> > The FAQ has excellent entries on how to schedule on a SGE cluster
> non-MPI jobs, yet only simple jobs are exemplified. But wnat about jobs
> that can be run in multithreaded mode, say specifying option -t
> number_of_threads? In other words, consider a command an esample qsub
> > ..........
> > #$ -pe openmpi 16
> > ..........
> > mpirun -np $NSLOTS my_program -t 16 > out_file
> > Will that launch a program to run in 16 threads (as desired) or will
> this launch 16 instances of a program wiith each instance trying to run in
> 16 threads (certainly not desired)?
> > _______________________________________________
> > users mailing list
> > users_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
> users mailing list