I am currently trying to preprocess an fMRI dataset where data was recorded with a low TR, so I have very large EPIs (up to 3000 images), of which I have multiple per session. I am using fmriprep 22.0.2 and singularity.
One problem I run into (I think) is that internal memory handlers are not working well in estimating the necessary RAM for certain preprocessing steps, thus exceeding the memory limits and in the worst case getting the job killed on the HPC.
This is especially an issue, when I assign more than one processor to fmriprep (–nprocs), as multiple of the very memory intensive steps are scheduled at the same time, even if they exceed limits set by --mem_mb significantly. So for now I only use --nprocs 1 (also for memory profiling), however, that feels a bit like a waste (and takes very long).
Unfortunately, fmriprep 22.0.2 does not have --run-id and --ses-id arguments anymore, with which I could have put limits on the amount of acquisitions. Limiting using --task-id is not enough.
I am wondering if there’s a way to force fMRIPREP to somehow only process a single acquisition (run) at a time?