Reconfigurable computing

Important Links:

Research challenge:

Reconfigurable Computing (RC) is gaining popularity in many different domains. The main advantage of such systems is that they can adapt to static and dynamic application requirements better than those with fixed hardware: for instance encryption designs can often run thousands of times faster (and orders of a magnitude more power efficient) on a single RC device than in software on a powerful mainframe. The research challenges range from technology and architecture, through design tools/methodologies and up to novel programming paradigms, RC-aware runtime systems and compilers. All these challenges can be only attacked in a holistic approach by involving and bringing together Europe’s best HW designers, computer architects, compiler and CAD designers and high-level algorithm developers working on this topic. Only by creating such critical mass, Europe can maintain its leading research position on Reconfigurable Computing.

Initial research topics:

  • RC architecture and micro architecture;
  • RC design tools and tool flows;
  • Runtime and real-time RC systems;
  • RC novel programming paradigms;
  • Energy efficient RC computation;
  • RC enabled application domains.

Planned activities:

  • Workshops and seminars.
  • Organization of the major RC conferences in Europe (FPL, FPT, FCCM, FPGA).
  • Actively promote high-quality publications by the members.
  • Promote collaboration with top groups outside the EU working on the topic.

Coordinating partner: TUD


cTuningCC (Collective Tuning Compiler Collection)

cTuning CC is a free, open source compiler collection that combines multiple tools and techniques including MILEPOST GCC, Interactive Compilation Interface (ICI), Continuous Collective Compilation framework (CCC), cTuning web-services and Collective Optimization Database and cBench to enable R&D toward self-tuning, adaptive computing systems based on industrial tools, empirical techniques, transparent collecti

SoCLib: an open platform for virtual prototyping of multi-processors system on chip

The SoCLib environment allows system-level virtual prototyping of MPSoC platforms: the system designer defines his target architecture template (number and type of processor, number of memory banks, OS, peripherals, interconnects…) and determines the proper hardware/software partitioning of his application. Then, by running simulations for the set of parameters of interest of his template and a mapping of the software on the platform, the designer can obtain figures of merits.

GAUT: From C to RTL

GAUT is an academic and open source High-Level Synthesis (HLS) tool dedicated to Digital Signal Processing DSP applications. Starting from a pure C/C++ function GAUT extracts the potential parallelism before selecting/allocating operators, scheduling and binding operations. The mandatory design constraints are (1) the throughput (the initiation interval), (2) the clock period and (3) the target technology. The optional design constraints are I/O timing diagram and the memory mapping.

Continuous Collective Compilation Framework

Continuous Collective Compilation Framework (CCC) is a collaborative modular plugin-enabled R&D infrastructure to automate program and architecture optimizations using empirical, iterative, statistical and machine learning techniques and simplify performance evaluation and gathering of optimization statistics in the Collective Optimization Database.

MILEPOST GCC with Interactive Compilation Interface

MILEPOST GCC is an open collaborative plugin infrastructure intended to transform popular, stable, production-quality GCC into a powerful R&D tool. MILEPOST GCC is composed of the Interactive Compilation Interface and a static program feature extractor.The Interactive Compilation Interface (or 'ICI' for short) is a plugin system with a high-level compiler-independent and low-level compiler-dependent API to transform current compilers into collaborative open modular interactive toolsets.

Collective Benchmark

Collective Benchmark is a collection of open-source programs with multiple datasets assembled by the community to enable realistic benchmarking, performance evaluation and research on program and architecture optimization. This benchmark can work directly with the Continuous Collective Compilation Framework and Collective Optimization Database to automate iterative feedback-directed compilation, DSE and enable statistical collective optimization.

Collective Optimization Database

Collective Optimization Database (cDatabase) is a collaborative repository with open API to share, reuse and reference useful/profitable optimization cases from the community including compiler optimizations and architecture configurations to improve code execution time, code and architecture size, compilation time, power consumption among others. Special web-services, plugins and cTools are provided/being developed to automate/predict program optimization, compiler tuning and architecture design using empirical iterative compilation, statistical analysis and machine learning techniques. cDatabase is intended to improve the quality of academic research by avoiding costly duplicate experiments and providing reproducible referable results.

Syndicate content