diff --git a/conf/cheaha.config b/conf/cheaha.config index 95c425af..bec4010c 100644 --- a/conf/cheaha.config +++ b/conf/cheaha.config @@ -19,6 +19,32 @@ singularity { runOptions = "--contain --workdir $scratch_dir" } +def getQueues = { time, memory -> + def queue_list = ["long"] + + if (time <= 2.h) { + queue_list.add("express") + } + + if (time <= 12.h) { + queue_list.add("short") + } + + if (time <= 50.h) { + queue_list.add("medium") + } + + if (memory >= 300.GB) { + queue_list.add("largemem-long") + + if (time <= 50.h) { + queue_list.add("largemem") + } + } + + return queue_list.join(",") +} + process { resourceLimits = [ memory: 750.GB, @@ -26,13 +52,7 @@ process { time: 150.h ] executor = 'slurm' - queue = { task.memory <= 50.GB ? (task.time <= 2.h ? 'express' : task.time <= 12.h ? 'short' : task.time <= 50.h ? 'medium' : 'long') : (task.time <= 50.h ? 'largemem' : 'largemem-long')} maxRetries = 3 beforeScript = 'module load Singularity/3.5.2-GCC-5.4.0-2.26' -} - -params { - max_memory = 750.GB - max_cpus = 128 - max_time = 150.h + queue = { getQueues( task.time, task.memory ) } }