Take a look at the GRES "Type" field here:
http://slurm.schedmd.com/gres.html
It was mostly added so that someone could request generic GPUs or
specific GPU type(s), but it may satisfy your needs.
Quoting Lamar McKinnon <[email protected]>:
Is there a way to configure generic resources to look at a hierarchy of a
group of resources? I ask this in the context of generic resources but if
there is another way to configure SLURM to accomplish the same thing I would
be interested to see.
I want to be able to list a generic resource of TmpX in the sbatch and have
SLURM determine the best Gres to use from Tmp1,Tmp2,Tmp3. The process
sleep.py can use any of the gres(Tmp1,Tmp2,Tmp3) as long as the amount
requested by TmpX is less than the amount defined for that Gres and there is
still some resource left based on other jobs using up some of the resource.
The reason that I ask this is that the resource defined by Tmp1,Tmp2, and
Tmp3 have different levels of performance with Tmp1 being fastest and Tmp3
being slowest. I want processes to run on the fastest TmpX resource
available based on the availability in the cluster and what the job needs to
complete.
Below are some examples:
line items in slurm.conf:
GresTypes=TmpX(Tmp1,Tmp2,Tmp3)
NodeName=cloudlg016[045,089,133] NodeAddr=10.48.16.[45,89,133] Sockets=4
CoresPerSocket=4 State=UNKNOWN
Gres=TmpX(Tmp1:700,Tmp2:2000,Tmp3:10000),Process:16 RealMemory=512
an sbatch like the following would use Tmp1 since 190 is less than 700:
sbatch --comment="job_id.prog_id:6162.5" --gres=Process,TmpX:190
/export/home/s_user1/slurm/sleep.py 0.1'
an sbatch like the following would use Tmp2 since 900 is less than 2000 and
greater than 700 :
sbatch --comment="job_id.prog_id:6162.5" --gres=Process,TmpX:900
/export/home/s_user1/slurm/sleep.py 0.1'
an sbatch like the following would use Tmp3 since 2500 is less than 10000
and greater than 2000 :
sbatch --comment="job_id.prog_id:6162.5" --gres=Process,TmpX:2500
/export/home/s_user1/slurm/sleep.py 0.1'
--
Morris "Moe" Jette
CTO, SchedMD LLC
Commercial Slurm Development and Support