Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uupsi!sunic!sics.se!sics!bjornl From: bjornl@sics.se (Bj|rn Lisper) Newsgroups: comp.arch Subject: Re: Vector vs Cache/Superscalar Message-ID: <1991May8.080541.4015@sics.se> Date: 8 May 91 08:05:41 GMT References: <1991May4.031835.7979@midway.uchicago.edu> <1991May6.035310.26794@marlin.jcu.edu.au> <11921@mentor.cc.purdue.edu> <23348@lanl.gov> Sender: news@sics.se Organization: Swedish Institute of Computer Science, Kista Lines: 22 In-Reply-To: jlg@cochiti.lanl.gov's message of 7 May 91 22: 00:30 GMT In article <23348@lanl.gov> jlg@cochiti.lanl.gov (Jim Giles) writes: >In article <1991May6.035310.26794@marlin.jcu.edu.au>, >csrdh@marlin.jcu.edu.au (Rowan Hughes) writes: >> [...] >> The latest Fujitsu compiler (for the VP2000 series) will handle 1st order >> backwards recurrence, ie A(I)=A(I-1)+B(I), as well as the usual forward >> recurrence, in full vector mode. Many old scalar problems can now be >> vectorized. I'd be interested to hear if Cray/ETA/Alliant etc have this >> capability too. >First order recurrence can be rewritten using a technique call recursive >doubling (which is, presumably what the Fujitsu compiler is doing >automatically). The transformation of linear recurrences by recursive doubling uses associativity and distributivity of the arithmetical operators. Thus, the numerical properties of the code are altered (since floating point operations are not perfectly associative, due to rounding errors). I think compilers should use such transformations with great care. Does the Fujitsu compiler provide a switch to control the vectorization of recurrences? Bjorn Lisper