Skip to content

Commit e6f22fe

Browse files
authored
Merge pull request #1053 from sguizard/master
Update roslin.config
2 parents 4aa15ba + 5b2e212 commit e6f22fe

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed

conf/roslin.config

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,20 @@ executor {
1111

1212
process {
1313
stageInMode = 'symlink'
14-
scratch = 'false'
14+
// Will use a local tmp dir instead of /tmp.
15+
// Set TMPDIR when true
16+
// https://www.wiki.ed.ac.uk/spaces/ResearchServices/pages/478073369/Bioinformatics#Bioinformatics-TMPDIR
17+
scratch = true
1518
penv = { task.cpus > 1 ? "sharedmem" : null }
1619

1720
// This will override all jobs clusterOptions
1821
clusterOptions = {
1922
def memoryPerCpu = task.memory.toMega() / task.cpus
20-
def nodeExclusion = System.getenv('NFX_NODE_EXCLUSION') ?
21-
"-l h=!(${System.getenv('NFX_NODE_EXCLUSION')})" :
23+
def nodeExclusion = System.getenv('NXF_NODE_EXCLUSION') ?
24+
"-l h=!(${System.getenv('NXF_NODE_EXCLUSION')})" :
2225
""
23-
def projectCode = System.getenv('NFX_SGE_PROJECT') ?
24-
"${System.getenv('NFX_SGE_PROJECT')}" :
26+
def projectCode = System.getenv('NXF_SGE_PROJECT') ?
27+
"${System.getenv('NXF_SGE_PROJECT')}" :
2528
"uoe_baseline"
2629

2730
"-l h_rss=${memoryPerCpu}M -P ${projectCode} ${nodeExclusion}"
@@ -37,23 +40,24 @@ process {
3740
"""
3841
. /etc/profile.d/modules.sh
3942
module load igmm/apps/apptainer/1.3.4
40-
export SINGULARITY_TMPDIR="\$TMPDIR"
43+
export APPTAINER_TMPDIR="\$TMPDIR"
4144
"""
4245
}
4346

4447
env {
4548
MALLOC_ARENA_MAX=1
4649
}
4750

48-
singularity {
49-
envWhitelist = "SINGULARITY_TMPDIR,TMPDIR"
50-
runOptions = '-p -B "$TMPDIR"'
51+
apptainer {
52+
envWhitelist = "APPTAINER_TMPDIR,TMPDIR"
53+
// --scratch /dev/shm allows to use local tmp dir within container
54+
runOptions = '-p --scratch /dev/shm -B "$TMPDIR"'
5155
enabled = true
5256
autoMounts = true
5357
// Define the singularity cache directory depending on the presence of the NFX_SGE_PROJECT variable
5458
// User without compute project can't access to the shared cache directory.
5559
// So, they need to store singularity images into the work directory.
56-
cacheDir = System.getenv('NFX_SGE_PROJECT') ?
60+
cacheDir = System.getenv('NXF_SGE_PROJECT') ?
5761
"/exports/cmvm/eddie/eb/groups/alaw3_eb_singularity_cache" :
5862
null
5963
}

docs/roslin.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,20 @@ Apptainer/Singularity will by default create a directory `.singularity` in your
4545

4646
```bash
4747
cd $HOME
48+
49+
mkdir /exports/eddie/path/to/my/area/.apptainer
50+
ln -s /exports/eddie/path/to/my/area/.apptainer .apptainer
51+
4852
mkdir /exports/eddie/path/to/my/area/.singularity
4953
ln -s /exports/eddie/path/to/my/area/.singularity .singularity
5054
```
5155

5256
## SGE project set up
5357

54-
By default, users’ jobs are started with the `uoe_baseline` project that gives access to free nodes. If you have a project code that gives you access to paid nodes. It can be used by jobs submitted by Nextflow. To do so, you need to set up an environment variable called `NFX_SGE_PROJECT`:
58+
By default, users’ jobs are started with the `uoe_baseline` project that gives access to free nodes. If you have a project code that gives you access to paid nodes. It can be used by jobs submitted by Nextflow. To do so, you need to set up an environment variable called `NXF_SGE_PROJECT`:
5559

5660
```bash
57-
export NFX_SGE_PROJECT="<PROJECT_NAME_HERE>"
61+
export NXF_SGE_PROJECT="<PROJECT_NAME_HERE>"
5862
```
5963

6064
If you wish, you place this variable declaration in your `.bashrc` file located in your home directory to automatically set it up each time you log on Eddie.
@@ -73,10 +77,10 @@ Finding those nodes can be done by extracting the job ids from the execution tra
7377
The script take as input an execution trace file via the `--file` option. It reads it, find the failed jobs, extract job ids, request info to scheduler, extract the execution nodes and format the names before printing.
7478
`get_fail_jobs_nodes.sh --file execution_trace_2026-01-20_09-32-27.txt`.
7579

76-
Then, you can set up an environment variable called `NFX_NODE_EXCLUSION` and copy/paste the printed node list.
80+
Then, you can set up an environment variable called `NXF_NODE_EXCLUSION` and copy/paste the printed node list.
7781

7882
```bash
79-
export NFX_NODE_EXCLUSION="<FORMATED_LIST_OF_NODES_TO_EXCLUDE>"
83+
export NXF_NODE_EXCLUSION="<FORMATED_LIST_OF_NODES_TO_EXCLUDE>"
8084
```
8185

8286
## Running Nextflow

0 commit comments

Comments
 (0)