Skip to content
Snippets Groups Projects

Update runEddy script to work with new multi-threaded version.

Merged Paul McCarthy requested to merge mnt/eddy-nthr into master
Files
20
+ 16
5
@@ -10,8 +10,10 @@
# output as the final line of output. Thne script returns
# an exit code of non-0 if something goes wrong.
#
# The eddy_cpu executable is executed twice - once with
# --nthr=1, and again with --nthr=8.
# If called from pyfeeds, the eddy_cpu executable is
# executed twice - once with --nthr=1, and again with
# --nthr=6. If not called from pyfeeds, the eddy_cpu
# executable is executed only once, with --nthr=6.
#
# Outputs of each eddy_<variant> executable is saved with
# prefix ${outdir}/eddyOutput_<variant>. For example, the
@@ -46,10 +48,19 @@ done
# "eddy_cpu_nthr_X" to the list of
# executables to run. The name is unpacked
# in the loop below.
#
# We're using 6 threads here for the multi-
# threaded test, as it is the best option on
# the FMRIB cluster
cpu_exes=""
if [ -x "${exedir}/eddy_cpu" ]; then
cpu_exes="${cpu_exes} ${exedir}/eddy_cpu_nthr_1"
cpu_exes="${cpu_exes} ${exedir}/eddy_cpu_nthr_8"
# Only run single-threaded when running
# through pyfeeds
if [ "$PYFEEDS_TESTING" = "1" ]; then
cpu_exes="${cpu_exes} ${exedir}/eddy_cpu_nthr_1"
fi
cpu_exes="${cpu_exes} ${exedir}/eddy_cpu_nthr_6"
fi
if [ "${cuda_exes}" == "" ] && [ "${cpu_exes}" == "" ]; then
@@ -87,7 +98,7 @@ do
# output a job id) if we try to run a
# cuda exe on a non-cuda-capable machine
# or queue. So we allow it to fail.
jid=$(${fsl_sub} ${exe} --out=${outdir}/eddyOutput_${variant} ${eddy_args} || true)
jid=$(${fsl_sub} ${exe} --out=${outdir}/eddyOutput_${variant} ${eddy_args[@]} || true)
if [ "${jid}" == "" ]; then
echo "Error submitting ${exe_name} - skipping"
continue
Loading