The increasing demand for computing power in fields such as biology, finance, machine learning
is pushing the adoption of reconfigurable hardware in order to keep up with the required performance
level at a sustainable power consumption.
Within this context, FPGA devices represent an interesting solution as they combine the benefits of power efficiency,
performance and flexibility.
Nevertheless, the steep learning curve and experience needed to develop efficient
FPGA-based systems represents one of the main limiting factor for a broad utilization of such devices.

CAOS (CAD as an Adaptive OpenPlatform Service), is a framework which helps the application
designer in identifying acceleration opportunities and guides through the implementation of the final FPGA-based system.
The CAOS platform targets the full stack of the application optimization process,
starting from the identification of the kernel functions to accelerate,
to the optimization of such kernels and to the generation of the runtime management and the
configuration files needed to program the FPGA.