Heterogeneous, accelerator-based computing systems are a promising step towards exascale computing, due to their high performance and power efficiency. However, their wide adoption is hindered by the extreme challenges they pose to programmers, due to the complexity of the architectures, the volatility of the execution environment due to the vast number of possible hardware configurations, the architectural peculiarities, and the difficulty to predict interactions between software and hardware at different levels of the architecture.
The Centaurus project seeks to devise automated analysis techniques and produce the necessary system software infrastructure that will facilitate the widespread adoption of heterogeneous systems and will alleviate many of the programmer concerns. The proposed infrastructure focuses on optimizing the task mapping, the memory managment and the power efficiency.

