"But that's only the case if the program is started with srun or some form
of mpirun. Otherwise the program just gets started once on one core and
the other cores just idle."
Yes, maybe that’s true about what you say when not using srun. I'm not sure, as
we tell everyone to use srun to launch every type of task.
Northern Arizona University
On 2/22/18, 8:25 AM, "slurm-users on behalf of Loris Bennett"
<slurm-users-boun...@lists.schedmd.com on behalf of loris.benn...@fu-berlin.de>
Hi, Other Chris,
Christopher Benjamin Coffey <chris.cof...@nau.edu> writes:
> It’s simple, tell folks only to use -n for mpi jobs, and -c otherwise
> It’s a big deal if folks use -n when it’s not an mpi program. This is
> because the non mpi program is launched n times (instead of once with
> internal threads) and will stomp over logs and output files
> (uncoordinated) leading to poor performance and incorrect results.
But that's only the case if the program is started with srun or some
form of mpirun. Otherwise the program just gets started once on one
core and the other cores just idle. However, I could argue that this is
worse than starting multiple instances, because the user might think
everything is OK and go on wasting resources.
So maybe it is a good ideas to tell users that if they don't know what
MPI is, then they should forget about multiple tasks and just set
--tasks-per-cpu for the default 1 task. That way I wouldn't get users
running a single-threaded application on 100 cores (the 1000-core job
got stuck in the queue :-/ ).
I think I'm convinced.
[snip (53 lines)]
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin Email loris.benn...@fu-berlin.de