Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!ncar!gatech!hubcap!Andrew From: aingalls@sunfun.eta.com (Andrew Ingalls) Newsgroups: comp.parallel Subject: Capabilities of VAST Message-ID: <3814@hubcap.UUCP> Date: 9 Dec 88 18:14:18 GMT Sender: fpst@hubcap.UUCP Lines: 87 Approved: parallel@hubcap.clemson.edu [ On comp.compilers, I had asked for a catalog of capbilites of the VAST preprocessor. The following was provided. Pacific Sierra was also kind enough to respond on further development and an new expert system product. Contact PSR for more info - Steve ] Well, I'm at work now and have my Vast manual in front of me so I can (hopefully) answer some of your questions. A more complete list of Vast-2's capabilities : - Vectorization of both DO loops and IF loops - Vectorization of outer loops - Sophisticated data dependency analysis to ensure safe translation of loops - Examination of EQUIVALENCE statments to detect hidden recursion - Ability to reorder array references to avoid recursion, where possible - Use of program information from outside the loop to aid data dependency analysis (ambiguous subscript resolution) - Ability to minimize data-dependant sections of loops so that the maximum amount of computation is vectorized - Ability to handle all forward-branching conditional operations, regardless of nestin of complexity - Use of program information from outside the loop to determine whether final values of indices and of scalar temporaries are required - Use of program information from outside the loop to determine whether or not reduction function initializations can be eliminated - Re-rolling of unrolled loops - Elimination of common vector subexpressions - Ability to select the single best dimension on a loop nest - Ability to collapse loop nests to increase average vector length - In-line expansion of subroutines and functions - Tidy feature to control appearance of output (indenting, spacing, and so forth) - User directives and switches to control many aspects of the translation process Vast will also send the user diagnostics in the form of : -- Warnings if potential data dependancies or recursion exist -- Explanations as to why a loop (or loop nest) was not vectorized -- Messages asking for more user input (in the form of directives) I would include examples but all the interesting ones contain alot of instructions and special calls that are specific to our machine and our compiler (Eta-10, Ftn77) and wouldn't make alot of sense unless you were familiar with both. We've seen some really impressive results when using the vectorizer alone and absolutely amazing speedups (in certain cases) when the directives are used correctly. I have no affiliation with Pacific Sierra Research Corp. other than the fact that my company purchases the Vast product from them. I (and many of our customers) are very happy with the product (even though we always want more). If you or the 'several others who are interested' want specific examples, I would be happy to oblige. Eta is a trademark of ETA Systems, Incorporated. Vast-2 is a trademark of Pacific-Sierra Research Corporation. Views and/or opinions expressed herein are the sole reponsibility of the author and do not (necessarily) reflect the policies/views/opinions of ETA Systems. I hope this helps and please, E-mail me if I haven't answered your questions. Paul Hinker (sneaking in as Andrew Ingalls) INET : phinker@aring.ETA.COM -- Steve, I hope this gets through this time. The first time I tried it, it bounced around for awhile and ended up back on our network in someone else's mailbox! Paul Hinker (still pretending to be Andrew Ingalls) INET : phinker@aring.eta.com -- Steve, This is the third time and hopefully you'll get it. Paul Hinker (Continuing to impersonate Andy)