Parallel Science and Engineering Applications: The Charm++ Approach (Hardback) book cover

Parallel Science and Engineering Applications

The Charm++ Approach

Edited by Laxmikant V. Kale, Abhinav Bhatele

© 2014 – CRC Press

314 pages | 123 B/W Illus.

Purchasing Options:$ = USD
Hardback: 9781466504127
pub: 2013-10-28
eBook (VitalSource) : 9781466504134
pub: 2016-04-19
from $49.95

FREE Standard Shipping!
e–Inspection Copy


Developed in the context of science and engineering applications, with each abstraction motivated by and further honed by specific application needs, Charm++ is a production-quality system that runs on almost all parallel computers available. Parallel Science and Engineering Applications: The Charm++ Approach surveys a diverse and scalable collection of science and engineering applications, most of which are used regularly on supercomputers by scientists to further their research.

After a brief introduction to Charm++, the book presents several parallel CSE codes written in the Charm++ model, along with their underlying scientific and numerical formulations, explaining their parallelization strategies and parallel performance. These chapters demonstrate the versatility of Charm++ and its utility for a wide variety of applications, including molecular dynamics, cosmology, quantum chemistry, fracture simulations, agent-based simulations, and weather modeling.

The book is intended for a wide audience of people in academia and industry associated with the field of high performance computing. Application developers and users will find this book interesting as an introduction to Charm++ and to developing parallel applications in an asynchronous message-driven model. It will also be a useful reference for undergraduate and graduate courses in computer science and other engineering disciplines. Courses devoted to parallel programming and writing of parallel CSE applications will benefit from this book.


"It succeeds perfectly and combines for the first time both Charm++ and significant application development in a single volume. It will provide a solid foundation for anyone who is considering using the most recent tools for developing applications for future ExascaIe platforms. I highly recommend this timely book for scientists and engineers."

—Horst Simon, Lawrence Berkeley National Laboratory and University of California, Berkeley

Table of Contents

The Charm++ Programming Model

Laxmikant V. Kale and Gengbin Zheng

Design Philosophy

Object-based Programming Model

Capabilities of the Adaptive Runtime System

Extensions to the Basic Model

Charm++ Ecosystem

Other Languages in the Charm++ Family

Historical Notes


Designing Charm++ Programs

Laxmikant V. Kale

Simple Stencil: Using Over-decomposition and Selecting Grainsize

Multi-physics Modules Using Multiple Chare Arrays

SAMR: Chare Arrays with Dynamic insertion and Flexible Indices

Combinatorial Search: Task Parallelism

Other Features and Design Considerations

Utility of Charm++ for Future Applications


Tools for Debugging and Performance Analysis

Filippo Gioachin, Chee Wai Lee, Jonathan Liffander, Yanhua Sun, and Laxmikant V. Kale


Scalable Debugging with CharmDebug

Performance Visualization and Analysis via Projections


Scalable Molecular Dynamics with NAMD

James C. Phillips, Klaus Schulten, Abhinav Bhatele, Chao Mei, Yanhua Sun, Eric Bohm, and Laxmikant V. Kale


Need for Biomolecular Simulations

Parallel Molecular Dynamics

NAMD's Parallel Design

Enabling Large Simulations

Scaling Performance

Simulations Enabled by NAMD


OpenAtom: Ab initio Molecular Dynamics for Petascale Platforms

Glenn J. Martyna, Eric J. Bohm, Ramprasad Venkataraman, Laxmikant V. Kale, and Abhinav Bhatele


Car-Parrinello Molecular Dynamics

Parallel Application Design

Charm++ Feature Development


Impact on Science & Technology

Future Work

N-body Simulations with ChaNGa

Thomas R. Quinn, Pritish Jetley, Laxmikant V. Kale, and Filippo Gioachin


Code Design

Accuracy Tests


Conclusions and Future Work

Remote Visualization of Cosmological Data using Salsa

Orion Sky Lawlor and Thomas R. Quinn


Salsa Client/Server Rendering Architecture

Remote Visualization User Interface

Example Use: Galaxy Clusters

Improving Scalability of BRAMS: a Regional Weather Forecast Model

Eduardo R. Rodrigues, Celso L. Mendes, and Jairo Panetta


Load Balancing Strategies for Weather Models

The BRAMS Weather Model

Load Balancing Approach

New Load Balancer

Fully Distributed Strategies

Experimental Results

Final Remarks

Crack Propagation Analysis with Automatic Load Balancing

Orion Sky Lawlor, M. Scot Breitenfeld, Philippe H. Geubelle, and Gengbin Zheng


Load Balancing Finite Element Codes in Charm++

Cohesive and Elasto-plastic Finite Element Model of Fracture


Contagion Diffusion with EpiSimdemics

Keith R. Bisset, Ashwin M. Aji, Tariq Kamal, Jae-Seung Yeom, Madhav V. Marathe, Eric J. Bohm, and Abhishek Gupta


Problem Description

EpiSimdemics Design

EpiSimdemics Algorithm

Charm++ Implementation

Performance of EpiSimdemics

Representative Study

About the Series

Series in Computational Physics

Learn more…

Subject Categories

BISAC Subject Codes/Headings:
MATHEMATICS / Number Systems
SCIENCE / Physics