Skip to content

Commit 731d36d

Browse files
authored
Merge pull request #1043 from jen-reeve/reannz_mahuika
Mahuika HPC config
2 parents e6f22fe + ccf54ae commit 731d36d

File tree

5 files changed

+158
-0
lines changed

5 files changed

+158
-0
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@
1111
**/lrz_cm4** @nschan
1212
**/crg** @joseespinosa
1313
**/iris** @nikhil
14+
**/mahuika** @jen-reeve

.github/workflows/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ jobs:
129129
- "lugh"
130130
- "m3c"
131131
- "maestro"
132+
- "mahuika"
132133
- "mana"
133134
- "marjorie"
134135
- "lovelace"

conf/mahuika.config

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
// Mahuika nf-core configuration profile
2+
params {
3+
config_profile_description = 'Mahuika HPC profile provided by nf-core/configs'
4+
config_profile_contact = 'Jennifer Reeve (@jen-reeve)'
5+
config_profile_url = 'https://docs.nesi.org.nz'
6+
max_cpus = 166
7+
max_memory = 1024.GB
8+
max_time = 504.h
9+
}
10+
11+
env {
12+
APPTAINER_TMPDIR="/home/${System.getenv('USER')}/.apptainer/tmp"
13+
APPTAINER_CACHEDIR="/home/${System.getenv('USER')}/.apptainer/cache"
14+
}
15+
16+
process {
17+
resourceLimits = [
18+
cpus: 166,
19+
memory: 1.TB,
20+
time: 504.h
21+
]
22+
cache = 'lenient'
23+
stageInMode = 'symlink'
24+
executor = 'slurm'
25+
queue = 'genoa,milan'
26+
errorStrategy = { task.exitStatus in ((130..145) + 104 + 175) ? 'retry' : 'finish' }
27+
maxRetries = 2
28+
29+
withLabel: 'process_gpu' {
30+
clusterOptions = '--gpus-per-node 1'
31+
containerOptions = '--nv'
32+
}
33+
}
34+
35+
executor {
36+
queueSize = 999
37+
submitRateLimit = '60 min'
38+
}
39+
40+
// Enable use of Apptainer to run containers
41+
apptainer {
42+
enabled = true
43+
pullTimeout = '2h'
44+
autoMounts = true
45+
}
46+
47+
cleanup = true
48+
49+
profiles {
50+
debug {
51+
cleanup = false
52+
}
53+
54+
genoa {
55+
process {
56+
resourceLimits = [
57+
cpus: 166,
58+
memory: 1.TB,
59+
time: 504.h
60+
]
61+
cache = 'lenient'
62+
stageInMode = 'symlink'
63+
executor = 'slurm'
64+
queue = 'genoa'
65+
errorStrategy = { task.exitStatus in ((130..145) + 104 + 175) ? 'retry' : 'finish' }
66+
maxRetries = 2
67+
68+
withLabel: 'process_gpu' {
69+
clusterOptions = '--gpus-per-node 1'
70+
containerOptions = '--nv'
71+
}
72+
}
73+
params {
74+
config_profile_description = 'Mahuika HPC genoa partition profile provided by nf-core/configs'
75+
config_profile_contact = 'Jennifer Reeve (@jen-reeve)'
76+
config_profile_url = 'https://docs.nesi.org.nz'
77+
max_cpus = 166
78+
max_memory = 1432.GB
79+
max_time = 504.h
80+
}
81+
}
82+
83+
milan {
84+
process {
85+
resourceLimits = [
86+
cpus: 166,
87+
memory: 1.TB,
88+
time: 504.h
89+
]
90+
cache = 'lenient'
91+
stageInMode = 'symlink'
92+
executor = 'slurm'
93+
queue = 'milan'
94+
errorStrategy = { task.exitStatus in ((130..145) + 104 + 175) ? 'retry' : 'finish' }
95+
maxRetries = 2
96+
97+
withLabel: 'process_gpu' {
98+
clusterOptions = '--gpus-per-node 1'
99+
containerOptions = '--nv'
100+
}
101+
}
102+
params {
103+
config_profile_description = 'Mahuika HPC milan partition profile provided by nf-core/configs'
104+
config_profile_contact = 'Jennifer Reeve (@jen-reeve)'
105+
config_profile_url = 'https://docs.nesi.org.nz'
106+
max_cpus = 126
107+
max_memory = 1024.GB
108+
max_time = 504.h
109+
}
110+
}
111+
}

docs/mahuika.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# nf-core/configs: Mahuika HPC Configuration
2+
3+
nf-core pipelines have been successfully run on the [Mahuika HPC](https://docs.nesi.org.nz/).
4+
5+
To run an nf-core pipeline on Mahuika, run the pipeline with `-profile mahuika`. This will download and launch the [`mahuika.config`](../conf/mahuika.config) which has been pre-configured with a setup suitable for Mahuika. Using this profile, a Docker image containing all of the required software will be downloaded, and converted to an Apptainer image before execution of the pipeline.
6+
7+
## Access to Mahuika
8+
9+
Please be aware that you will need to have a user account and be a member of an active project on Mahuika in order to use this infrastructure. See documentation for details regarding [creating an account](https://docs.nesi.org.nz/Getting_Started/Creating_an_Account/) and [applying for a project](https://docs.nesi.org.nz/Getting_Started/Projects/Applying_for_a_New_Project/) on Mahuika.
10+
11+
## Launch an nf-core pipeline on Mahuika
12+
13+
### Prerequisites
14+
15+
Before running the pipeline you will need to load Nextflow, which is a globally installed module on Mahuika. You can do this by running the commands below:
16+
17+
```bash
18+
#See what versions are available
19+
module avail Nextflow
20+
#Load one of the versions
21+
module load Nextflow/<version>
22+
```
23+
24+
### Execution command
25+
26+
```bash
27+
module load Nextflow/<version>
28+
29+
nextflow run <nf-core_pipeline>/main.nf \
30+
-profile mahuika \
31+
<additional flags>
32+
```
33+
34+
### Specifying a partition
35+
36+
By default the `mahuika` profile will use both the Genoa and Milan partitions.
37+
To specify a partition you can add its name as an additional profile.
38+
For example, to run exclusively on the Genoa partition `-profile mahuika,genoa`.
39+
40+
### Additional information
41+
42+
More information about running Nextflow on Mahuika can be found on the [Nextflow page in the documentation](https://docs.nesi.org.nz/Software/Available_Applications/Nextflow).

nfcore_custom.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,9 @@ profiles {
262262
maestro {
263263
includeConfig "${params.custom_config_base}/conf/maestro.config"
264264
}
265+
mahuika {
266+
includeConfig "${params.custom_config_base}/conf/mahuika.config"
267+
}
265268
mana {
266269
includeConfig "${params.custom_config_base}/conf/mana.config"
267270
}

0 commit comments

Comments
 (0)