mirror of
https://github.com/MillironX/nf-configs.git
synced 2024-11-21 16:16:04 +00:00
ec190ac013
Co-authored-by: nvnieuwk <101190534+nvnieuwk@users.noreply.github.com>
120 lines
3.3 KiB
Text
120 lines
3.3 KiB
Text
// Define the Scratch directory
|
|
def scratch_dir = System.getenv("VSC_SCRATCH_VO_USER") ?: "scratch/"
|
|
|
|
// Specify the work directory
|
|
workDir = "$scratch_dir/work"
|
|
|
|
// Perform work directory cleanup when the run has succesfully completed
|
|
// cleanup = true
|
|
|
|
// Reduce the job submit rate to about 30 per minute, this way the server won't be bombarded with jobs
|
|
// Limit queueSize to keep job rate under control and avoid timeouts
|
|
executor {
|
|
submitRateLimit = '30/1min'
|
|
queueSize = 50
|
|
}
|
|
|
|
// Add backoff strategy to catch cluster timeouts
|
|
process {
|
|
errorStrategy = { sleep(Math.pow(2, task.attempt) * 200 as long); return 'retry' }
|
|
maxRetries = 5
|
|
}
|
|
|
|
// Specify that singularity should be used and where the cache dir will be for the images
|
|
singularity {
|
|
enabled = true
|
|
autoMounts = true
|
|
cacheDir = "$scratch_dir/singularity"
|
|
}
|
|
|
|
env {
|
|
SINGULARITY_CACHEDIR="$scratch_dir/.singularity"
|
|
}
|
|
|
|
// Define profiles for each cluster
|
|
profiles {
|
|
skitty {
|
|
params {
|
|
config_profile_description = 'HPC_SKITTY profile for use on the Skitty cluster of the VSC HPC.'
|
|
config_profile_contact = 'ict@cmgg.be'
|
|
config_profile_url = 'https://www.ugent.be/hpc/en'
|
|
max_memory = 177.GB
|
|
max_cpus = 36
|
|
max_time = 72.h
|
|
}
|
|
|
|
process {
|
|
executor = 'slurm'
|
|
queue = 'skitty'
|
|
scratch = "$scratch_dir"
|
|
}
|
|
}
|
|
|
|
swalot {
|
|
params {
|
|
config_profile_description = 'HPC_SWALOT profile for use on the Swalot cluster of the VSC HPC.'
|
|
config_profile_contact = 'ict@cmgg.be'
|
|
config_profile_url = 'https://www.ugent.be/hpc/en'
|
|
max_memory = 116.GB
|
|
max_cpus = 20
|
|
max_time = 72.h
|
|
}
|
|
|
|
process {
|
|
executor = 'slurm'
|
|
queue = 'swalot'
|
|
scratch = "$scratch_dir"
|
|
}
|
|
}
|
|
|
|
victini {
|
|
params {
|
|
config_profile_description = 'HPC_VICTINI profile for use on the Victini cluster of the VSC HPC.'
|
|
config_profile_contact = 'ict@cmgg.be'
|
|
config_profile_url = 'https://www.ugent.be/hpc/en'
|
|
max_memory = 88.GB
|
|
max_cpus = 36
|
|
max_time = 72.h
|
|
}
|
|
|
|
process {
|
|
executor = 'slurm'
|
|
queue = 'victini'
|
|
scratch = "$scratch_dir"
|
|
}
|
|
}
|
|
|
|
kirlia {
|
|
params {
|
|
config_profile_description = 'HPC_KIRLIA profile for use on the Kirlia cluster of the VSC HPC.'
|
|
config_profile_contact = 'ict@cmgg.be'
|
|
config_profile_url = 'https://www.ugent.be/hpc/en'
|
|
max_memory = 738.GB
|
|
max_cpus = 36
|
|
max_time = 72.h
|
|
}
|
|
|
|
process {
|
|
executor = 'slurm'
|
|
queue = 'kirlia'
|
|
scratch = "$scratch_dir"
|
|
}
|
|
}
|
|
|
|
doduo {
|
|
params {
|
|
config_profile_description = 'HPC_DODUO profile for use on the Doduo cluster of the VSC HPC.'
|
|
config_profile_contact = 'ict@cmgg.be'
|
|
config_profile_url = 'https://www.ugent.be/hpc/en'
|
|
max_memory = 250.GB
|
|
max_cpus = 96
|
|
max_time = 72.h
|
|
}
|
|
|
|
process {
|
|
executor = 'slurm'
|
|
queue = 'doduo'
|
|
scratch = "$scratch_dir"
|
|
}
|
|
}
|
|
}
|