[comp.lang.fortran] Scalar F77 to Vector Pre-processors

notes@hcx1.UUCP (11/16/86)

I would like some information about pre-processors for FORTRAN
(or other languages) that translate scalar FORTRAN-77 to
FORTRAN-8X array syntax (or any other comparable syntax)
by detecting vectorizable computations.
I already have some information from Pacific-Sierra Research and
Kuck and Associates, Inc.  Does anyone know of anyone else with
such a product(s)?  Please feel free to add a response to this
note or reply to:

{codas,allegra}!novavax!hcx1!bill

joe@dayton.UUCP (Joseph P. Larson) (11/18/86)

In article <125@hcx1.UUCP> notes@hcx1.UUCP writes:
>... pre-processors for FORTRAN ... that translate scalar FORTRAN-77 to
>FORTRAN-8X array syntax ... by detecting vectorizable computations.
>I already have some information from Pacific-Sierra Research and
>Kuck and Associates, Inc.  Does anyone know of anyone else with
>such a product(s)?

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.

So -- if anyone wants some first-hand knowledge, ask.
-- 
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

notes@hcx1.UUCP (11/21/86)

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?  They also have another product, called
FORGE.  Also, about what time was this, because I understand from
PSR that the current version of VAST is "vastly" (excuse the pun)
different from the original -- almost a complete rewrite, I think.
In any case, it sounds like your opinion is that it is a good
product.  Is that an accurate assessment?

Thanks for the info.  If you know of any other products similar
to these, let me know.

Bill Leonard, Harris Computer Systems Division
{codas,allegra}!novavax!hcx1!bill

joe@dayton.UUCP (Joseph P. Larson) (11/24/86)

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