Likely many ways to do this, but if you have some code that is dependent on something, that check could be in the code itself.

So instead of process 0 being the required process to run, it would be whichever process meets the requirements.

eg:

case hostname:
harold)
    Run harold's stuff here
*)
    Run all other stuff here
esac

Takes some coding effort but keeps control of the processes within your own code.

Brian Andrus

On 10/30/24 09:35, Bhaskar Chakraborty via slurm-users wrote:
Hi,

Is there a way to change/control the primary node (i.e. where the initial task starts) as part of a job's allocation.

For eg, if a job requires 6 CPUs & its allocation is distributed over 3 hosts h1, h2 & h3 I find that it always starts the task in 1 particular
node (say h1) irrespective of how many slots were available in the hosts.

Can we somehow let slurm have the primary node as h2?

Is there any C-API inside select plugin which can do this trick if we were to control it through the configured select plugin?

Thanks.
-Bhaskar.