Concepedia

Publication | Closed Access

The ROSE Source-to-Source Compiler Infrastructure

61

Citations

1

References

2011

Year

Abstract

The development of future software for proposed new computer architectures is expected to make significant demands on compiler technologies. Significant rewriting of applications will be likely to support the use of new hardware features and preserve the current software investment. Existing compilers provide little support for the broad range of research efforts addressing exascale challenges, such as parallelism, locality, resiliency, power efficiency, etc. The economics of how new machines will change an existing code base of software, that is too expensive to manually rewrite, may well drive automated mechanisms to transform existing software to take advantage of future machine features. This approach will lessen the cost and delay of the move to new, and possibly radically different, future architectures. Source-to-source compilers provides a pragmatic vehicle to support research, development, and deployment of novel compiler technologies by compiler experts or even advanced application developers. Within a source-to-source approach the input source code is read by the compiler, an internal representation (IR) is constructed, the IR is the basis of analysis that is used to guide transformations, the transformations occur on the IR, the IR is used to regenerate new source code, which is then compiled by a backend compiler. Our source-to-source compiler, ROSE, is a project to support the requirements of DOE. Work on ROSE has focused on the development of a community based project to define source-to-source compilation for a broad range of languages especially targeted at DOE applications (addressing robustness and large scale codes as required for DOE applications). Novel research areas are most easily supported when they can leverage significant tool chains that interact and use source code while allowing the hardware vendor’s own compiler for low level optimizations. In fact, high level optimization are rarely feasible for existing low level compilers for common languages such as C, C++, and Fortran. ROSE addresses the economics of how compiler research can be moved closer to the audience with significant technical performance problems and for whom the hardware is likely to be changing significantly in the next decade. Within ROSE it is less the goal to solve all problems than to permit domain experts to better solve their own problems. This talk will focus on the design and motivation for ROSE as an open community source-to-source compiler infrastructure to support performance optimization, tools for analysis, verification and software assurance, and general cus

References

YearCitations

Page 1