Am 17.12.2012 um 09:19 schrieb William Hay:

> On 14 December 2012 22:30, [email protected] <[email protected]> wrote:
> 
> Following up on the suggestion from from William Hay about using a
> JSV to "wildcard" a PE request in order to deal with MPI jobs on a
> multi-architecture cluster, I've found that the JSV unexpectedly alters
> a resource request from booleans to float.
> 
> In ~/.sge_request, I've got:
>         -l centos5
> 
> for a job submitted without the JSV, this works fine and sets a hard resource
> request of "centos5=TRUE".
> 
> However, when I submit the job and call the JSV (qsub -jsv /path/to/myjsv 
> myjob),
> the value of "centos5" in the hard resource list is changed to "0.000000".
> 
> Most of the numeric types (ie everything bar CSTRING,STRING and HOST) are 
> treated as floats internally.
> What seems odd is that it is translated to 0.000000 rather than 1.000000.  
> That looks like a bug to me.  I'd 
> submit it to your preferred SGE successor project/vendor if I were you.
> 
>  
> If I change the line in ~/.sge_request to read:
> 
>         -l centos5=TRUE
> 
> then it is not altered by the JSV. We're using SGE 6.2u5.
> 
> The JSV consists of:
> 
> #############################
> #!/bin/sh
> # from
> #   http://www.mentby.com/Group/grid-engine/default-resource-per-queue.html
> 
> # JSV to convert PE names to wildcard version, in order to allow users to 
> submit jobs
> # with:
> #   -l pe openmpi
> # and have it transparently refer to
> #   -l pe openmpi-Intel*
> # or
> #   -l pe openmpi-AMD*
> 
> jsv_on_start() {
>       return
> }
> 
> jsv_on_verify() {
>       pe=$(jsv_get_param pe_name)
>       case "$pe" in
>           openmpi )
>             jsv_set_param pe_name "$pe-*"
>             jsv_sub_add_param l_hard openmpi TRUE   # in case it wasn't set 
> already
>             jsv_correct "Job was modified"
>             ;;
>       esac
>       jsv_accept "Job OK"

You should call either jsv_correct or jsv_accept, but not both (which can/will 
happen in the above case). Please have a look at the example in 
$SGE_ROOT/util/resources/jsv/jsv.sh where it's done by setting some flags.

-- Reuti


>       return
> }
> 
> . ${SGE_ROOT}/util/resources/jsv/jsv_include.sh
> jsv_main
> #############################
> _______________________________________________
> users mailing list
> [email protected]
> https://gridengine.org/mailman/listinfo/users
> 
> 
> 
> _______________________________________________
> users mailing list
> [email protected]
> https://gridengine.org/mailman/listinfo/users


_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to