Parallel Science and Engineering Applications: The Charm++ Approach

Laxmikant V. Kale, Abhinav Bhatele

October 28, 2013 by CRC Press
Reference - 314 Pages - 123 B/W Illustrations
ISBN 9781466504127 - CAT# K14509
Series: Series in Computational Physics

USD$110.95

Add to Wish List
FREE Standard Shipping!

Features

  • Focuses on the application of Charm++, a widely used parallel programming system based on C++
  • Examines a range of applications, including molecular dynamics, cosmology, quantum chemistry, fracture simulations, and weather modeling
  • Provides an introduction to Charm++ and its applications for both developers and users
  • Discusses parallel design considerations, methodology, and challenges, and illustrates the use of various features of Charm++ via a series of examples
  • Reviews the CharmDebug debugger, the Projections performance analysis, and visualization suite: the tools for debugging and performance analysis of Charm++ programs

Summary

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.