Hi Loris, "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. Best, Chris — Christopher Coffey High-Performance Computing Northern Arizona University 928-523-1167 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> wrote: Hi, Other Chris, Christopher Benjamin Coffey <chris.cof...@nau.edu> writes: > Loris, > > It’s simple, tell folks only to use -n for mpi jobs, and -c otherwise (default). > > 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. Cheers, Loris [snip (53 lines)] -- Dr. Loris Bennett (Mr.) ZEDAT, Freie Universität Berlin Email loris.benn...@fu-berlin.de