Multilevel Parallelism in Computational Chemistry using Common Component Architecture and Global Arrays
Abstract
Development of complex scientific applications for high-end systems is a challenging task. Addressing complexity of software and algorithms involved is becoming increasingly difficult and requires appropriate software engineering approaches to address interoperability, maintenance, and software composition challenges. At the same time, the requirements for performance and scalability to thousand processor configurations magnifies the level of difficulties facing the scientific programmer due to the variable levels of parallelism available in different algorithms or functional modules of the application. The current paper demonstrates how the Common Component Architecture (CCA) can be used in context of computational chemistry to express and manage multi-level parallelism through the use of processor groups. Our target application is NWChem, a large (2.5millions lines of code) suite of computational chemistry algorithms that was developed based on multiple languages (Fortran, C, C++, Python) and programming models (MPI, Global Arrays) approach. The experimental results for numerical Hessian calculation show that multilevel parallelism expressed and managed through the CCA component model can be very effective for improving performance and scalability of NWChem. For example, numerical Hessian calculation using three levels of parallelism outperformed the original version of the NWChem code based on one level parallelism by a factor of 90% whenmore »
- Authors:
- Publication Date:
- Research Org.:
- Pacific Northwest National Lab. (PNNL), Richland, WA (United States). Environmental Molecular Sciences Lab. (EMSL)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 984683
- Report Number(s):
- PNNL-SA-45220
5092; KJ0403000; TRN: US201016%%1422
- DOE Contract Number:
- AC05-76RL01830
- Resource Type:
- Conference
- Resource Relation:
- Conference: Supercomputing 2005, ACM/IEEE Conference, 23
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 99 GENERAL AND MISCELLANEOUS//MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE; ALGORITHMS; COMPUTER ARCHITECTURE; CHEMISTRY; FORTRAN; FUNCTIONALS; MAINTENANCE; PARALLEL PROCESSING; PERFORMANCE; PROGRAMMING; TARGETS; Multillevel Parallelism, Parallel computing, Common Component Architecture, CCA, Global Arrays; Environmental Molecular Sciences Laboratory
Citation Formats
Krishnan, Manoj Kumar, Alexeev, Yuri, Windus, Theresa L, and Nieplocha, Jarek. Multilevel Parallelism in Computational Chemistry using Common Component Architecture and Global Arrays. United States: N. p., 2005.
Web.
Krishnan, Manoj Kumar, Alexeev, Yuri, Windus, Theresa L, & Nieplocha, Jarek. Multilevel Parallelism in Computational Chemistry using Common Component Architecture and Global Arrays. United States.
Krishnan, Manoj Kumar, Alexeev, Yuri, Windus, Theresa L, and Nieplocha, Jarek. 2005.
"Multilevel Parallelism in Computational Chemistry using Common Component Architecture and Global Arrays". United States.
@article{osti_984683,
title = {Multilevel Parallelism in Computational Chemistry using Common Component Architecture and Global Arrays},
author = {Krishnan, Manoj Kumar and Alexeev, Yuri and Windus, Theresa L and Nieplocha, Jarek},
abstractNote = {Development of complex scientific applications for high-end systems is a challenging task. Addressing complexity of software and algorithms involved is becoming increasingly difficult and requires appropriate software engineering approaches to address interoperability, maintenance, and software composition challenges. At the same time, the requirements for performance and scalability to thousand processor configurations magnifies the level of difficulties facing the scientific programmer due to the variable levels of parallelism available in different algorithms or functional modules of the application. The current paper demonstrates how the Common Component Architecture (CCA) can be used in context of computational chemistry to express and manage multi-level parallelism through the use of processor groups. Our target application is NWChem, a large (2.5millions lines of code) suite of computational chemistry algorithms that was developed based on multiple languages (Fortran, C, C++, Python) and programming models (MPI, Global Arrays) approach. The experimental results for numerical Hessian calculation show that multilevel parallelism expressed and managed through the CCA component model can be very effective for improving performance and scalability of NWChem. For example, numerical Hessian calculation using three levels of parallelism outperformed the original version of the NWChem code based on one level parallelism by a factor of 90% when running on 256 processors.},
doi = {},
url = {https://www.osti.gov/biblio/984683},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Wed Jun 01 00:00:00 EDT 2005},
month = {Wed Jun 01 00:00:00 EDT 2005}
}