Bug 1523 points out that when using -mblock:block cores are allocated from highest to lowest which is different when using cyclic. I've traced this to _block_sync_core_bitmap (line 596 in 14.11) and commit dc5925f1. Here are several relevant comments: /* search for the best socket, */ /* starting from the last one to let more room */ /* in the first one for system usage */ ... /* select socket cores from last to first */ /* socket[0]:Core[0] would be the last one */ Is this still needed to allocate from the last to the first? Would it work to allocate first to last be more consistent?
Looking through the patch, its goal appears to be packing resource allocations on the sockets. I'm really not sure why it's packing from highest to lowest rather than the reverse order, as for cyclic. Arguably it would be best to have consistency. Fixing this probably just requires changing the "for" loop arguments in a couple of places. Do you want me to pursue this or did you already work on the code?
I haven't done any work on it. Go ahead an work on it.
Fixed: https://github.com/SchedMD/slurm/commit/f43992a87978be9646536718b767e7c70596cc0dhttps://github.com/SchedMD/slurm/commit/f43992a87978be9646536718b767e7c70596cc0d