TRACO   an automatic parallelizing and optimizing compiler

based on the transitive closure of dependence graphs

The TRACO compiler is an implementation of loop parallelization algorithms developed by Prof. Wlodzimierz Bielecki and prof. assistant Marek Palkowski team at the West Pomeranian University of Technology. The engine of transitive closure is implemented by Tomasz Klimek. The tool realizes automatic parallelizing and tiling for program loops source-to-source optimization based on the transitive closure of dependence graphs. TRACO is based on the ISL library and Presburger arithmetic. Loop dependence analysis is calculated by means of the Petit tool. Code generation can be realized by Barvinok/CLOOG or ISL/AST. Details of basic transformations can be found in below:

  • iteration space slicing
  • free-scheduling
  • loop tiling
Trasitive closure, source wikipedia