On Mon, Jul 11, 2005 at 05:27:33PM -0400, Jesse Mazer wrote:

> I don't know what compiler optimization flags are, but if the trajectories 

Compiler optimization flags tell the compiler to optimize generated code more
aggressively, which may even break your code, at a high optimization setting.
Anything involving changing order of instruction execution and not using 
accurate arithmetics
(FPU floats) will introduce numerical error, which will result in an
exponential deviation in a susceptible system. This is not a problem (unless
the result fails to converge) as higher order metrics are extracted from the
raw trajectory in a numerical experiment.

This is entirely equivalent to injecting a small amount of numerical noise
into the system, or perturbing a nonlinear system (such as a neuronal network
in vivo).

> are different, presumably that means that you are not really running 
> exactly the same algorithm, if you include the compiler as part of the 
> whole algorithm (ie if you wanted to emulate what the computer is doing 

Absolutely, the code generated is different. It's not the same algorithm.
This is something which can trap the naive user, however, and it makes
regression testing (which looks for precise end result in a number of test
cases) quite more difficult.

Similiar issues occur with execution errors (a bit flipped in processing,
undetected), and parallel algorithms which optimize performance for accuracy
(e.g. using a protocol on the signalling mesh which won't detect a dropped

Such issues are becoming more and more pronounced with the length of the run
(total number of instructions) and the size of the parallel system,
ultimatively resulting in a degree of unreliability e.g. in computer proofs.
Physical simulations are more robust here.

> using a universal Turing machine, the input strings would have to be 
> different for different compilers).

Yes. However, the reality makes the term "a specific algorithm" somewhat
blurry, and more difficult to measure.

Eugen* Leitl <a href="http://leitl.org";>leitl</a>
ICBM: 48.07100, 11.36820            http://www.leitl.org
8B29F6BE: 099D 78BA 2FD3 B014 B08A  7779 75B0 2443 8B29 F6BE

Attachment: signature.asc
Description: Digital signature

Reply via email to