Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!dayton!joe From: joe@dayton.UUCP (Joseph P. Larson) Newsgroups: comp.lang.fortran Subject: Re: Scalar F77 to Vector Pre-processors Message-ID: <232@dayton.UUCP> Date: Mon, 24-Nov-86 09:43:03 EST Article-I.D.: dayton.232 Posted: Mon Nov 24 09:43:03 1986 Date-Received: Mon, 24-Nov-86 23:39:35 EST References: <128@hcx1.UUCP> Reply-To: joe@dayton.UUCP (Joseph P. Larson) Organization: Dayton-Hudson Dept. Store Co. Lines: 52 In article <128@hcx1.UUCP> notes@hcx1.UUCP writes: >In reponse 1, Joe Larson writes: > >>> For all it's worth -- I was responsible for performing a complete >>> test of PSR's vectorizor at Sperry. I was there when PSR gave us >>> their very first (and very bug-ridden) version and watched as the >>> bugs disappeared and some very nice features were added. > >Are you referring to VAST? >.... Also, about what time was this ... >the current version of VAST is "vastly" (excuse the pun) >different from the original -- almost a complete rewrite, I think. At Sperry we called it "UVEC" (goes with UFTN, UPAS, UCOB, ud nauseum). But yes, it is VAST in its re-written form. And yes, it's different. It can actually produce nice looking code. Not *real* nice, if you try to vectorize really icky stuff, but not bad. The improvements involve things like NOT having to call a bunch of set-up routines and such. The code resembles something you might have written yourself. Unfortunately for PSR, Sperry's UFTN (The 8X compiler) was pretty good when it came to optimization of scaler code. It wasn't very good (as of 6 months or so ago) at optimizing vector code (although it could optimize scaler code using vector instructions and all that -- internally did what the vectorizer did externally). Thus, Sperry wasn't impressed -- vectorized code ran slower. But VAST was not at fault. In any case -- you might want to check the following on your compiler: DO 10 i=1,1000 x = x + a(i)*b(i) 10 CONTINUEU versus what the vectorizer will produce: X = X + DOTPRODUCT(A,B) (I think -- it's been a while). or hand-vectorize more complex code. You may not WANT a conversion utility to 8X Fortran. -Joe -- UUCP: ihnp4!rosevax!dayton!joe Joe Larson ATT : (612) 375-3537 Dayton Hudson Department Store Company (standard disclaimer...) 700 on the Mall Mpls, Mn. 55408