Book contents
- Frontmatter
- Contents
- Preface to the first edition
- Preface to the second edition
- About the software
- 1 Introduction
- 2 Basic molecular dynamics
- 3 Simulating simple systems
- 4 Equilibrium properties of simple fluids
- 5 Dynamical properties of simple fluids
- 6 Alternative ensembles
- 7 Nonequilibrium dynamics
- 8 Rigid molecules
- 9 Flexible molecules
- 10 Geometrically constrained molecules
- 11 Internal coordinates
- 12 Many-body interactions
- 13 Long-range interactions
- 14 Step potentials
- 15 Time-dependent phenomena
- 16 Granular dynamics
- 17 Algorithms for supercomputers
- 18 More about software
- 19 The future
- Appendix
- References
- Function index
- Index
- Colophon
17 - Algorithms for supercomputers
Published online by Cambridge University Press: 28 February 2011
- Frontmatter
- Contents
- Preface to the first edition
- Preface to the second edition
- About the software
- 1 Introduction
- 2 Basic molecular dynamics
- 3 Simulating simple systems
- 4 Equilibrium properties of simple fluids
- 5 Dynamical properties of simple fluids
- 6 Alternative ensembles
- 7 Nonequilibrium dynamics
- 8 Rigid molecules
- 9 Flexible molecules
- 10 Geometrically constrained molecules
- 11 Internal coordinates
- 12 Many-body interactions
- 13 Long-range interactions
- 14 Step potentials
- 15 Time-dependent phenomena
- 16 Granular dynamics
- 17 Algorithms for supercomputers
- 18 More about software
- 19 The future
- Appendix
- References
- Function index
- Index
- Colophon
Summary
Introduction
The previous chapters concentrated on translating physical problems into practical simulations. Computational efficiency, beyond the use of cells and neighbor lists (as well as hierarchical subdivision when appropriate), received little attention. For ‘conventional’ computers, there is not a great deal more that the average user can do in this respect, assuming that a reasonably effective programming style has been adopted. This attitude is no longer adequate when modern, high performance, multiprocessor machines are to serve as the platforms for large-scale simulation.
In this chapter we focus on ways of adapting the basic MD approach to take advantage of advanced computer architectures; since enhanced performance comes not only from a faster processor clock cycle, but also from a number of fundamental changes in the way computers process data, this is a subject that cannot be ignored. The subject is also a relatively complex one and, at best, only peripheral to the goals of the practicing simulator. We will therefore not delve too deeply into the issues involved, but will merely focus on three examples, all of which can be valuable for large-scale MD simulation; the first employs message-passing parallelism, the second involves parallelism achieved by the use of computational threads and shared memory, and the third demonstrates how to rearrange data to achieve effective vector processing.
The quest for performance
It comes as no surprise to learn that spreading a computational task over several processors is a way to complete the job sooner.
- Type
- Chapter
- Information
- The Art of Molecular Dynamics Simulation , pp. 446 - 480Publisher: Cambridge University PressPrint publication year: 2004