Queue: add -qsub-broad argument
When -qsub-broad is specified instead of -qsub, use the "h_vmem" parameter instead of "h_rss" to specify memory limit requests. Also cause the GridEngine native arguments to be output by default to the logger, instead of only when in debug mode.
This commit is contained in:
parent
cb4c3ea09e
commit
19ceca5e86
|
|
@ -98,4 +98,9 @@ class QSettings {
|
|||
|
||||
@Argument(fullName="log_directory", shortName="logDir", doc="Directory to write log files into.", required=false)
|
||||
var logDirectory: File = _
|
||||
|
||||
/**
|
||||
* If set, use Broad-specific cluster settings in the GridEngine job runner. Activated via the -qsub-broad argument in QGraphSettings.
|
||||
*/
|
||||
var useBroadClusterSettings: Boolean = false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -395,12 +395,18 @@ class QGraph extends Logging {
|
|||
*/
|
||||
private def runJobs() {
|
||||
try {
|
||||
if (settings.bsub)
|
||||
if (settings.bsub) {
|
||||
settings.jobRunner = "Lsf706"
|
||||
else if (settings.qsub)
|
||||
}
|
||||
else if (settings.qsub || settings.qsubBroad) {
|
||||
settings.jobRunner = "GridEngine"
|
||||
else if (settings.jobRunner == null)
|
||||
if ( settings.qsubBroad ) {
|
||||
settings.qSettings.useBroadClusterSettings = true
|
||||
}
|
||||
}
|
||||
else if (settings.jobRunner == null) {
|
||||
settings.jobRunner = "Shell"
|
||||
}
|
||||
commandLineManager = commandLinePluginManager.createByName(settings.jobRunner)
|
||||
|
||||
for (mgr <- managers) {
|
||||
|
|
|
|||
|
|
@ -46,6 +46,9 @@ class QGraphSettings {
|
|||
@Argument(fullName="qsub", shortName="qsub", doc="Equivalent to -jobRunner GridEngine", required=false)
|
||||
var qsub = false
|
||||
|
||||
@Argument(fullName="qsub-broad", shortName="qsub-broad", doc="Equivalent to -qsub, but uses GridEngine parameters specific to the Broad GridEngine cluster", required=false)
|
||||
var qsubBroad = false
|
||||
|
||||
@Argument(fullName="status",shortName="status",doc="Get status of jobs for the qscript",required=false)
|
||||
var getStatus = false
|
||||
|
||||
|
|
|
|||
|
|
@ -58,8 +58,14 @@ class GridEngineJobRunner(session: Session, function: CommandLineFunction) exten
|
|||
nativeSpec += " -l %s=%dM".format(function.qSettings.residentRequestParameter, function.residentRequest.map(_ * 1024).get.ceil.toInt)
|
||||
|
||||
// If the resident set size limit is defined specify the memory limit
|
||||
if (function.residentLimit.isDefined)
|
||||
nativeSpec += " -l h_rss=%dM".format(function.residentLimit.map(_ * 1024).get.ceil.toInt)
|
||||
if (function.residentLimit.isDefined) {
|
||||
var memoryLimitParameter : String = "h_rss"
|
||||
if (function.qSettings.useBroadClusterSettings) {
|
||||
memoryLimitParameter = "h_vmem"
|
||||
}
|
||||
|
||||
nativeSpec += " -l %s=%dM".format(memoryLimitParameter, function.residentLimit.map(_ * 1024).get.ceil.toInt)
|
||||
}
|
||||
|
||||
// If more than 1 core is requested, set the proper request
|
||||
// if we aren't being jerks and just stealing cores (previous behavior)
|
||||
|
|
@ -82,7 +88,7 @@ class GridEngineJobRunner(session: Session, function: CommandLineFunction) exten
|
|||
if (priority.isDefined)
|
||||
nativeSpec += " -p " + priority.get
|
||||
|
||||
logger.debug("Native spec is: %s".format(nativeSpec))
|
||||
logger.info("Native spec is: %s".format(nativeSpec))
|
||||
(nativeSpec + " " + super.functionNativeSpec).trim()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue