Performance Portability and Programmability for Heterogeneous Many-core Architectures - PEPPHER
The emergence of highly parallel, heterogeneous, many-core processors poses major challenges to the European software industry. It is imperative that future many-core architectures can be fully exploited without starting from scratch with each new design. In particular, there is an urgent need for techniques for efficient, productive and portable programming of heterogeneous many-core systems.
PEPPHER will devise a unified framework for programming and optimizing applications for architecturally diverse, heterogeneous many-core processors to ensure performance portability.
PEPPHER will advance state-of-the-art in its five technical work areas:
1) methods and tools for component-based software;
2) portable compilation techniques;
3) adaptive, auto-tuned algorithms and data structures;
4) efficient, flexible run-time systems;
5) hardware support mechanisms for auto-tuning, synchronization and scheduling.
PEPPHER is unique in proposing direct compilation to the target architectures. Portability is supported by powerful composition methods and a toolbox of adaptive algorithms. Heterogeneity is further managed by advanced auto-tuning mechanisms and efficient run-time schedulers. The PEPPHER framework will thus ensure that applications execute with maximum efficiency on each supported platform.