Current high-end applications usually exploit just a fraction of the theoretical performance of large platforms. Interactions among the hardware, system software, programming interface, and algorithm are extremely complex, and the implications for development of hybrid MPI+OpenMP Fortran/C/C++ applications are challenging. The emerging generation of machines will be even more complex, as will the applications that exploit them. Typical application development and tuning scenarios involve the manual and separate use of compilers and performance tools, and program modifications based upon insights laboriously gleaned from their output. In this proposal, we intend to raise the quality of the application development and tuning process by creating an integrated environment for program optimization that reduces the manual labor and guesswork of existing approaches. We will develop strategies and the corresponding interfaces that enable the application developer, compiler and performance tools to collaborate to generate optimized code based upon a variety of sources of feedback, including performance data from .offline. development runs as well as from .online. production runs. We will build and deploy a flexible, working system that combines robust, existing, open source software . a compiler, a program analysis tool and two performance tools with complementary features - into a single, coherent environment for collaborative static and dynamic application tuning. Application codes of varying complexity supplied by our application partner will motivate our development work as well as test and demonstrate our results. The result will be a powerful, integrated environment that can be used to obtain traditional performance data via program monitoring, event tracing and/or the extraction of hardware counter information, and to obtain support for the static or dynamic tuning of an application code.

Intellectual Merit The proposed environment integrates several different existing technologies to provide a new level of support for optimizing hybrid MPI+OpenMP codes. Support for experimentation with the hybrid programming model is provided. The range of information that may be exploited by the compiler to optimize code is expanded to cover many system and application-level phenomena and a variety of optimization scenarios. Interactions between tools will facilitate the provision of an approach that is able to handle extreme-scale computations. Integration issues will be addressed with the goal of creating a deployable, extensible system.

Broader Impacts The tools, ideas, and results of this project will be freely distributed and made available to the HPC community, nationally and internationally. Besides the general dissemination of results, the project has strong ties to performance engineering experts at NCSA. The tools will be installed on NCSA systems for testing and evaluation and will be made available to other users. The research brings together compiler, performance tool, and application developers, enriching the research experience of graduate students to create a well-rounded IT workforce. The PI is active in the OpenMP community and the project team has close working relationships with DOE and DOD. New knowledge generated will be integrated into advanced graduate coursework.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
0444407
Program Officer
Almadena Y. Chtchelkanova
Project Start
Project End
Budget Start
2004-11-01
Budget End
2008-04-30
Support Year
Fiscal Year
2004
Total Cost
$93,060
Indirect Cost
Name
University of Illinois Urbana-Champaign
Department
Type
DUNS #
City
Champaign
State
IL
Country
United States
Zip Code
61820