Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Large-scale C++ software design
Large-scale C++ software design
Effective C++ (2nd ed.): 50 specific ways to improve your programs and designs
Effective C++ (2nd ed.): 50 specific ways to improve your programs and designs
ScaLAPACK user's guide
Iterative Procedures for Nonlinear Integral Equations
Journal of the ACM (JACM)
UML distilled (2nd ed.): a brief guide to the standard object modeling language
UML distilled (2nd ed.): a brief guide to the standard object modeling language
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
More Effective C++: 35 New Ways to Improve Your Programs and Designs
More Effective C++: 35 New Ways to Improve Your Programs and Designs
Understanding Molecular Simulation: From Algorithms to Applications
Understanding Molecular Simulation: From Algorithms to Applications
An overview of the BlueGene/L Supercomputer
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
Large-scale electronic structure calculations of high-Z metals on the BlueGene/L platform
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
Large scale plane wave pseudopotential density functional theory calculations on GPU clusters
Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis
Optimizing Halley's Iteration for Computing the Matrix Polar Decomposition
SIAM Journal on Matrix Analysis and Applications
Science at LLNL with IBM Blue Gene/Q
IBM Journal of Research and Development
Fast plane wave density functional theory molecular dynamics calculations on multi-GPU machines
Journal of Computational Physics
Hi-index | 0.01 |
We describe the architecture of Qbox, a parallel, scalable first-principles molecular dynamics (FPMD) code. Qbox is a C++/ Message Passing Interface implementation of FPMD based on the plane-wave, pseudopotential method for electronic structure calculations. It is built upon well-optimized parallel numerical libraries, such as Basic Linear Algebra Communication Subprograms (BLACS) and Scalable Linear Algebra Package (ScaLAPACK), and also features an Extensible Markup Language (XML) interface built on the Apache Xerces-C library. We describe various choices made in the design of Qbox that led to excellent scalability on large parallel computers. In particular, we discuss the case of the IBM Blue Gene/L™ platform on which Qbox was run using up to 65,536 nodes. Future design challenges for upcoming petascale computers are also discussed. Examples of applications of Qbox to a variety of first-principles simulations of solid, liquids, and nanostructures are briefly described.