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)
|
@Argument(fullName="log_directory", shortName="logDir", doc="Directory to write log files into.", required=false)
|
||||||
var logDirectory: File = _
|
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() {
|
private def runJobs() {
|
||||||
try {
|
try {
|
||||||
if (settings.bsub)
|
if (settings.bsub) {
|
||||||
settings.jobRunner = "Lsf706"
|
settings.jobRunner = "Lsf706"
|
||||||
else if (settings.qsub)
|
}
|
||||||
|
else if (settings.qsub || settings.qsubBroad) {
|
||||||
settings.jobRunner = "GridEngine"
|
settings.jobRunner = "GridEngine"
|
||||||
else if (settings.jobRunner == null)
|
if ( settings.qsubBroad ) {
|
||||||
|
settings.qSettings.useBroadClusterSettings = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (settings.jobRunner == null) {
|
||||||
settings.jobRunner = "Shell"
|
settings.jobRunner = "Shell"
|
||||||
|
}
|
||||||
commandLineManager = commandLinePluginManager.createByName(settings.jobRunner)
|
commandLineManager = commandLinePluginManager.createByName(settings.jobRunner)
|
||||||
|
|
||||||
for (mgr <- managers) {
|
for (mgr <- managers) {
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,9 @@ class QGraphSettings {
|
||||||
@Argument(fullName="qsub", shortName="qsub", doc="Equivalent to -jobRunner GridEngine", required=false)
|
@Argument(fullName="qsub", shortName="qsub", doc="Equivalent to -jobRunner GridEngine", required=false)
|
||||||
var qsub = 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)
|
@Argument(fullName="status",shortName="status",doc="Get status of jobs for the qscript",required=false)
|
||||||
var getStatus = 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)
|
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 the resident set size limit is defined specify the memory limit
|
||||||
if (function.residentLimit.isDefined)
|
if (function.residentLimit.isDefined) {
|
||||||
nativeSpec += " -l h_rss=%dM".format(function.residentLimit.map(_ * 1024).get.ceil.toInt)
|
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 more than 1 core is requested, set the proper request
|
||||||
// if we aren't being jerks and just stealing cores (previous behavior)
|
// 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)
|
if (priority.isDefined)
|
||||||
nativeSpec += " -p " + priority.get
|
nativeSpec += " -p " + priority.get
|
||||||
|
|
||||||
logger.debug("Native spec is: %s".format(nativeSpec))
|
logger.info("Native spec is: %s".format(nativeSpec))
|
||||||
(nativeSpec + " " + super.functionNativeSpec).trim()
|
(nativeSpec + " " + super.functionNativeSpec).trim()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue