The complexity of modern scientific simulations combined with the complexity of the high-performance computer hardware on which they run places an ever-increasing burden on scientific software developers, with clear impacts on both productivity and performance. We argue that raising the level of abstraction of the programming model/environment is a key element of addressing this situation. We present examples of two distinctly different approaches to raising the level of abstraction of the programming model while maintaining or increasing performance: the Tensor Contraction engine, a narrowly-focused domain specific language together with an optimizing compiler; and Extended Global Arrays, a programming framework that integrates programming models dealing with different layers of the memory/storage hierarchy using compiler analysis and code transformation techniques.
Revised: September 7, 2004 |
Published: February 14, 2004
Citation
Bernholdt D.E., J. Nieplocha, and P. Sadayappan. 2004.Raising the Level of Programming Abstraction in Scalable Programming Models. In Proceedings of the
First Workshop on Productivity and Performance in High-End Computing (PPHEC-04). February 14, 2004, Madrid, Spain, 76-84. Madrid:IEEE Computer Society. PNNL-SA-40570.