Tool : pfor

Active C++ Library for Automatic Parallelisation of Loops

The pfor library uses template metaprogramming, and more specifically the expression templates technique, to provide an EDSL allowing the description of loops and the acquisition of their AST at compile-time. This AST is then analysed to determine which variables are accessed and how. The result of this analysis enables regrouping interdependent instructions and determining for each group if they can be executed in parallel. The corresponding new instructions are thus generated to replace the code written by the developer.

Authors : Alexis PEREDA, Bruno BACHELET, Claude MAZEL, David HILL