Changes between Version 49 and Version 50 of DataParallel/VectPragma
 Timestamp:
 Oct 15, 2012 1:22:12 AM (3 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

DataParallel/VectPragma
v49 v50 8 8 Given 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. 9 9 10 However, if a variable `f` is accompanied by a pragma of the form 10 We 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 12 Secondly, if a variable `f` is accompanied by a pragma of the form 11 13 {{{ 12 14 {# VECTORISE f = e #}