External Email - Use Caution
bedpostx, which also uses xfibres, takes a very long time on a single CPU. It does not seem like xfibres can even use multiple CPUs.
We have GPUs available, and prior work with FSL suggests that using the GPU cuts processing down from about a day to about 20 minutes.
I found an article from Aug, 2017 suggesting that the `-jobs` flag be used to generate a file that would have commands that could be run in parallel. I cannot get that to do so. Running just `trac-all -jobs` results in
$ trac-all -jobs job_scripts/trac-all-jobs.sh ERROR: run list is longer than subject ID list
We have a config file to use with -c, $PWD/etc/configfile, and using it runs `trac-all -c $PWD/etc/configfile -bedp`, but the -c option seems to be mutually exclusive with the -jobs option.
I found a reply from Prof Yendiki at https://secure-web.cisco.com/18kY7tFQx1qjx67wI-ayKRuY1CubuoBO8bPSilQmcfR7smR... which says
TRACULA just expects the output files of bedpostX, and does not care if they were generated on GPUs or CPUs. Just provide the $subjectID/dmri directory (created by the first step of trac-all) as the argument to either version of bedpostX. After it's done, you can skip to the 3rd step of trac-all.
May I confirm that the three steps for trac-all are properly represented by
trac-all -prep -c ../configfile trac-all -bedp -c ../configfile trac-all -path -c ../configfile
and that I can simply replace the -bedp line with a direct call to bedpostx_gpu and all the processing done by `trac-all -bedp` will be properly done?
That is, I have my setup such that all work is rooted in the TRACULA directory, the output of the trac-all -prep is being routed to
TRACULA/output/sub-10001
and there exists within that the dmri directory, running
bedpostx_gpu sub-10001
from TRACULA/output/sub-10001 creates the dmri.bedpostX directory, and that is all that will be needed.
Sorry to be dense about all this.
freesurfer@nmr.mgh.harvard.edu