Treating a User-Defined Parallel Library as a Domain-Specific Language

  • Authors:
  • Daniel J. Quinlan;Brian Miller;Bobby Philip;Markus Schordan

  • Affiliations:
  • -;-;-;-

  • Venue:
  • IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The software crisis within scientific computing has been that application codes become larger and more complex. The only conceivable solution is to make application codes smaller and less complex. We know of no way to resolve this crisis, except to make each line of code mean more; this is the process of defining high-level abstractions. Achieving high-performance from high-level abstractions represents an essential key to simplifying scientific software.This paper presents several high-level abstractions used within scientific computing. These abstractions are part of multiple object-oriented libraries and represent complex and precise semantics. In each case the semantics of the abstraction is user-defined and ignored by the compilation process at a significant performance penalty for the application code. Our research work presents a mechanism to analyze and optimize the use of high-level abstractions within scientific applications. In this paper, we show that the high-level abstractions are not just significantly easier to use in the development of application code but can be made to perform equivalently to hand-coded C and Fortran. Our research work shows how to effectively treat any object-oriented library and its abstractions as if it where a domain-specific language with equivalent builtin types and specialized compile-time analysis and optimizations. With acceptable performance of high-level abstractions within scientific software, we expect that application codes can be made smaller and less complex; allowing much more complex applications to be built in the future.