-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Welcome to the polca-toolbox wiki!
Here you can know more about what POLCA is and find all scientific and technical information on POLCA programming model and tools
POLCA stands for Programming Large Scale Heterogeneous Infrastructures
The POLCA project aimed at developping a new approach to jointly address the programmability concerns in embedded systems and high-performance computing. Leveraging mathematical background, POLCA defined annotations and developed a tool box to transform source code for efficient execution on various target architectures (CPUs, GPUs, FPGAs, DSPs).
With the POLCA programming model and tools, programmers can experiment a practical and facilitated way to adapt their application to fit various hardware targets and get better performance at lower power consumption.
POLCA supports source code transformation to target the following languages/platforms:
- OpenCL
- OpenMP + MPI
- MaxJ
- FlexaWare
- VHDL
- C
-
Mathematical background enabling computationnaly efficient algorithmic transformations. more in-depth information on that could be found here:
- Document D2.1: POLCA Mathematical approach & methodologies: this document was initially designed as internal report but was updated to a version that is tightly linked to the other documents below and indeed very useful to better understand them
- Document D2.2: POLCA mathematical foundation
- Document D2.3: POLCA final mathematical models and methods
- Presentation: The math behind POLCA
-
A Programming model: an annotation based approach to express the mathematical nature of the computations expressed in imperative languages. Find more on that in the following documents and links
-
A rich set of tools, released as open source, which enables code generation, analysis, adaptation and transformation. Take a look to:
- Document D4.3: Final set of tools with brief overview on the delivered tools
- Document D4.4: Final POLCA tool box and documentation : a more in-depth description and documentation of the tools
-
Selected application examples an their evaluation results on different hardware targets/platforms. For more insights, refer to
-
Programming model insights
-
Play with POLCA tools