From 8cd0ebcb36d356a6d13958c0f3a95564d84c60d4 Mon Sep 17 00:00:00 2001 From: Botond Sipos/Compara Date: Mon, 15 Apr 2024 11:04:52 +0100 Subject: [PATCH] Added alternative base config with no checking for partition resource limits and larger resource classes. --- conf/base_large.config | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 conf/base_large.config diff --git a/conf/base_large.config b/conf/base_large.config new file mode 100644 index 0000000..3b441d2 --- /dev/null +++ b/conf/base_large.config @@ -0,0 +1,72 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + dessimozlab/FastOMA Nextflow base config file with no resource maximum checking +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + A 'blank slate' config file, appropriate for general use on most high performance + compute environments. Assumes that all software is installed and available on + the PATH. Runs in `local` mode - all jobs will be run on the logged in environment. + This config does not check for maximum available resources on the partition to allow + the scheduling between partitions with different resource limits. +---------------------------------------------------------------------------------------- +*/ + +process { + + cpus = { 1 * task.attempt } + memory = { 6.GB * task.attempt } + time = { 4.h * task.attempt } + shell = ['/bin/bash', '-euo', 'pipefail'] + + //errorStrategy = { task.exitStatus in (130..145) ? 'retry' : 'finish' } + errorStrategy = 'retry' + maxRetries = 4 + + withLabel:process_single { + cpus = { 1 } + memory = { 12.GB * task.attempt } + time = { 4.h * task.attempt } + } + withLabel:process_single_big { + cpus = { 2 } + memory = { 30.GB * task.attempt } + time = { 24.h * task.attempt } + } + withLabel:process_single_bigger { + cpus = { 2 } + memory = { 70.GB * task.attempt } + time = { 24.h * task.attempt } + } + withLabel:process_single_huge { + cpus = { 2 } + memory = { 250.GB * task.attempt } + time = { 48.h * task.attempt } + } + withLabel:process_low { + cpus = { 2 * task.attempt } + memory = { 12.GB * task.attempt } + time = { 4.h * task.attempt } + } + withLabel:process_medium { + cpus = { 6 * task.attempt } + memory = { 36.GB * task.attempt } + time = { 8.h * task.attempt } + } + withLabel:process_high { + cpus = { 12 * task.attempt } + memory = { 72.GB * task.attempt } + time = { 16.h * task.attempt } + } + withLabel:process_long { + time = { 20.h * task.attempt } + } + withLabel:process_high_memory { + memory = { 200.GB * task.attempt } + } + withLabel:error_ignore { + errorStrategy = 'ignore' + } + withLabel:error_retry { + errorStrategy = 'retry' + maxRetries = 2 + } +}