[slurm-users] requesting resources and afterwards launch an array of calculations
Sam Hawarden
sam.hawarden at otago.ac.nz
Wed Dec 19 20:08:14 MST 2018
Hi Alfredo?,
Beyond what is already suggested, I have used the following script to run a set number of jobs simultaneously within a batch script.
for thing in ${arrayOfThings[@]}; do echo $thing; done | (
srun -J JobName xargs -I{} --max-procs ${SLURM_JOB_CPUS_PER_NODE} bash -c '{
someCommand -args -and -options {}
}'
)
Where {} is $thing
In operation here?<https://github.com/shawarden/Fastq2VCF/blob/master/slurm-scripts/blockalign.sl#L215>
Cheers,
Sam
________________________________
Sam Hawarden
Assistant Research Fellow
Pathology Department
Dunedin School of Medicine
sam.hawarden(at)otago.ac.nz
________________________________
From: slurm-users <slurm-users-bounces at lists.schedmd.com> on behalf of Carlos Fenoy <minibit at gmail.com>
Sent: Thursday, 20 December 2018 04:59
To: Slurm User Community List
Subject: Re: [slurm-users] requesting resources and afterwards launch an array of calculations
Hi Alfredo,
You can have a look at using https://github.com/eth-cscs/GREASY . It was developed before array-jobs were supported in slurm and it will do exactly what you want.
Regards,
Carlos
On Wed, Dec 19, 2018 at 3:33 PM Alfredo Quevedo <maquevedo.unc at gmail.com<mailto:maquevedo.unc at gmail.com>> wrote:
thank you Michael for the feedback, my scenario is the following: I want
to run a job array of (lets say) 30 jobs. So I setted the slurm input as
follows:
#SBATCH --array=1-104%30
#SBATCH --ntasks=1
however only 4 jobs within the array are launched at a time due to the
allowed max number of jobs as setted in the slurm configuration (4). As
a workaround to the issued, the sysadmin suggested me to request the
resources, and afterwards distribute the resources asigned into a
multiple set of single CPU task. I believe that with the solution you
mentioned only 30 (out of the 104) jobs will be finished?
thanks
Alfredo
El 19/12/2018 a las 11:15, Renfro, Michael escribió:
> Literal job arrays are built into Slurm: https://slurm.schedmd.com/job_array.html
>
> Alternatively, if you wanted to allocate a set of CPUs for a parallel task, and then run a set of single-CPU tasks in the same job, something like:
>
> #!/bin/bash
> #SBATCH --ntasks=30
> srun --ntasks=${SLURM_NTASKS} hostname
>
> is one way of doing it. If that's not what you're looking for, some other details would be needed.
>
--
--
Carles Fenoy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20181220/2a97d2e3/attachment.html>
More information about the slurm-users
mailing list