Hi Bjørn-Helge,

Can't you use directly srun?

Regards,
Carles Fenoy



On Tue, Mar 5, 2013 at 3:24 PM, Bjørn-Helge Mevik <b.h.me...@usit.uio.no>wrote:

>
> (This is on slurm 2.4.3.)
>
> We are trying to get a piece of software (that wants to play queue system)
> to run on our cluster, and it needs a command to submit a job and block
> until the job has finished.
>
> SGE's qsub command has an option "-sync y", which makes the qsub command
> wait for the job to complete before it exits.  PBS's qsub has
> "-Wblock=true", which does the same.
>
> Is it possible to emulate this behaviour in SLURM, either with commands
> or the Perl API (or even the C API, if need be)?
>
> The closest I've got with commands is
>
>    salloc <job specific slurm options> /usr/bin/srun --ntasks=1 --nodes=1
> --preserve-env <jobscript>
>
> for instance:
>
>    salloc --job-name=t1 --mem-per-cpu=500 --time=5 --account=staff
> --nodes=2 --ntasks-per-node=2 /usr/bin/srun --ntasks=1 --nodes=1
> --preserve-env env.sm
>
> This makes sure that the commands in the jobscript are run on the job
> allocation's batch node, and mpirun and multithreaded programs work
> well.  However, srun commands don't: unless you specify --ntasks less
> than the number of tasks for the whole job, you get "srun: error: Unable
> to create job step: Requested node configuration is not available".
>
> There is a simpler version that avoids the srun problem:
>
>    salloc <job specific slurm options> <jobscript>
>
> However, this runs all commands in the script on the submit node, and we
> cannot assume that all commands in the job script use srun or mpirun to
> do the work.
>
> I'd rather not create a command that uses sbatch to submit the job, and
> then polls the queue system until the job has finished.
>
> --
> Regards,
> Bjørn-Helge Mevik, dr. scient,
> Research Computing Services, University of Oslo




-- 
--
Carles Fenoy

Reply via email to