Hi, On our SMT-enabled system, the srun options --cpu-bind=v and --cpu-bind=verbose result in different CPU bindings: $ srun -v --cpu-bind=verbose --tasks-per-node=1 --cpus-per-task=4 --threads-per-core=1 hostname [...] srun: CpuBindType=verbose,threads cpu-bind=MASK - n0944, task 0 0 [344427]: mask 0xf set $ srun -v --cpu-bind=v --tasks-per-node=1 --cpus-per-task=4 --threads-per-core=1 hostname [...] srun: CpuBindType=verbose cpu-bind=MASK - n0944, task 0 0 [344509]: mask 0xf0000000000000000000000000000000f set The expected behavior for both options is that of --cpu-bind=verbose. We were able to reproduce the problem on two clusters running Slurm 23.02. Another system with version 21.08 behaves as expected. We suspect that the issue might be related to commit https://github.com/SchedMD/slurm/commit/40a3bf3 which introduced the following change in slurm_opt.c: - (opt->srun_opt->cpu_bind_type == CPU_BIND_VERBOSE)) { + !xstrcmp(opt->srun_opt->cpu_bind, "verbose")) { This would be consistent with our observation, that choosing e.g. --cpu-bind=VeRbOsE leads to the same result as --cpu-bind=v. Best regards, Nils
Hello Nils, I can reproduce this, and I'm looking into it. I'll keep you updated. Thank you, Benjamin Witham
Hello Nils, This issue was caused by a regression introduced in commit 40a3bf3712 and it has been has been fixed in commit 76716bd80f. It will be applied to the 23.02.6 release. I'll close this ticket now unless you have any other questions.