# Presentation: 879230

## How the Common Component Architecture (CCA) Advances Computational Science

- The CCA Forum **and the** Center for Technology for Advanced Scientific Component Software (TASCS)

- See companion presentation: ***An Overview of the Common Component Architecture (CCA)***

## CCA’s impact is as diverse as the applications in HPC

**CCA in single codes for extra flexibility**
**CCA to combine incompatible codes**
**CCA to develop community standards ****(and deliver interchangeable codes)**
**CCA a la carte: using parts ****of CCA technology**
**CCA to bridge frameworks**
**CCA’s conceptual impact**

- A recent survey found 25 applications using CCA in a variety of ways.

**“****There are a b’jillion references to CCA at this HPDC/Compframe workshop... These are all Europeans we haven’t met before.”**
- -- Rob Armstrong, Paris

***Ask a CCA team member for more information about the projects mentioned in the following slides***

## CCA in single codes for increased flexibility

| Application | Project | Contact |
| --- | --- | --- |
| Combustion | CFRFS | Jaideep Ray, Sandia |
| Chemistry | NWChem and global arrays | Theresa Windus, Iowa State U. |
| Subsurface transport | PSE compiler | Jan Prins, UNC Chapel Hill |
| Geomagnetics | –  | Shujia Zhou, NASA Goddard |
| Performance monitoring | TAU | Sameer Shende, U. Oregon |
| Sparse linear algebra | Sparskit-CCA | Masha Sosonkina, Ames Lab |

## Example: CCA in combustion

**Toolkit of 60+ components for flexible simulation of chemically reacting flow problems**
**Novel high order (4****th**** and 6****th****) discretization for SAMR**
**Extended stability R-K-C integrator developed for ADR on SAMR**
**Five refereed science papers**
**Eight refereed software papers**
**Quantitative study of how components affected their code **

***OH concentration in advective-diffusive-reactive simulation using 4******th****** order Runge-Kutta-Chebyshev integrator on 4 levels of AMR***

- Courtesy of Jaideep Ray, Sandia National Laboratories

## CCA to combine previously incompatible codes

| Application | Project | Contact |
| --- | --- | --- |
| Quantum chemistry | GAMESS, MPQC, and NWChem Interoperability | Curtis Janssen, Sandia Mark Gordon or Theresa Windus, Iowa State U. |
| Nuclear power plant training simulation | –  | M. Diaz, U. Malaga, Spain |
| Fusion | DistComp | Nanbor Wang, Tech-X Corp. |
| Radio astronomy | eMiriad | Athol Kemball, UIUC |

## Example: Quantum chemistry

*Courtesy of Curtis Janssen and Joe Kenny, SNL*

- Building better instruments for scientific inquiry by integrating best-in-class software packages

**Solver**
***u*****i+**** = *****u*****i**** + ********s ...**

**Build options**

**U****i+1**
**(Visualization)**

**User Input**

***U*****i+1**

**f*****,g,H***

**Linear**
**Algebra**

**Model**

**U****i+1**

**f,g,H**

***g,H***

***s***

**GUI**

**Builder**
- Construct application using
- framework builder services

**GA Linear**
**Algebra Factory**

**PETs Linear**
**Algebra Factory**

**MPQC**
**Model Factory**

**NWChem**
**Model Factory**

- Chemistry Components
- Mathematics Components
- Infrastructure
- SIDL Classes

**f**  energy
**u**  catesian coordinates
***u***  internal coordinates
**g**  gradient in cartesians
***g***  gradient in internals
**H**  Hessian in cartesians
***H***  Hessian in internals
***s***   update in internals

**Coordinate Model**
**perform transformations**

## CCA to develop community standards

| Application | Project | Contact |
| --- | --- | --- |
| Meshing | TSTT | Lori Diachin, LLNL |
| Solvers | TOPS | Barry Smith, Argonne |
|  |  |  |
| ... and applications using these interfaces |  |  |
| Cell biology | VMCS (using TSTT) | Harold Trease, PNNL |
| Fusion | FACETS | Stefan Muszala, Tech-X Corp. |
| Chemistry | GAMESS-CCA
(NWChem and MPQC) | Masha Sosonkina, Ames Lab |

## CCA a la carte:Using parts of CCA technology

| Application | Project | CCA Aspect | CCA Tools | Contact |
| --- | --- | --- | --- | --- |
| Combustion | CFRFS | Parallel framework | Ccaffeine | Jaideep Ray, Sandia |
| Electron effects | CMEE | Language interoperability | Babel | Peter Stoltz, Tech-X Corp. |
| Material science | PSI | RMI framework | Babel | John May, LLNL |
| Computer-assisted source refactoring | CASC | Language interoperability | Babel | Dan Quinlan, LLNL |
| Fusion | FMCFM | Language interoperability | Babel | Johann Carlsson, Tech-X Corp. |
| Solvers | Hypre | Language interoperability | Babel | Jeff Painter, LLNL |

## Example: Multiscale materials science using Babel RMI

*Animation courtesy of **Nathan Barton, LLNL*

**Massively parallel simulation of strain localization on idealized shock-driven cylinders**** **

*Continuum model*** only**
**Material “rings” uniformly**

*Multiscale model*** ****consisting of **continuum model at macroscale** ****coupled with a farm ****of **microscale polycrystal plasticity models** ****running independently ****on same cluster.**
**The intricate ****cross-hatching that ****appears at macroscale is due to the additional microscale physics.**

**Continuum**

**Multiscale**

## Vision: Petascale computing as an ensemble of SPMD jobs         

- Vision: Petascale computing as an ensemble of SPMD jobs

**Processor ID**

**Fine scale response **
**compute farm**

**Ale3d **

**Response**
**master**

**PSI ****overlord**

**Not shown:  ****All processes can RMI overlord and overlord has table of all rank 0 processes **

**Coupler**

**PSI ****daemons**

**Adaptive**
**sampler**

**High-D **
**data **
**cache**

## CCA to connect frameworks

| Framework | Comment |  | Contact |
| --- | --- | --- | --- |
| SCIRun2 | Meta-component bridging |  | Steve Parker, Utah |
| Legion-CCA | Extended Babel to generate Legion |  | Michael J. Lewis, Binghamton University |
| MOCCA | Personal grid environments (part of Harness) |  | Vaiday Sunderam, Emory University |

*Schematic of framework and component interoperability enabled by the SCIRun2 framework*

- Courtesy of Steve Parker, University of Utah

## CCA’s conceptual impact

| Application | Project | Contact |
| --- | --- | --- |
| Climate | ESMF | Nancy Collins, NCAR |
| Astrophysics | TSI | Doug Swesty, SUNY Stony Brook |

- ESMF high-level architecture
- http://www.esmf.ucar.edu

**“****I have become a complete convert to the idea of component-oriented design and it is now foremost in my mind when it comes to software architecture planning.”  **
**-- Doug Swesty, SUNY Stony Brook**

- ESMF Superstructure
- App Driver
- Component Classes: GridComp, CplComp, State

- ESMF Infrastructure
- Data Classes: Bundle, Field, Grid, Array
- Utility Classes: Clock, Log, Prof, DELayout, Machine

- User Code

## Conclusions

**Components are serious technology for building large-scale codes.**
**CCA accomplishments include these:**
**Delivered technology uniquely applicable for HPC.**
- Demonstrated broad, multidisciplinary application impact.
**Provided technical leadership in new approaches to large-scale software.**
**Vision: build a component ecosystem.**
**Researchers spend more time in the 10% of their code that is of scientific interest.**
**Leverage the other 90% necessary for completeness from other researchers.**

## For more information

**See companion presentation:**** ****  *****An Overview of the Common Component Architecture (CCA)***
**ORNL booth at SC2007**
- David E. Bernholdt, Wael R. Elwasif, James A. Kohl (ORNL)
- Tom Epperly, Gary Kumfert (LLNL)
- Ben Allan, Rob Armstrong, Jaideep Ray (SNL)
**Other booths at SC2007**
- Ames Laboratory (Booth 181**)**
- Argonne National Laboratory (Booth 551**)**
- Indiana University (402)
- NNSA/ASC (1617)
- Pacific Northwest National Laboratory (581)
- Tech-X Corporation (190)
- University of Utah (287)
**On the internet**
- http://www.cca-forum.org
- cca-forum@cca-forum.org