FSL feat takes a long time to run

nipype
nipype-probtrackx2-f
fsl
#1

I try to implement the suggested 1st level analysis from here

I’ve changed it just a bit (added two more contrasts that fits my questions).
My design is a 20 min run, with 3 conditions, each one runs for 2m in a raw for 3 times, so I end up with a big functional file (app. 1.5g).
I pre processed everything using fmriPrep.

Running the pipeline mentioned above takes a lot of resources and a long time. It seems like it requires about 30g per run, and it runs for more than 8 hours, mostly running the feat command.

I was wondering if this sounds normal to those who uses the same pipeline

Thanks,

#2

I’m not sure what your system specs are, but that sounds a bit slow to me, even for a huge dataset.

I experienced with some pretty slow performance with FEAT (and specifically film_gls) earlier this year, and the FSL folks suggested that I set OPENBLAS_NUM_THREADS=1 as an environment variable. That did the trick for me on my system. Here’s the thread for that, if you’re interested:

JISCMail - FSL Archive - Re: film_gls and flameo running very slowly on Amazon Web Services (https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=FSL;5ceafc9e.1902)

#3

Thanks.
Regarding my specs:
I try to run it both on my local computer (FSL 6.0, with 64g RAM and 12 cores) and a slurm cluster (FSL 6.0). In both, I run it through nipype in anaconda environment (maybe that causes something - should I try clean env?)
I did try to add you change (actually not sure I put it in the right place…) - doesn’t seems to help.

#4

I can’t speak to nipype unfortunately, but this sounds a bit slow for basic FSL stuff. I’m assuming your data is multiband with a fast TR (e.g., < 1 s) and fairly high resolution (e.g., ~2 mm isotropic)? Is it specifically getting hung up with film_gls or another FEAT process?

To set the OPENBLAS_NUM_THREADS=1, you’d need to run export OPENBLAS_NUM_THREADS=1 (could also put it in your ~/.bashrc file to make sure it’s always an env variable).

#5

Indeed TR=1 and 1mm resolution.
It gets hung up with film_gls, all the rest is reasonable.
I’ve tried adding OPENBLAS_NUM_THREADS=1, without success so far.