Large virtual memory allocations in fMRIPrep on PBS system

fMRIPrep’s default working directory (where nipype intermediate results are stored) is $PWD/work, and the Docker image sets the default WORKDIR to /tmp, so without other intervention, the working directory will be /tmp/work.

On a system that uses a ramdisk for /tmp, this will definitely be problematic, unless you can assume many gigabytes of RAM.

I’m not entirely sure whether Singularity takes the working directory to be the calling directory or reads it from the image. In any event, passing the -w flag to fMRIPrep will allow you to make a better selection, if that does turn out to be the problem.

1 Like

Based on our suspicion that pandoc is requesting this serge in memory which is trouble for our compute cluster setup, is it a possibility to propose a flag to skip pandoc altogether? A flag to set a variable to negate the conditional here? https://github.com/poldracklab/fmriprep/blob/master/fmriprep/cli/run.py#L447 Is this the only place where pandoc comes up?

I second @faskowit’s suggestion to make this optional step. I just sent a PR to do just that > https://github.com/poldracklab/fmriprep/pull/1876 I’ve tested it on our system and it seems to work as expected (it skips generation of HTML file from citation.md).

3 Likes