[Insight-developers] Numerical Issues in accumulation of terms in Image Metrics

brian avants stnava at gmail.com
Fri Sep 2 11:19:46 EDT 2011


Hi Julien

Thanks for the response --- good to know it's something of a research problem.

> I am glad to hear that there is some concerns from the application side in reproducibility.
> It is in general hard for us to justify research on this area. (Useful for debugging, contractual reasons. etc. )

We are interested in accurately measuring things like longitudinal
change in the brain over relatively short time periods (months).
Such measurements can be useful in, for instance, pharmaceutical
trials i.e. tracking whether a drug slows change.  We do not want the
number of threads to be a confound in such computations.  Especially
if we do not know --- very clearly --- the bound on the error /
uncertainty that is introduced.

> 1) Accumulation of errors is not the same depending on the number of threads used. (Granted.)
> (If you give the same number of threads twice, do you get the same answer twice? )

the # of threads can change the result ....  however a constant number
of threads produces the same result every time.

> 2) There are some swtiches in the code and tiny different errors made you following different path in the algorithm?
> So the output is totally different depending on the number of threads? Or is slight;y different enough to bug you?
>

The path in the algorithm (code-wise) is always the same.  The path in
the optimization (which is nonlinear) can be affected by accumulated
differences in the computation.  The difference is enough to bug me,
but not necessarily fatal.  The difference is enough to see by eye
when comparing results from a m-thread and n-thread computation.  In
my opinion, too much.   It's a new issue so we've not done much
quantification yet.

> Believe it or not, ScaLAPACK has a reproducibility flag since its inception (1994) so that reproducibility is enforced despite parallelism.
>

Great to know.

Thanks for the valuable feedback.

Brian


More information about the Insight-developers mailing list