High-end computer architectures continue to evolve in order to provide unprecedented levels of application performance, while reducing power utilization. The compute power of individual nodes continues to grow, with increasing core counts, potential heterogeneity and a deep memory hierarchy.
Probably no interface for exascale systems has been more hotly debated than that of the programming models that will be used to create application codes on these exceptionally complex platforms. An evolutionary path based on MPI, possibly in conjunction with directives, has been proposed, as have new “revolutionary” programming models. In this presentation, we discuss the status of directive-based multicore / many core programming interfaces in this context and the challenges that lie ahead for them.