From c5070f3eba267bbf58862c489c6748045e837d31 Mon Sep 17 00:00:00 2001 From: Pontus Freyhult Date: Wed, 7 Apr 2021 17:07:49 +0200 Subject: [PATCH] Use node queue when more memory than thin nodes have --- conf/uppmax.config | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/conf/uppmax.config b/conf/uppmax.config index bc3d8c4..da25dfc 100644 --- a/conf/uppmax.config +++ b/conf/uppmax.config @@ -9,25 +9,48 @@ singularity { enabled = true } +def hostname = "hostname".execute().text.trim() + process { + // closure to create a suitable clusterOptions + def clusterOptionsCreator = { m -> + String base = "-A $params.project ${params.clusterOptions ?: ''}" + // Do not use -p node on irma or if a thin node/core is enough + if (m < 125.GB || hostname ==~ "i.*") { + return base + } + if (m < 250.GB) { + return base + " -p node -C mem256GB " + } + // Remaining cases use the largest available node (1 Tbyte for rackham, 512 Gbyte for others) + if (hostname ==~ "r.*") { + return base + " -p node -C mem1TB " + } + return base + " -p node -C mem512GB " + } + + executor = 'slurm' - clusterOptions = { "-A $params.project ${params.clusterOptions ?: ''}" } + clusterOptions = { clusterOptionsCreator(task.memory) } } params { save_reference = true - max_memory = 125.GB + max_memory = 970.GB max_cpus = 16 max_time = 240.h // illumina iGenomes reference file paths on UPPMAX igenomes_base = '/sw/data/uppnex/igenomes/' } -def hostname = "hostname".execute().text.trim() +if (hostname ==~ "b.*") { + params.max_memory = 500.GB +} -if (hostname ==~ "b.*" || hostname ==~ "s.*") { - params.max_memory = 109.GB +if (hostname ==~ "s.*") { + params.max_memory = 500.GB + params.max_time = 700.h } if (hostname ==~ "i.*") {