Changes between Version 49 and Version 50 of DataParallel/VectPragma


Ignore:
Timestamp:
Oct 15, 2012 1:22:12 AM (18 months ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/VectPragma

    v49 v50  
    88Given a function `f`, the vectoriser generates a vectorised version `f_v`, which comprises the original, scalar version of the function and a second version lifted into array space.  The lifted version operates on arrays of inputs and produces arrays of results in one parallel computation.  The original function name is, then, rebound to use the scalar version referred to by `f_v`.  This differs from the original in that it uses vectorised versions for any embedded parallel array computations. 
    99 
    10 However, if a variable `f` is accompanied by a pragma of the form 
     10We have got two exceptions to this rule. Firstly, if the body of a function `f` is scalar —i.e., it does not involve any parallel array computations— then we leave it as is and omit the generation of `f_v`. Whether a function is scalar is determined by the rules described in the '''Vectorisation Avoidance''' paper. 
     11 
     12Secondly, if a variable `f` is accompanied by a pragma of the form 
    1113{{{ 
    1214{-# VECTORISE f = e #-}