Hello,<br><br>First I&#39;m sorry for sending multiple emails. After sending the last message I realized we can&#39;t put it in the qsub submit filter.  If we put it in qsub filter it still complains bad array request. So I made another wrapper that works from the system side.<br>

<br>We just have to create another wrapper so that wrapper goes through this and changes arguments and resubmits it to qsub. You can use the code in my previous email and put it in a file such as  <br><br>/user/local/bin/qsub_wrapper.sh<br>

<br>on login node where users submit the jobs. Then add this line<br><br>/opt/torque/bin/qsub &quot;$@&quot;<br><br>to the end of the code. <br><br>This line submits the job with changed arguments. If you have submit filter it works like always. Then we need to create an alias for our wrapper.<br>

<br>I have my alias as<br><br>[root@login-0-0 ~]# cat /etc/profile.d/qsub.sh <br>alias qsub=&#39;/usr/local/bin/qsub_wrapper.sh&#39;<br><br>[root@login-0-0 ~]# ls -l $_<br>-rwxr-xr-x 1 root root 44 Mar  1 11:58 /etc/profile.d/qsub.sh<br>

<br>[root@login-0-0 ~]# cat /usr/local/bin/qsub_wrapper.sh <br>#!/bin/bash<br><br>args=(&quot;$@&quot;)<br>for((arg=0;arg&lt;$#;arg++))<br>do<br>    if [ &quot;${args[$arg]}&quot; = &quot;-t&quot; ]<br>    then<br>        if echo &quot;${args[$(($arg+1))]}&quot; | egrep &quot;^(^0|^[1-9][0-9]*)-[1-9][0-9]*:[1-9][0-9]*$&quot; &gt; /dev/null 2&gt;&amp;1<br>

        then<br>            array_arg=&quot;${args[$(($arg+1))]}&quot;<br>            array_arg=&quot;$(seq -s, $(echo $array_arg | cut -f1 -d-) $(echo $array_arg | cut -f2 -d:) $(echo $array_arg | cut -f1 -d: | cut -f2 -d-))&quot;<br>

            str=&quot;set -- \&quot;\${@:1:$(($arg+1))}\&quot; \&quot;${array_arg}\&quot; \&quot;\${@:$(($arg+3))}\&quot;&quot;<br>            eval `echo &quot;$str&quot;`<br>            break<br>        fi<br>    fi    <br>

done<br>/opt/torque/bin/qsub &quot;$@&quot;<br>[root@login-0-0 ~]# <br><br>[root@login-0-0 ~]# ls -l $_<br>-rwxr-xr-x 1 root root 528 Mar  1 12:12 /usr/local/bin/qsub_wrapper.sh<br>[root@login-0-0 ~]#<br><br>I have tested and it works. See below for an example<br>

<br><br>[user@login-0-0 array_jobs]$ qsub -t 0-15:3 array.pbs<br>157713[].crunch.local<br><br>[user@login-0-0 array_jobs]$ qstat -t -u sm4082<br><br>crunch.local: <br>                                                                         Req&#39;d  Req&#39;d   Elap<br>

Job ID               Username Queue    Jobname          SessID NDS   TSK Memory Time  S Time<br>-------------------- -------- -------- ---------------- ------ ----- --- ------ ----- - -----<br>157713[0].crunch     sm4082   s48      arraytest-0        2790     1   1    --  00:05 R   -- <br>

157713[3].crunch     sm4082   s48      arraytest-3        2804     1   1    --  00:05 R   -- <br>157713[6].crunch     sm4082   s48      arraytest-6        2825     1   1    --  00:05 R   -- <br>157713[9].crunch     sm4082   s48      arraytest-9        2849     1   1    --  00:05 R   -- <br>

157713[12].crunc     sm4082   s48      arraytest-12       2865     1   1    --  00:05 R   -- <br>157713[15].crunc     sm4082   s48      arraytest-15      16818     1   1    --  00:05 R   -- <br>[user@login-0-0 array_jobs]$ <br>

<br><br>Sreedhar.<br><br><br><div class="gmail_quote">On Wed, Feb 29, 2012 at 10:51 PM, Sreedhar Manchu <span dir="ltr">&lt;<a href="mailto:sm4082@nyu.edu">sm4082@nyu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hello,<br><br>Putting the code below in qsub wrapper would make torque recognize step change like 1-20:2 or 0-19:3, etc. This works only when -t is mentioned in the command line. I made my script recognize the same even when users mention it inside the script as well. But it&#39;s quite long. I guess once we find #PBS -t 2-23:3, we just have to make the script change it to #PBS -t 2,5,8,11,14,17,20,23. Which can be easily done with Andy&#39;s method of using seq.<br>


<br>Anyway, here is the code for wrapper for making it work with command line.<br><br>#!/bin/sh<br>args=(&quot;$@&quot;)<br>for((arg=0;arg&lt;$#;arg++))<br>do<br>    if [ &quot;${args[$arg]}&quot; = &quot;-t&quot; ]<br>    then    <br>


        if echo &quot;${args[$(($arg+1))]}&quot; | egrep &quot;^(^0|^[1-9][0-9]*)-[1-9][0-9]*:[1-9][0-9]*$&quot; &gt; /dev/null 2&gt;&amp;1<br>        then    <br>            array_arg=&quot;${args[$(($arg+1))]}&quot;<br>


            array_arg=&quot;$(seq -s, $(echo $array_arg | cut -f1 -d-) $(echo $array_arg | cut -f2 -d:) $(echo $array_arg | cut -f1 -d: | cut -f2 -d-))&quot;<br>            str=&quot;set -- \&quot;\${@:1:$(($arg+1))}\&quot; \&quot;${array_arg}\&quot; \&quot;\${@:$(($arg+3))}\&quot;&quot;<br>


            eval `echo &quot;$str&quot;` <br>            break   <br>        fi      <br>    fi      <br>done<br><br>In case you already have a wrapper in place, it doesn&#39;t do any harm to keep it at the beginning of it.<span class="HOEnZb"><font color="#888888"><br>


<br>Sreedhar.</font></span><div class="HOEnZb"><div class="h5"><br><br><br><div class="gmail_quote">On Wed, Feb 8, 2012 at 9:47 AM, Ibad Kureshi U0850037 <span dir="ltr">&lt;<a href="mailto:U0850037@hud.ac.uk" target="_blank">U0850037@hud.ac.uk</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks Glen, Andy<br>
<br>
Andy: Nice!<br>
<br>
-Ibad<br>
<br>
<br>
________________________________________<br>
From: <a href="mailto:torqueusers-bounces@supercluster.org" target="_blank">torqueusers-bounces@supercluster.org</a> [<a href="mailto:torqueusers-bounces@supercluster.org" target="_blank">torqueusers-bounces@supercluster.org</a>] On Behalf Of Andrew Caird [<a href="mailto:acaird@umich.edu" target="_blank">acaird@umich.edu</a>]<br>



Sent: Wednesday, February 08, 2012 2:28 PM<br>
To: Torque Users Mailing List<br>
Subject: Re: [torqueusers] Step Change in Job Arrays<br>
<div><br>
On Wed, Feb 8, 2012 at 9:02 AM, Glen Beane &lt;<a href="mailto:glen.beane@gmail.com" target="_blank">glen.beane@gmail.com</a>&lt;mailto:<a href="mailto:glen.beane@gmail.com" target="_blank">glen.beane@gmail.com</a>&gt;&gt; wrote:<br>


On Wed, Feb 8, 2012 at 8:57 AM, Ibad Kureshi U0850037<br>
</div><div>&lt;<a href="mailto:U0850037@hud.ac.uk" target="_blank">U0850037@hud.ac.uk</a>&lt;mailto:<a href="mailto:U0850037@hud.ac.uk" target="_blank">U0850037@hud.ac.uk</a>&gt;&gt; wrote:<br>
&gt; Hello,<br>
&gt;<br>
&gt; I was wondering is someone could tell me how to adjust the step size in a job array. We are running Torque 2.5.7 with the PBS_SCHEDD on a small cluster and our users want to submit arrays.<br>
&gt;<br>
&gt; One the SGE and the Moab/Torque based systems<br>
&gt;<br>
&gt; $ -t 1-20:2<br>
&gt;<br>
&gt; or<br>
&gt;<br>
&gt; #PBS -t 1-20:2<br>
&gt;<br>
&gt; respectively, gives them 10 jobs with even ID numbers.<br>
&gt;<br>
&gt; How can this be done with Torque? It throws out &quot;qsub: Bad Job Array Request&quot; error<br>
&gt;<br>
&gt; Have not been able to find much literature on this.<br>
&gt;<br>
&gt; Thanks<br>
<br>
<br>
this is not currently supported, but it is a great feature request.<br>
<br>
unfortunately the only option would be to explicitly specify each array ID:<br>
<br>
#PBS -t 2,4,6,8,10 ...20<br>
<br>
Or:<br>
<br>
  qsub -t `seq -s, 2 2 20` pbsfile.txt<br>
<br>
in case you don&#39;t want to type all the numbers.<br>
<br>
--andy<br>
<br>
<br>
</div><div>---<br>
This transmission is confidential and may be legally privileged. If you receive it in error, please notify us immediately by e-mail and remove it from your system. If the content of this e-mail does not relate to the business of the University of Huddersfield, then we do not endorse it and will accept no liability.<br>



</div><div><div>_______________________________________________<br>
torqueusers mailing list<br>
<a href="mailto:torqueusers@supercluster.org" target="_blank">torqueusers@supercluster.org</a><br>
<a href="http://www.supercluster.org/mailman/listinfo/torqueusers" target="_blank">http://www.supercluster.org/mailman/listinfo/torqueusers</a><br>
</div></div></blockquote></div><br><br clear="all"><br></div></div><div class="HOEnZb"><div class="h5">-- <br><font style="font-family:arial,helvetica,sans-serif" size="2">Sreedhar Manchu<br>HPC Support Specialist<br>New York University<br>

251 Mercer Street<br>New York, NY 10012-1110</font><br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><font style="font-family:arial,helvetica,sans-serif" size="2">Sreedhar Manchu<br>HPC Support Specialist<br>New York University<br>251 Mercer Street<br>New York, NY 10012-1110</font><br>

<br>