I am having some problems running preprocessing such as 5tt, dwi2response and dwi2fod on a cluster.
I suspect I know what the problem is but I’m unsure of the solution. I will describe the problem below:
Since we get charged time on our cluster by core hours, I want to ensure that as many threads per core are active while computing the preprocessing.
While most of the MRtrix programs do nicely, the 5ttgen algorithm calls on first, which apparently only works single threaded.
As a solution I disabled multithreading and ran 10 participants at one go to utilise 10 threads on the cluster.
This generally works fine but is encountering some problems which I suspect stems from the fact that the 5tt algorithm changes directory to work within the temporary directory rather than running commands from the original directory with the absolute paths to the temporary directories.
I suspect that this changing of directories is the cause of my problems but I really don’t see a way around it.