07 May 2016

PPCG 0.06 was released containing various changes:

  • Use PPCG specific macro names in generated code

    The names for macros inside isl AST expression now have a ppcg_ prefix to avoid conflicts with other symbols.

  • Complete transition to schedule trees

    In particular, the last remaining use of nested AST generation has been removed. AST expressions for affine expressions are now also built within the context where they will appear, allowing them to exploit this context for simplification purposes.

  • Maximize coincidence by default

    In particular, turn on --isl-schedule-maximize-coincidence by default.

  • Map arrays with constant index expressions to private memory

    This allows some code to be mapped to an accelerator that could not be mapped before because of excessive scheduling constraints.

  • Optionally group chains of statements

    Statements that are executed in sequence in the input code and where the second completely depends on the first can now be grouped together. In particular, pairs of consecutive statements where the first writes to a scalar and the second reads from that scalar are grouped together. This reduces the number of statements, reducing the computation time of the scheduler, while not giving up too much scheduling freedom.