Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
144 changes: 48 additions & 96 deletions conf/alliance_canada.config
Original file line number Diff line number Diff line change
@@ -1,11 +1,30 @@
params {
config_profile_description = 'Alliance Canada HPC config'
config_profile_contact = 'Jerry Li (@jerryakii)'
config_profile_contact = 'Cian Monnin (github/CMonnin)'
config_profile_url = 'https://docs.alliancecan.ca/wiki/Nextflow'

// default to narval settings if no cluster_name defined
cluster_name = System.getenv('CC_CLUSTER') ?: 'narval'

config_profile_description = params.cluster_name == 'narval' ? 'Alliance Canada (Narval) cluster profile provided by nf-core/configs.' :
params.cluster_name == 'fir' ? 'Alliance Canada (Fir) cluster profile provided by nf-core/configs.' :
params.cluster_name == 'nibi' ? 'Alliance Canada (Nibi) cluster profile provided by nf-core/configs.' :
params.cluster_name == 'rorqual' ? 'Alliance Canada (Rorqual) cluster profile provided by nf-core/configs.' :
params.cluster_name == 'trillium' ? 'Alliance Canada (Trillium) cluster profile provided by nf-core/configs.' :
'Alliance Canada HPC config'

max_cpus = params.cluster_name == 'nibi' ? 192 :
params.cluster_name == 'rorqual' ? 192 :
params.cluster_name == 'fir' ? 192 :
params.cluster_name == 'trillium' ? null :
64
max_memory =
params.cluster_name == 'narval' ? 249.GB :
params.cluster_name == 'nibi' ? 750.GB :
params.cluster_name == 'rorqual' ? 750.GB :
params.cluster_name == 'fir' ? 750.GB :
params.cluster_name == 'trillium' ? null :
240.GB
max_time = 168.h
max_cpus = 64
max_memory = 240.GB
}

cleanup = true
Expand All @@ -16,109 +35,42 @@ singularity {
}

apptainer {
autoMounts = true }
autoMounts = true
}

// Group name for resource allocation must be supplied as environment variable
process {
executor = 'slurm'
clusterOptions = "--account=${System.getenv('SLURM_ACCOUNT')}"
clusterOptions = params.cluster_name == 'trillium' ? "--account=${System.getenv('SLURM_ACCOUNT')} --nodes=1": "--account=${System.getenv('SLURM_ACCOUNT')}"
maxRetries = 1
errorStrategy = { task.exitStatus in [125,139] ? 'retry' : 'finish' }
cpu = 1
time = '3h'
cpus = 1
time = '1h'

// NOTE:
// these resourceLimits are set to baseline CPU for each cluser
// Currently missing are configs for GPUs

resourceLimits = [
memory: 240.GB,
cpus: 64,
time: 168.h
]
cpus: params.cluster_name == 'nibi'? 192 :
params.cluster_name == 'rorqual' ? 192 :
params.cluster_name == 'fir' ? 192 :
params.cluster_name == 'trillium' ? null:
64,
memory: params.cluster_name == 'narval' ? 249.GB :
params.cluster_name == 'nibi' ? 750.GB :
params.cluster_name == 'rorqual' ? 750.GB :
params.cluster_name == 'fir' ? 750.GB :
params.cluster_name == 'trillium' ? null :
240.GB,
time: 168.h
]

}

executor {
pollInterval = '60 sec'
submitRateLimit = '60/1min'
queueSize = 100
}

// Cluster name is available as environment variable
// If not found, default to narval as it has the lowest limits
hostname = "narval"
try {
hostname = "${System.getenv('HOSTNAME')}"
} catch (java.io.IOException e) {
System.err.println("WARNING: Could not determine current cluster, defaulting to narval")
queueSize = params.cluster_name == 'trillium' ? 500 : 100
}

// Cluster Narval
if (hostname.startsWith("narval")) {
params.config_profile_description = 'Alliance Canada (Narval) cluster profile provided by nf-core/configs.'
params.max_memory = 249.GB
params.max_cpus = 64
process {
resourceLimits = [
memory: 249.GB,
cpus: 64,
time: 168.h
]
}
}

// Cluster Rorqual
if (hostname.startsWith("rorqual")) {
params.config_profile_description = 'Alliance Canada (Rorqual) cluster profile provided by nf-core/configs.'
params.max_memory = 750.GB
params.max_cpus = 192
process {
resourceLimits = [
memory: 750.GB,
cpus: 192,
time: 168.h
]
}
}

// Cluster Trillium
if (hostname.startsWith("tri")) {
params.config_profile_description = 'Alliance Canada (Trillium) cluster profile provided by nf-core/configs.'
params.max_memory = null
params.max_cpus = null
process {
clusterOptions = "--account=${System.getenv('SLURM_ACCOUNT')} --nodes=1"
resourceLimits = [
time: 168.h
]
}
executor {
queueSize = 500
}
}

// Cluster Nibi
if (hostname.contains("nibi")) {
params.config_profile_description = 'Alliance Canada (Nibi) cluster profile provided by nf-core/configs.'
params.max_memory = 750.GB
params.max_cpus = 192
process {
resourceLimits = [
memory: 750.GB,
cpus: 192,
time: 168.h
]
}
}

// Cluster Fir
// not sure what the hostname is so set it as a profile
profiles {
fir {
params.config_profile_description = 'Alliance Canada (Fir) cluster profile provided by nf-core/configs.'
params.max_memory = 750.GB
params.max_cpus = 192
process {
resourceLimits = [
memory: 750.GB,
cpus: 192,
time: 168.h
]
}
}
}
Loading