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".

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"
      return
}

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

Reply via email to