Is your feature request related to a problem? Please describe.
When jobs are submitted with the automatic selection from the partition config file, score_job_fit is computed for each partition. The partition with the greatest score for that job is used for submission. There's a problem when a job is cpu-only, partitions with gpus are still considered for the partition selection. These partitions usually don't have as many max_threads than cpu-only partitions, thus have a "better" fit and can be selected for submission.
To me, this seems like a waste of compute resources, gpus will be allocated to the job and not be used at all.
Describe the solution you'd like
The function score_job_fit, should have a logic to skip/disadvantage gpu partitions when the job doesn't require a gpu.
Additional context
As an example here's a partition file:
cpubackfill:
max_mem_mb_per_cpu: 4000
max_runtime: "1d"
max_threads: 192
gpubackfill:
max_gpu: 312
max_mem_mb_per_cpu: 4000
max_runtime: "1d"
max_threads: 64
Here, the partition gpubackfill will be used over cpubackfill.
Is your feature request related to a problem? Please describe.
When jobs are submitted with the automatic selection from the partition config file,
score_job_fitis computed for each partition. The partition with the greatest score for that job is used for submission. There's a problem when a job is cpu-only, partitions with gpus are still considered for the partition selection. These partitions usually don't have as manymax_threadsthan cpu-only partitions, thus have a "better" fit and can be selected for submission.To me, this seems like a waste of compute resources, gpus will be allocated to the job and not be used at all.
Describe the solution you'd like
The function
score_job_fit, should have a logic to skip/disadvantage gpu partitions when the job doesn't require a gpu.Additional context
As an example here's a partition file:
Here, the partition
gpubackfillwill be used overcpubackfill.