Architecture of Qbox: A scalable first-principles molecular dynamics code

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.

[1]  Giulia Galli,et al.  Carbon under extreme conditions: Phase boundaries and electronic properties from first-principles theory , 2006, Proceedings of the National Academy of Sciences of the United States of America.

[2]  Francois Gygi Large-scale first-principles molecular dynamics: moving from terascale to petascale computing , 2006 .

[3]  Steven G. Johnson,et al.  FFTW: an adaptive software architecture for the FFT , 1998, Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP '98 (Cat. No.98CH36181).

[4]  Jack Dongarra,et al.  ScaLAPACK Users' Guide , 1987 .

[5]  Franz Franchetti,et al.  Large-scale electronic structure calculations of high-Z metals on the BlueGene/L platform , 2006, SC.

[6]  Scott Meyers,et al.  More Effective C++: 35 New Ways to Improve Your Programs and Designs , 1995 .

[7]  Mads Torgersen,et al.  The c# programming language, third edition , 2008 .

[8]  W. Kohn,et al.  Self-Consistent Equations Including Exchange and Correlation Effects , 1965 .

[9]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

[10]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[11]  John Stuart Lakos,et al.  Large-Scale C++ Software Design , 1996 .

[12]  R. Dreizler,et al.  Density-Functional Theory , 1990 .

[13]  J. Michel,et al.  Synthesis, Characterization, and Modeling of Nitrogen-Passivated Colloidal and Thin Film Silicon Nanocrystals , 2006, IEEE Journal of Selected Topics in Quantum Electronics.

[14]  Donald G. M. Anderson Iterative Procedures for Nonlinear Integral Equations , 1965, JACM.

[15]  R. Martin,et al.  Electronic Structure: Basic Theory and Practical Methods , 2004 .

[16]  Francois Gygi,et al.  Ab initio simulation in extreme conditions , 2005 .

[17]  Giulia Galli,et al.  Melting of lithium hydride under pressure. , 2003, Physical review letters.

[18]  Francois Gygi,et al.  Towards an assessment of the accuracy of density functional theory for first principles simulations of water. II. , 2004, The Journal of chemical physics.

[19]  Giulia Galli,et al.  A first principles simulation of rigid water. , 2004, The Journal of chemical physics.

[20]  Erik W Draeger,et al.  Towards an assessment of the accuracy of density functional theory for first principles simulations of water. , 2004, The Journal of chemical physics.

[21]  Anatoly B. Belonoshko,et al.  Molecular dynamics of NaCl (B1 and B2) and MgO (B1) melting: Two-phase simulation , 1996 .

[22]  Berend Smit,et al.  Understanding molecular simulation: from algorithms to applications , 1996 .

[23]  David F. Heidel,et al.  An Overview of the BlueGene/L Supercomputer , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[24]  Car,et al.  Unified approach for molecular dynamics and density-functional theory. , 1985, Physical review letters.

[25]  Scott Meyers,et al.  Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) , 1991 .