Skip to:Content
|
Bottom
Cover image for Parallel computing in quantum chemistry
Title:
Parallel computing in quantum chemistry
Personal Author:
Publication Information:
Boca Raton : CRC Press, 2008
Physical Description:
210 p. : ill. ; 25 cm.
ISBN:
9781420051643
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010200260 QD462.6.D38 J36 2008 Open Access Book Book
Searching...

On Order

Summary

Summary

An In-Depth View of Hardware Issues, Programming Practices, and Implementation of Key Methods

Exploring the challenges of parallel programming from the perspective of quantum chemists, Parallel Computing in Quantum Chemistry thoroughly covers topics relevant to designing and implementing parallel quantum chemistry programs.

Focusing on good parallel program design and performance analysis, the first part of the book deals with parallel computer architectures and parallel computing concepts and terminology. The authors discuss trends in hardware, methods, and algorithms; parallel computer architectures and the overall system view of a parallel computer; message-passing; parallelization via multi-threading; measures for predicting and assessing the performance of parallel algorithms; and fundamental issues of designing and implementing parallel programs.

The second part contains detailed discussions and performance analyses of parallel algorithms for a number of important and widely used quantum chemistry procedures and methods. The book presents schemes for the parallel computation of two-electron integrals, details the Hartree-Fock procedure, considers the parallel computation of second-order Møller-Plesset energies, and examines the difficulties of parallelizing local correlation methods.

Through a solid assessment of parallel computing hardware issues, parallel programming practices, and implementation of key methods, this invaluable book enables readers to develop efficient quantum chemistry software capable of utilizing large-scale parallel computers.


Author Notes

Janssen, Curtis L.; Nielsen, Ida M. B.


Table of Contents

I Parallel Computing Concepts and Terminology
1 Introductionp. 3
1.1 Parallel Computing in Quantum Chemistry: Past and Presentp. 4
1.2 Trends in Hardware Developmentp. 5
1.2.1 Moore's Lawp. 5
1.2.2 Clock Speed and Performancep. 6
1.2.3 Bandwidth and Latencyp. 7
1.2.4 Supercomputer Performancep. 8
1.3 Trends in Parallel Software Developmentp. 10
1.3.1 Responding to Changes in Hardwarep. 10
1.3.2 New Algorithms and Methodsp. 10
1.3.3 New Programming Modelsp. 12
Referencesp. 13
2 Parallel Computer Architecturesp. 17
2.1 Flynn's Classification Schemep. 17
2.1.1 Single-Instruction, Single-Datap. 17
2.1.2 Single-Instruction, Multiple-Datap. 18
2.1.3 Multiple-Instruction, Multiple-Datap. 18
2.2 Network Architecturep. 19
2.2.1 Direct and Indirect Networksp. 19
2.2.2 Routingp. 20
2.2.3 Network Performancep. 23
2.2.4 Network Topologyp. 25
2.2.4.1 Crossbarp. 26
2.2.4.2 Ringp. 27
2.2.4.3 Mesh and Torusp. 27
2.2.4.4 Hypercubep. 28
2.2.4.5 Fat Treep. 28
2.2.4.6 Busp. 30
2.2.4.7 Ad Hoc Gridp. 31
2.3 Node Architecturep. 31
2.4 MIMD System Architecturep. 34
2.4.1 Memory Hierarchyp. 35
2.4.2 Persistent Storagep. 35
2.4.2.1 Local Storagep. 37
2.4.2.2 Network Storagep. 37
2.4.2.3 Trends in Storagep. 38
2.4.3 Reliabilityp. 38
2.4.4 Homogeneity and Heterogeneityp. 39
2.4.5 Commodity versus Custom Computersp. 40
2.5 Further Readingp. 42
Referencesp. 43
3 Communication via Message-Passingp. 45
3.1 Point-to-Point Communication Operationsp. 46
3.1.1 Blocking Point-to-Point Operationsp. 46
3.1.2 Non-Blocking Point-to-Point Operationsp. 47
3.2 Collective Communication Operationsp. 49
3.2.1 One-to-All Broadcastp. 50
3.2.2 All-to-All Broadcastp. 51
3.2.3 All-to-One Reduction and All-Reducep. 54
3.3 One-Sided Communication Operationsp. 55
3.4 Further Readingp. 56
Referencesp. 56
4 Multi-Threadingp. 59
4.1 Pitfalls of Multi-Threadingp. 61
4.2 Thread-Safetyp. 64
4.3 Comparison of Multi-Threading and Message-Passingp. 65
4.4 Hybrid Programmingp. 66
4.5 Further Readingp. 69
Referencesp. 70
5 Parallel Performance Evaluationp. 71
5.1 Network Performance Characteristicsp. 71
5.2 Performance Measures for Parallel Programsp. 74
5.2.1 Speedup and Efficiencyp. 74
5.2.2 Scalabilityp. 79
5.3 Performance Modelingp. 80
5.3.1 Modeling the Execution Timep. 80
5.3.2 Performance Model Example: Matrix-Vector Multiplicationp. 83
5.4 Presenting and Evaluating Performance Data: A Few Caveatsp. 86
5.5 Further Readingp. 90
Referencesp. 90
6 Parallel Program Designp. 93
6.1 Distribution of Workp. 94
6.1.1 Static Task Distributionp. 95
6.1.1.1 Round-Robin and Recursive Task Distributionsp. 96
6.1.2 Dynamic Task Distributionp. 99
6.1.2.1 Manager-Worker Modelp. 99
6.1.2.2 Decentralized Task Distributionp. 101
6.2 Distribution of Datap. 101
6.3 Designing a Communication Schemep. 104
6.3.1 Using Collective Communicationp. 104
6.3.2 Using Point-to-Point Communicationp. 105
6.4 Design Example: Matrix-Vector Multiplicationp. 107
6.4.1 Using a Row-Distributed Matrixp. 108
6.4.2 Using a Block-Distributed Matrixp. 109
6.5 Summary of Key Points of Parallel Program Designp. 112
6.6 Further Readingp. 114
Referencesp. 114
II Applications of Parallel Programming in Quantum Chemistry
7 Two-Electron Integral Evaluationp. 117
7.1 Basics of Integral Computationp. 117
7.2 Parallel Implementation Using Static Load Balancingp. 119
7.2.1 Parallel Algorithms Distributing Shell Quartets and Pairsp. 119
7.2.2 Performance Analysisp. 121
7.2.2.1 Determination of the Load Imbalance Factor k(p)p. 122
7.2.2.2 Determination of [mu] and [sigma] for Integral Computationp. 123
7.2.2.3 Predicted and Measured Efficienciesp. 124
7.3 Parallel Implementation Using Dynamic Load Balancingp. 125
7.3.1 Parallel Algorithm Distributing Shell Pairsp. 126
7.3.2 Performance Analysisp. 128
7.3.2.1 Load Imbalancep. 128
7.3.2.2 Communication Timep. 128
7.3.2.3 Predicted and Measured Efficienciesp. 129
Referencesp. 130
8 The Hartree-Fock Methodp. 131
8.1 The Hartree-Fock Equationsp. 131
8.2 The Hartree-Fock Procedurep. 133
8.3 Parallel Fock Matrix Formation with Replicated Datap. 135
8.4 Parallel Fock Matrix Formation with Distributed Datap. 138
8.5 Further Readingp. 145
Referencesp. 146
9 Second-Order Moller-Plesset Perturbation Theoryp. 147
9.1 The Canonical MP2 Equationsp. 147
9.2 A Scalar Direct MP2 Algorithmp. 149
9.3 Parallelization with Minimal Modificationsp. 151
9.4 High-Performance Parallelizationp. 154
9.5 Performance of the Parallel Algorithmsp. 158
9.6 Further Readingp. 164
Referencesp. 164
10 Local Moller-Plesset Perturbation Theoryp. 167
10.1 The LMP2 Equationsp. 167
10.2 A Scalar LMP2 Algorithmp. 169
10.3 Parallel LMP2p. 170
10.3.1 Two-Electron Integral Transformationp. 171
10.3.2 Computation of the Residualp. 173
10.3.3 Parallel Performancep. 174
Referencesp. 177
Appendices
A A Brief Introduction to MPIp. 181
B Pthreads: Explicit Use of Threadsp. 189
C OpenMP: Compiler Extensions for Multi-Threadingp. 195
Indexp. 205
Go to:Top of Page