Alumni Project

PERC Collaborations with SciDAC Scientific Projects

PI: David H. Bailey (LBNL); Co-PIs: Bronis de Supinski (LLNL), Jack Dongarra (U. Tenn.), Thomas Dunigan (ORNL), Paul Hovland (ANL), Jeffrey Hollingsworth (U. Mar.), Boyanna Norris (ANL), Daniel Quinlan (LLNL), Celso Mendes (U. Ill.), Shirley Moore (U. Tenn.), Daniel Reed (U. Ill.), Allan Snavely (SDSC), Erich Strohmaier (LBNL), Jeffrey Vetter (LLNL), Patrick Worley (ORNL); SciDAC ISICs: David Brown (TSTT); Phil Colella (APDEC), David Keyes (TOPS); SciDAC Applications: Donald Batchelor (WPI), Mark Gordon (EST), Kwok Ko (AST), Anthony Mezzacappa (TSI), Robert Malone (CCSM), Robert Sugar (QCD)

Summary

In support of SciDAC computational science projects, the Performance Evaluation Research Center (PERC) includes outreach activities. These activities accelerate both the development of SciDAC application codes that run efficiently on high performance computing systems and PERC research in performance tools, modeling, and optimization.

Close collaborations with the SciDAC computational science projects and with other Integrated Software Infrastructure Centers (ISICs) are vital to the success of the PERC research agenda. These collaborations provide motivation and feedback for PERC researchers, and assure the relevance of the research to the goal of improving the performance of SciDAC application codes on high performance computing (HPC) systems. The collaborations also enable PERC to contribute directly to the computational science projects, accelerating progress in achieving science goals.

Numerous mechanisms exist for SciDAC computational science projects to learn about and exploit PERC capabilities.

  • Performance tools, papers, and results are freely available from the PERC web site http://perc.nersc.gov.
  • Tutorials are offered describing both evaluation and optimization methodologies and how to use the performance tools.
  • Presentations on PERC research are made at national meetings and at SciDAC computational science project meetings.
For certain SciDAC projects, PERC also assigns one or more liaisons to work closely with the project. The form of interaction varies with the computational science project, but typical activities include:
  • Application benchmarks. Application codes and problem specifications are identified that can be used as performance benchmarks. These codes represent the computational needs of the science project. Application teams can utilize the analyses and optimization of these codes to improve the performance or accelerate the development of the production scientific codes.
  • Application benchmarking. Performance data are collected and analyzed from runs of the benchmark codes on HPC systems. These data are used to determine what computer resources or performance improvements are needed to achieve the science goals.
  • Optimization. Performance tools are used to identify performance bottlenecks. The liaisons then work with the application developers to determine how performance can be improved.
  • Modeling. Performance models of the application benchmarks are generated, to predict performance for different problem specifications or HPC systems.
These liaisons also further PERC research with the following activities:
  • Kernel benchmarks. Full application codes are often too large for tools or techniques in early development. The identification and extraction of representative kernels from the full application codes allows PERC researchers to base their work on relevant examples.
  • Tool evaluation. The liaisons use the latest versions of the PERC performance tools on the application and kernel benchmarks, reporting successes and problems to the tool developers.
  • Technology transfer. These liaisons also ensure that performance results and performance tuning methodoloeis generated within PERC are communicated back to the computational science projects.

A typical example is the collaboration between PERC and the SciDAC project “Collaborative Design and Development of the Community Climate System Model for Terascale Computers” (http://www.osti.gov/scidac/ber/projects/malone.html). PERC collaboration with this project initially focused on benchmarking and performance analysis. Since the June, 2002 release of the Community Climate System Model CCSM2.0, PERC has worked with the developers to package and release benchmark versions of the Community Atmospheric Model (CAM) and the Parallel Ocean Program (POP), the atmosphere and ocean components of CCSM. These have been used in extensive benchmarking activities. In particular, PERC has collected performance data that has determined the prioritization of the performance optimization efforts within the computational science project, motivating the performance improvements in CAM displayed in Figure 1. These improvements, which include load balanced parallel decompositions, addition of OpenMP threading and improved interprocessor communication algorithms in the dynamics and the land submodels, significantly improve the code’s scalability as well as doubling performance at 64 processors.

figure 1
Figure 1. Performance Evolution of the Community Atmospheric Model

PERC plans to continue tracking the performance and scalability of CAM and POP and advising on performance optimizations. At the request of the computational scientists, an effort has also begun to generate a performance model for POP that will be used for experiment planning and for motivating future performance optimization efforts.

Other close collaborations exist between PERC and computational science projects in high energy physics, fusion sciences, and chemical sciences, and with the other ISICs, as described at http://perc.nersc.gov/. These collaborations are listed in the PERC overview report.

For further information please contact:
Dr. Patrick H. Worley, PERC Project Lead for Benchmarking and Infrastructure
Oak Ridge National Laboratory
Tel: 865-574-3128 Em: worlepyh@orn.gov

back to project page

 


Home  |  ASCR  |  Contact Us  |  DOE disclaimer