From the Publisher
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.
Features
- Serves as the first comprehensive reference for designing and developing parallel quantum chemistry software
- Addresses specific parallel programming challenges facing quantum chemists that are not covered in other resources, including message-passing, multi-threading, and parallel computer architectures
- Presents in-depth performance analyses of several important quantum chemistry procedures and methods, such as the Hartree-Fock method and M?ller-Plesset perturbation theory
- Contains many program examples written in the C programming language
Includes appendices that discuss the Message-Passing Interface (MPI), multi-threaded programming with Pthreads, and compiler extensions (OpenMP)