--array expected current 0-15:4 15 12 0-14:4 14 12 0-13:4 13 12 0-12:4 12 12 0-11:4 11 8
Given a specified array of work I expected to get a reference to the full array. Your explanation of step as sequence shorthand makes sense, I just expected it to be a true index step through the given array range. Seems equivalent and less confusing to just script it as: --array=0-3 ID = SLURM_ARRAY_TASK_ID * 4 Clearly 4 jobs and no provided information was lost. I certainly understand if it is working as designed. Just wanted to note that it didn't match my expectations, just in case it really was a bug. Thanks for the quick response. On Tue, 20 Feb 2018 12:00:01 -0700 slurm-users-requ...@lists.schedmd.com wrote: > ---------------------------------------------------------------------- > > Message: 1 > Date: Tue, 20 Feb 2018 07:54:35 +0100 > From: "Loris Bennett" <loris.benn...@fu-berlin.de> > To: Slurm User Community List <slurm-users@lists.schedmd.com> > Subject: Re: [slurm-users] Odd behavior/bug with --array env > SLURM_ARRAY_TASK_MAX > Message-ID: <87k1v86thw....@hornfels.zedat.fu-berlin.de> > Content-Type: text/plain; charset=utf-8 > > Robert Anderson <r...@sr.unh.edu> writes: > > > While working on an example python slurm job script I found the > > environment variable SLURM_ARRAY_TASK_MAX was not set to the > > expected value when a step is defined. > > > > Below is a minimal test of a 10 array job, with a step value of 5. > > When a step value is defined the SLURM_ARRAY_TASK_MAX is set to the > > maximum value that slurm will provide as a , not > > the actual expected "array max value". > > > > Current behavior looses the only hook to the real "array max" value. > > I can think of no reason why the current behavior would be preferred > > over my expected value. > > > > Am I missing something? > > [snip (40 lines)] > > I think the logic is that SLURM_ARRAY_TASK_MAX refers to the actual > array produced, regardless of exactly how that was done. So taking > the example from the "--array" section the 'sbatch' manpage: > > For example, "--array=0-15:4" is equivalent to "--array=0,4,8,12". > > the array produced is (0, 4, 8, 12) regardless of exactly how it was > created, either "--array=0-15:4" or, say, "--array=0-12:4". > > This definition of SLURM_ARRAY_TASK_MAX seems like it would definitely > be useful. What is the use case for what you expected? > > Cheers, > > Loris > -- -------------------------------------------------- Robert E. Anderson -- (603) 862-3489 Associate Director -- UNH Research Computing Center http://www.unh.edu/research/rcc --------------------------------------------------