You may want to look here:

https://slurm.schedmd.com/heterogeneous_jobs.html

Brian Andrus

On 12/7/2022 12:42 AM, Le, Viet Duc wrote:

Dear slurm community,


I am encountering a unique situation where I need to allocate jobs to nodes with different numbers of CPU cores. For instance:

node01: Xeon 6226 32 cores

node02: EPYC 7543 64 cores


$ salloc --partition=all --nodes=2 --nodelist=gpu01,gpu02 --ntasks-per-node=32 --comment=etc

If --ntasks-per-node is larger than 32, the job could not be allocated since node01 has only 32 cores.


In the context of NVIDIA's HPL container, we need to pin MPI processes according to NUMA affinity for best performance.

For HGX-1, there are 8 A100s having affinity with 1st, 3rd, 5th, and 7th NUMA domain, respectively.

With --ntasks-per-node=32, only the first half of EPYC's NUMA domain is available, and we had to assign the 4-7th A100 to 0th and 2nd NUMA domain, leading to some performance degradation.


I am looking for a way to request more tasks than the number of physically available cores, i.e.

$ salloc --partition=all --nodes=2 --nodelist=gpu01,gpu02 --ntasks-per-node=64--comment=etc


Your suggestions are much appreciated.


Regards,

Viet-Duc

Reply via email to