Problem Description
The job-array size guard counts tasks before duplicate indices are removed. An array spec whose overlapping ranges dedup to a count within the cap is rejected anyway, because the pre-dedup total exceeds the cap.
For example --array=0-99999,0-99999 is counted as 200,000 tasks and rejected, even though the deduplicated set is exactly 100,000 distinct indices — within the limit.
Expected: the spec is accepted and produces 100,000 tasks, since that is the actual number of distinct array indices. Only specs whose distinct task count genuinely exceeds the cap should be rejected.
Environment
- OS: Ubuntu 22.04 LTS
- CPU: AMD EPYC (x86_64 server-class)
- GPU: AMD Instinct MI300X
- ROCm Version: N/A — issue is in the spur scheduler/CLI, independent of the ROCm runtime
- Component: spur
Steps to Reproduce
sbatch --array=0-99999,0-99999 --wrap 'true'
Problem Description
The job-array size guard counts tasks before duplicate indices are removed. An array spec whose overlapping ranges dedup to a count within the cap is rejected anyway, because the pre-dedup total exceeds the cap.
For example
--array=0-99999,0-99999is counted as 200,000 tasks and rejected, even though the deduplicated set is exactly 100,000 distinct indices — within the limit.Expected: the spec is accepted and produces 100,000 tasks, since that is the actual number of distinct array indices. Only specs whose distinct task count genuinely exceeds the cap should be rejected.
Environment
Steps to Reproduce
sbatch --array=0-99999,0-99999 --wrap 'true'