SEPS Panel discussion: Engineering software performance for upcoming heterogeneous computing systems - through programming patterns, runtime systems and tools
Aiming at sustainable performance improvement in the upcoming computing systems composed of tightly coupled heterogeneous components, the use of advanced methods and techniques supporting developers in creating parallel applications or parallelizing and re-engineering sequential legacy applications is essential. Programming patterns for parallel systems are important interfaces that connect programmers with the underlying systems. To generate high performance code from programs written with parallel patterns, tools such as translators or compilers are key enablers for it. Parallel software needs runtime libraries or runtime support, as we will discuss in task-based programming in the tutorial session of the Workshop SEPS 2016. In this panel session, we discuss these cross-layer techniques advancing toward heterogeneous computing systems that could appear in the near future.