HPC question

A few troubleshooting ideas:

  • Run mrconvert with the -debug option to see what MRtrix3 is reporting as the number of threads being used so you can be sure it’s actually using the resources you’re allocating, as per this post.
  • Are you specifying the number of threads to be used within commands (like -nthreads X) or relying on MRtrix3 to auto-detect the max number of threads available? In my experience, the latter strategy sometimes does not work.
  • Did you set up the MRtrix3 env variables, like MRTRIX_NTHREADS? In your job script, you could set this to be your cluster job manager’s environment variable report of the number of threads, if it’s true that MRtrix3 is not successfully automatically detecting this. In SLURM, this would be $SLURM_CPUS_PER_TASK. See setup docs here.

Hope that helps!