Skip to content

POLCA tool box overview

Lotfi G edited this page Dec 22, 2016 · 2 revisions

The set of tools provided by POLCA consists of the following components. Click links for more details.

The C source to source transformation tool is a program transformation environment, implemented in Haskell, where architecture-agnostic scientific C code with semantic annotations is transformed into functionally equivalent code better suited for a given platform.

The Haskell transformations tool consists of two parts:

  • H2H: Haskell-to-Haskell transformations, which realize mathematical equivalences of algorithmic structures into actual transformations of Haskell code,

  • H2C: Haskell-to-C transformations, to generate C-code from specifications in Haskell of algorithmic structures.

POGADE (POlca Graph Analysis & Development Environment) is a tool that makes it possible to visualize the syntactic structure of POLCA-anotated C code.

The PoRoTo tool automatises several tasks related to the compilation of C code and aimed at its execution on FPGAs.

The machine learning component provides strategies to guide (automatically) the transformation process implemented by the source-to-source transformation engine.

The SmartDriver comprises a set of tools and libraries that allow the static and dynamic instrumentation, profiling and run-time control of applications.

SDFpy (also called pySDF) DFpy is a library for the management and analysis of synchronous dataflow graphs, written in Python. Synchronous dataflow (SDF) graphs model stream processing systems.

Maxeler provides a proprietary hardware and software solutions (MaxCompiler, SLiC, MaxelerOS and MaxIDE) for accelerating computing applications on dataflow engines (DFEs).

FlexaWare is an embedded heterogeneous many-core processing platform, comprising a many-core hardware architecture and a many-core coordination software layer. FlexaWare has been developed by Recore Systems as proprietary tool

POLCA tools diagram