Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!oliveb!sun!chiba!khb From: khb%chiba@Sun.COM (Keith Bierman - Sun Tactical Engineering) Newsgroups: comp.arch Subject: Re: Multi-Processor Serializability Keywords: data ordering, coherence, shared memory multiprocessing Message-ID: <88088@sun.uucp> Date: 2 Feb 89 19:17:05 GMT References: <3492@cloud9.Stratus.COM> <1066@cmx.npac.syr.edu> Sender: news@sun.uucp Reply-To: khb@sun.UUCP (Keith Bierman - Sun Tactical Engineering) Organization: Sun Microsystems, Mountain View Lines: 19 In article <1066@cmx.npac.syr.edu> billo@snacpac.npac.syr.edu.UUCP (Bill O'Farrell) writes: >means that an outer loop is having its iterations performed in parallel, while >the inner loop has been "unwound" into vector operations. Both the Alliant >and Encore compiler also perform "good old" global optimization, and both >never NEVER perform an optimization if it would change the meaning of a program. This is not quite true. Most very highly optimizing compilers have (often undocumented) unsafe modes which intentionally change the semantics of the code. On a CDC system with the u level of optimization (0,1,2,3,U) it produced correct results about 70% of the time, which made it a very useful tool. In addition, even modest levels of optimization can cause subtle changes in numerical results. On ieee 64-bit mode this is seldom seen, but in 32-bits it can often be observed. Keith H. Bierman It's Not My Fault ---- I Voted for Bill & Opus