Electronic Structure Calculations on Graphics Processing Units: From Quantum Chemistry to Condensed Matter Physics provides an overview of computing on graphics processing units (GPUs), a brief introduction to GPU programming, and the latest examples of code developments and applications for the most widely used electronic structure methods.
The book covers all commonly used basis sets including localized Gaussian and Slater type basis functions, plane waves, wavelets and real-space grid-based approaches.The chapters expose details on the calculation of two-electron integrals, exchange-correlation quadrature, Fock matrix formation, solution of the self-consistent field equations, calculation of nuclear gradients to obtain forces, and methods to treat excited states within DFT. Other chapters focus on semiempirical and correlated wave function methods including density fitted second order Møller-Plesset perturbation theory and both iterative and perturbative single- and multireference coupled cluster methods.
Electronic Structure Calculations on Graphics Processing Units: From Quantum Chemistry to Condensed Matter Physics presents an accessible overview of the field for graduate students and senior researchers of theoretical and computational chemistry, condensed matter physics and materials science, as well as software developers looking for an entry point into the realm of GPU and hybrid GPU/CPU programming for electronic structure calculations.
List of Contributors xiii
Preface xvii
Acknowledgments xix
Glossary xxi
Abbreviations xxv
1. Why Graphics Processing Units 1Perri Needham, Andreas W. Götz and Ross C. Walker
1.1 A Historical Perspective of Parallel Computing 1
1.2 The Rise of the GPU 5
1.3 Parallel Computing on Central Processing Units 7
1.4 Parallel Computing on Graphics Processing Units 12
1.5 GPU-Accelerated Applications 15
References 19
2. GPUs: Hardware to Software 23Perri Needham, Andreas W. Götz and Ross C. Walker
2.1 Basic GPU Terminology 24
2.2 Architecture of GPUs 24
2.3 CUDA Programming Model 26
2.4 Programming and Optimization Concepts 30
2.5 Software Libraries for GPUs 34
2.6 Special Features of CUDA-Enabled GPUs 35
References 36
3. Overview of Electronic Structure Methods 39Andreas W. Götz
3.1 Introduction 39
3.2 HartreeFock Theory 42
3.3 Density Functional Theory 46
3.4 Basis Sets 49
3.5 Semiempirical Methods 53
3.6 Density Functional Tight Binding 56
3.7 Wave Function-Based Electron Correlation Methods 57
Acknowledgments 60
References 61
4. Gaussian Basis Set HartreeFock, Density Functional Theory, and Beyond on GPUs 67Nathan Luehr, Aaron Sisto and Todd J. Martínez
4.1 Quantum Chemistry Review 68
4.2 Hardware and CUDA Overview 72
4.3 GPU ERI Evaluation 73
4.4 Integral-Direct Fock Construction on GPUs 78
4.5 Precision Considerations 88
4.6 Post-SCF Methods 91
4.7 Example Calculations 93
4.8 Conclusions and Outlook 97
References 98
5. GPU Acceleration for Density Functional Theory with Slater-Type Orbitals 101Hans van Schoot and Lucas Visscher
5.1 Background 101
5.2 Theory and CPU Implementation 102
5.3 GPU Implementation 105
5.4 Conclusion 112
References 113
6. Wavelet-Based Density Functional Theory on Massively Parallel Hybrid Architectures 115Luigi Genovese, Brice Videau, Damien Caliste, Jean-François Méhaut, Stefan Goedecker and Thierry Deutsch
6.1 Introductory Remarks on Wavelet Basis Sets for Density Functional Theory Implementations 115
6.2 Operators in Wavelet Basis Sets 117
6.3 Parallelization 123
6.4 GPU Architecture 124
6.5 Conclusions and Outlook 132
References 133
7. Plane-Wave Density Functional Theory 135Maxwell Hutchinson, Paul Fleurat-Lessard, Ani Anciaux-Sedrakian, Dusan Stosic, Jeroen Bédorf and Sarah Tariq
7.1 Introduction 135
7.2 Theoretical Background 136
7.3 Implementation 143
7.4 Optimizations 148
7.5 Performance Examples 151
7.6 Exact Exchange with Plane Waves 159
7.7 Summary and Outlook 165
Acknowledgments 165
References 165
Appendix A: Definitions and Conventions 168
Appendix B: Example Kernels 168
8. GPU-Accelerated Sparse MatrixMatrix Multiplication for Linear Scaling Density Functional Theory 173Ole Schütt, Peter Messmer, Jürg Hutter and Joost VandeVondele
8.1 Introduction 173
8.2 Software Architecture for GPU-Acceleration 177
8.3 Maximizing Asynchronous Progress 180
8.4 Libcusmm: GPU Accelerated Small Matrix Multiplications 183
8.5 Benchmarks and Conclusions 186
Acknowledgments 189
References 189
9. Grid-Based Projector-Augmented Wave Method 191Samuli Hakala, Jussi Enkovaara, Ville Havu, Jun Yan, Lin Li, Chris OGrady
and Risto M. Nieminen
9.1 Introduction 191
9.2 General Overview 193
9.3 Using GPUs in Ground-State Calculations 196
9.4 Time-Dependent Density Functional Theory 202
9.5 Random Phase Approximation for the Correlation Energy 203
9.6 Summary and Outlook 207
Acknowledgments 208
References 208
10. Application of Graphics Processing Units to Accelerate Real-Space Density Functional Theory and Time-Dependent Density Functional Theory Calculations 211Xavier Andrade and Alán Aspuru-Guzik
10.1 Introduction 212
10.2 The Real-Space Representation 213
10.3 Numerical Aspects of the Real-Space Approach 214
10.4 General GPU Optimization Strategy 216
10.5 KohnSham Hamiltonian 217
10.6 Orthogonalization and Subspace Diagonalization 221
10.7 Exponentiation 222
10.8 The Hartree Potential 223
10.9 Other Operations 224
10.10 Numerical Performance 225
10.11 Conclusions 228
10.12 Computational Methods 228
Acknowledgments 229
References 229
11. Semiempirical Quantum Chemistry 239Xin Wu, Axel Koslowski and Walter Thiel
11.1 Introduction 239
11.2 Overview of Semiempirical Methods 240
11.3 Computational Bottlenecks 241
11.4 Profile-Guided Optimization for the Hybrid Platform 244
11.5 Performance 249
11.6 Applications 251
11.7 Conclusion 252
Acknowledgement 253
References 253
12. GPU Acceleration of Second-Order MøllerPlesset Perturbation Theory with Resolution of Identity 259Roberto Olivares-Amaya, Adrian Jinich, Mark A. Watson and Alán Aspuru-Guzik
12.1 MøllerPlesset Perturbation Theory with Resolution of Identity Approximation (RI-MP2) 259
12.2 A Mixed-Precision Matrix Multiplication Library 263
12.3 Performance of Accelerated RI-MP2 266
12.4 Example Applications 270
12.5 Conclusions 273
References 273
13. Iterative Coupled-Cluster Methods on Graphics Processing Units 279A. Eugene DePrince III, Jeff R. Hammond and C. David Sherrill
13.1 Introduction 279
13.2 Related Work 280
13.3 Theory 281
13.4 Algorithm Details 284
13.5 Computational Details 287
13.6 Results 290
13.7 Conclusions 295
Acknowledgments 296
References 296
14. Perturbative Coupled-Cluster Methods on Graphics Processing Units: Single- and Multi-Reference Formulations 301Wenjing Ma, Kiran Bhaskaran-Nair, Oreste Villa, Edoardo Aprà, Antonino Tumeo, Sriram Krishnamoorthy and Karol Kowalski
14.1 Introduction 302
14.2 Overview of Electronic Structure Methods 303
14.3 NWChem Software Architecture 308
14.4 GPU Implementation 309
14.5 Performance 315
14.6 Outlook 319
Acknowledgments 320
References 320
Index 327