[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] How to specify slot specific information into same machine class ad name?



To give a custom attribute value for each slot type, you can do this

STARTD_ATTRS = $(STARTD_ATTRS) IDX
SLOT_TYPE_1_IDX = 1
SLOT_TYPE_2_IDX = 2
SLOT_TYPE_3_IDX = 3
...

-tj


From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> on behalf of Carsten Aulbert <carsten.aulbert@xxxxxxxxxx>
Sent: Tuesday, February 11, 2025 5:22 AM
To: htcondor-users@xxxxxxxxxxx <htcondor-users@xxxxxxxxxxx>
Subject: [HTCondor-users] How to specify slot specific information into same machine class ad name?
 
Hi all,

for a new project, we are currently defining four slots per execute node
to ensure GPU/CPU/NVMe usage does not cross inter-CPU boundaries, e.g.

ENFORCE_CPU_AFFINITY = True

NUM_SLOTS_TYPE_1                 = 1
SLOT_TYPE_1                      @=slot
  cpus=12
  ram=20%
  swap=0%
  GPUS = 1 : DevicePciBusId == "0000:2A:00.0"
@slot
SLOT_TYPE_1_PARTITIONABLE        = True
SLOT1_CPU_AFFINITY = 0,2,4,6,8,10,24,26,28,30,32,34
[...]

and we establish a fixed mapping between each such slots and a locally
available data set which we simply "number" from 00..58.

We now want to create and start a DAG which contains a single job for
each of these possible numbers and should user `requirement` to match to
the proper slot on the proper target machine.

However, I'm not sure which way to achieve this easily.

First stop was

IDX1 = 10
IDX2 = 45
SLOT1_STARTD_ATTRS = IDX1
SLOT2_STARTD_ATTRS = IDX2

but of course this would inject IDX1 into slot1 and IDX2 into slot 2
which would make the requirement line somewhat lengthy (testing if any
of IDX1/2/3/4 matches the wanted number).

I've not yet tried to use some logical argument for IDX as I'm not sure
in which context it would be evaluated, if at all.

I don't think I could inject per slot values via STARTD_CRON, so how
could I approach this?

Cheers

Carsten

--
Dr. Carsten Aulbert, Max Planck Institute for Gravitational Physics,
Callinstraße 38, 30167 Hannover, Germany, Phone +49 511 762 17185