1
0
Fork 0
mirror of https://github.com/MillironX/nf-configs.git synced 2024-11-25 01:19:54 +00:00

Update imperial.config

Multiple process level updates reflecting the latest job sizing guidelines for the Imperial HPC
This commit is contained in:
Combiz Khozoie 2022-02-10 23:02:47 +00:00 committed by GitHub
parent 81a273c730
commit fe5474a029
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,37 +1,66 @@
//Profile config names for nf-core/configs //Profile config names for nf-core/configs
params { params {
// Config Params // Config Params
config_profile_description = 'Imperial College London - HPC Profile -- provided by nf-core/configs.' config_profile_description = 'Imperial College London - HPC Profile -- provided by nf-core/configs.'
config_profile_contact = 'NA' config_profile_url = 'https://www.imperial.ac.uk/admin-services/ict/self-service/research-support/rcs/'
config_profile_url = 'https://www.imperial.ac.uk/admin-services/ict/self-service/research-support/rcs/'
// Resources // Resources
max_memory = 256.GB max_memory = 480.GB
max_cpus = 32 max_cpus = 40
max_time = 72.h max_time = 1000.h
} }
executor { executor {
$pbspro { $pbspro {
queueSize = 50 queueSize = 50
} }
$local { $local {
cpus = 2 cpus = 2
queueSize = 1 queueSize = 1
memory = '32 GB' memory = '6 GB'
} }
} }
singularity { singularity {
enabled = true enabled = true
autoMounts = true autoMounts = true
runOptions = "-B /rds/,/rds/general/user/$USER/ephemeral/tmp/:/tmp,/rds/general/user/$USER/ephemeral/tmp/:/var/tmp" runOptions = "-B /rds/,/rds/general/user/$USER/ephemeral/tmp/:/tmp,/rds/general/user/$USER/ephemeral/tmp/:/var/tmp"
} }
process { process {
executor = 'pbspro'
executor = 'pbspro' // Process-specific resource requirements
withLabel:process_low {
// TARGET QUEUE: throughput
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
memory = { check_max( 12.GB * task.attempt, 'memory' ) }
time = { check_max( 4.h * task.attempt, 'time' ) }
}
withLabel:process_medium {
// TARGET QUEUE: throughput
cpus = { check_max( 8, 'cpus' ) }
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
time = { check_max( 8.h * task.attempt, 'time' ) }
}
withLabel:process_high {
// TARGET QUEUE: general
cpus = { check_max( 32, 'cpus' ) }
memory = { check_max( 62.GB * task.attempt, 'memory' ) }
time = { check_max( 16.h * task.attempt, 'time' ) }
}
withLabel:process_long {
// TARGET QUEUE: long
cpus = { check_max( 8, 'cpus' ) }
memory = { check_max( 96.GB, 'memory' ) }
time = { check_max( 72.h * task.attempt, 'time' ) }
}
withLabel:process_high_memory {
// TARGET QUEUE: large memory
cpus = { check_max( 10 * task.attempt, 'cpus' ) }
memory = { check_max( 120.GB * task.attempt, 'memory' ) }
time = { check_max( 12.h * task.attempt, 'time' ) }
}
} }