[cig-commits] r11821 - in cs/pythia/trunk/pyre/schedulers: . scripts scripts/tacc-ranger
tan2 at geodynamics.org
tan2 at geodynamics.org
Wed Apr 16 17:05:58 PDT 2008
Author: tan2
Date: 2008-04-16 17:05:58 -0700 (Wed, 16 Apr 2008)
New Revision: 11821
Added:
cs/pythia/trunk/pyre/schedulers/SchedulerTACCRanger.py
cs/pythia/trunk/pyre/schedulers/scripts/tacc-ranger/
cs/pythia/trunk/pyre/schedulers/scripts/tacc-ranger/__vault__.odb
cs/pythia/trunk/pyre/schedulers/scripts/tacc-ranger/batch.sh.tmpl
cs/pythia/trunk/pyre/schedulers/tacc-ranger.odb
Log:
Added a scheduler (derived from SGE) for TACC Ranger
Added: cs/pythia/trunk/pyre/schedulers/SchedulerTACCRanger.py
===================================================================
--- cs/pythia/trunk/pyre/schedulers/SchedulerTACCRanger.py (rev 0)
+++ cs/pythia/trunk/pyre/schedulers/SchedulerTACCRanger.py 2008-04-17 00:05:58 UTC (rev 11821)
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# California Institute of Technology
+# (C) 2008 All Rights Reserved
+#
+# {LicenseText}
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+
+
+from SchedulerSGE import SchedulerSGE
+import os, sys
+
+
+class SchedulerTACCRanger(SchedulerSGE):
+
+
+ name = "tacc-ranger"
+
+
+ import pyre.inventory as pyre
+
+ command = pyre.str("command", default="qsub")
+ tpn = pyre.int("tpn", default=16,
+ validator=pyre.choice([1,2,4,8,12,15,16]))
+ tpn.meta['tip'] = 'Task per node'
+ qsubOptions = pyre.list("qsub-options")
+
+
+ def schedule(self, job):
+ from math import ceil
+ # round up to multiple of 16
+ nodes = ceil(job.nodes / float(self.tpn))
+ self.cores = int(nodes * 16)
+
+ SchedulerSGE.schedule(self, job)
+
+# end of file
Added: cs/pythia/trunk/pyre/schedulers/scripts/tacc-ranger/__vault__.odb
===================================================================
--- cs/pythia/trunk/pyre/schedulers/scripts/tacc-ranger/__vault__.odb (rev 0)
+++ cs/pythia/trunk/pyre/schedulers/scripts/tacc-ranger/__vault__.odb 2008-04-17 00:05:58 UTC (rev 11821)
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# California Institute of Technology
+# (C) 2006 All Rights Reserved
+#
+# {LicenseText}
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+
+# end of file
Added: cs/pythia/trunk/pyre/schedulers/scripts/tacc-ranger/batch.sh.tmpl
===================================================================
--- cs/pythia/trunk/pyre/schedulers/scripts/tacc-ranger/batch.sh.tmpl (rev 0)
+++ cs/pythia/trunk/pyre/schedulers/scripts/tacc-ranger/batch.sh.tmpl 2008-04-17 00:05:58 UTC (rev 11821)
@@ -0,0 +1,46 @@
+## -*- sh -*-
+#compiler-settings
+directiveStartToken = @
+#end compiler-settings
+ at from pyre.schedulers import BatchScriptTemplate
+ at extends BatchScriptTemplate
+ at implements respond
+ at set $self.substitutions = {'job.id': "$JOB_ID"}
+#$ -S ${scheduler.shell}
+#$ -V
+#$ -cwd
+#$ -N ${job.task}
+ at if $job.queue
+#$ -q ${job.queue}
+ at end if
+ at if max($job.walltime)
+#$ -l h_rt=@echo ("%d:%02d:%02d" % $job.walltime[0:3])
+ at end if
+ at if $self.stdout
+#$ -o ${self.stdout}
+ at end if
+ at if $self.stderr
+#$ -e ${self.stderr}
+ at end if
+ at for option in $scheduler.qsubOptions
+#$ ${option}
+ at end for
+#$ -pe @echo '%dway %d' % ($scheduler.tpn, $scheduler.cores)
+
+ at if $job.nodes % $scheduler.tpn
+export MY_NSLOTS=$job.nodes
+ at end if
+
+ at set $self.substitutions = {'job.id': "${JOB_ID}"}
+
+${job.executable} @echo ' '.join($job.arguments)
+
+ at if $job.comments
+# ~~~~ comments ~~~~
+ at for line in $job.comments
+# ${line}
+ at end for
+ at end if
+
+# ~~~~ submit command ~~~~
+# ${scheduler.command} < [script]
Added: cs/pythia/trunk/pyre/schedulers/tacc-ranger.odb
===================================================================
--- cs/pythia/trunk/pyre/schedulers/tacc-ranger.odb (rev 0)
+++ cs/pythia/trunk/pyre/schedulers/tacc-ranger.odb 2008-04-17 00:05:58 UTC (rev 11821)
@@ -0,0 +1,19 @@
+#!/usr/bin/env python
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# California Institute of Technology
+# (C) 2006 All Rights Reserved
+#
+# {LicenseText}
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+
+
+def scheduler():
+ from pyre.schedulers.SchedulerTACCRanger import SchedulerTACCRanger
+ return SchedulerTACCRanger()
+
+
+# end of file
More information about the cig-commits
mailing list