Build pipeline: vsh-ci-build-template-k4qzr
Source commit: 173327cc56
Source message: Cellranger multi conversion: fix combined AB + CB probe experiments (#1062)
49 lines
2.1 KiB
Plaintext
49 lines
2.1 KiB
Plaintext
process {
|
|
// Default resources for components that hardly do any processing
|
|
memory = { 2.GB * task.attempt }
|
|
cpus = 1
|
|
|
|
// Retry for exit codes that have something to do with memory issues
|
|
errorStrategy = { task.exitStatus in 137..140 ? 'retry' : 'terminate' }
|
|
maxRetries = 3
|
|
|
|
// The memory a task is assinged increases with each attempt
|
|
// uncomment the line below and adjust the value to set a global upper limit on the memory.
|
|
// resourceLimits = [ memory: 240.Gb ]
|
|
|
|
// CPU resources
|
|
withLabel: singlecpu { cpus = 1 }
|
|
withLabel: lowcpu { cpus = 4 }
|
|
withLabel: midcpu { cpus = 10 }
|
|
withLabel: highcpu { cpus = 20 }
|
|
|
|
// Memory resources
|
|
withLabel: lowmem { memory = { task?.resourceLimits?.memory && task?.maxRetries && task.attempt >= task.maxRetries ? task.resourceLimits.memory : 4.GB * task.attempt } }
|
|
withLabel: midmem { memory = { task?.resourceLimits?.memory && task?.maxRetries && task.attempt >= task.maxRetries ? task.resourceLimits.memory : 25.GB * task.attempt } }
|
|
withLabel: highmem { memory = { task?.resourceLimits?.memory && task?.maxRetries && task.attempt >= task.maxRetries ? task.resourceLimits.memory : 50.GB * task.attempt } }
|
|
withLabel: veryhighmem { memory = { task?.resourceLimits?.memory && task?.maxRetries && task.attempt >= task.maxRetries ? task.resourceLimits.memory : 75.GB * task.attempt } }
|
|
|
|
// Disk space
|
|
withLabel: lowdisk {
|
|
disk = {process.disk ? process.disk : null}
|
|
}
|
|
withLabel: middisk {
|
|
disk = {process.disk ? process.disk : null}
|
|
}
|
|
withLabel: highdisk {
|
|
disk = {process.disk ? process.disk : null}
|
|
}
|
|
withLabel: veryhighdisk {
|
|
disk = {process.disk ? process.disk : null}
|
|
}
|
|
|
|
// NOTE: The above labels intentionally do not have an effect by default.
|
|
// The user should set the disk space requirements by adding the following
|
|
// to the compute environment:
|
|
//
|
|
// withLabel: lowdisk { disk = { 20.GB * task.attempt } }
|
|
// withLabel: middisk { disk = { 100.GB * task.attempt } }
|
|
// withLabel: highdisk { disk = { 200.GB * task.attempt } }
|
|
// withLabel: veryhighdisk { disk = { 500.GB * task.attempt } }
|
|
}
|