Programming Abstractions for the Exascale Era
TimeWednesday, June 24th9am - 9:30am
DescriptionThe architecture of the very first Exascale computers is known by now. It will consist of compute nodes with multiple accelerators each. In hindsight this is not a surprise and we have found a way to program them. Actually, we found more than one way. Some of them are alternatives with pros and cons. Some of them work only for one type of accelerator while others are portable. All of the intra-node programming models need to be combined with an inter-node parallel programming model.
This talk will look at the challenges for parallel programming in this setting and discuss how programming abstractions can be a suitable solution strategy. It will show how code can be transformed to the most appropriate accelerator programming model for the hardware at hand. It will also show how transformations of data layouts in memory need to be part of the code transformation to adequately address the deep and complex memory hierarchies. Finally, it will give an outlook how such abstractions can be applied to distributed data structures and how fault-tolerance mechanisms can be added.