Introduction to High Performance Computing for Scientists & Engineers (BP-64.99)

Original price was: ₹495.00.Current price is: ₹396.00.

ISBN: 9781439811924
Author/Editor: Georg Hager

Publisher: CRC Press

Year: 2011

1 in stock (can be backordered)

SKU: ABD-CRC-3147 Category:

Description

Written by high performance computing (HPC) experts, Introduction to High Performance Computing for Scientists and Engineers provides a solid introduction to current mainstream computer architecture, dominant parallel programming models, and useful optimization strategies for scientific HPC. From working in a scientific computing center, the authors gained a unique perspective on the requirements and attitudes of users as well as manufacturers of parallel computers.

The text first introduces the architecture of modern cache-based microprocessors and discusses their inherent performance limitations, before describing general optimization strategies for serial code on cache-based architectures. It next covers shared- and distributed-memory parallel computer architectures and the most relevant network topologies. After discussing parallel computing on a theoretical level, the authors show how to avoid or ameliorate typical performance problems connected with OpenMP. They then present cache-coherent nonuniform memory access (ccNUMA) optimization techniques, examine distributed-memory parallel programming with message passing interface (MPI), and explain how to write efficient MPI code. The final chapter focuses on hybrid programming with MPI and OpenMP.

Users of high performance computers often have no idea what factors limit time to solution and whether it makes sense to think about optimization at all. This book facilitates an intuitive understanding of performance limitations without relying on heavy computer science knowledge. It also prepares readers for studying more advanced literature.

Additional information

Weight 0.53 kg

Product Properties

Year of Publication

2011

Table of Contents

Modern Processors Stored-program computer architecture General-purpose cache-based microprocessor architecture Memory hierarchies Multicore processors Multithreaded processors Vector processors Basic Optimization Techniques for Serial Code Scalar profiling Common sense optimizations Simple measures, large impact The role of compilers C++ optimizations Data Access Optimization Balance analysis and lightspeed estimates Storage order Case study: The Jacobi algorithm Case study: Dense matrix transpose Algorithm classification and access optimizations Case study: Sparse matrix-vector multiply Parallel Computers Taxonomy of parallel computing paradigms Shared-memory computers Distributed-memory computers Hierarchical (hybrid) systems Networks Basics of Parallelization Why parallelize? Parallelism Parallel scalability Shared-Memory Parallel Programming with OpenMP Short introduction to OpenMP Case study: OpenMP-parallel Jacobi algorithm Advanced OpenMP: Wavefront parallelization Efficient OpenMP Programming Profiling OpenMP programs Performance pitfalls Case study: Parallel sparse matrix-vector multiply Locality Optimizations on ccNUMA Architectures Locality of access on ccNUMA Case study: ccNUMA optimization of sparse MVM Placement pitfalls ccNUMA issues with C++ Distributed-Memory Parallel Programming with MPI Message passing A short introduction to MPI Example: MPI parallelization of a Jacobi solver Efficient MPI Programming MPI performance tools Communication parameters Synchronization, serialization, contention Reducing communication overhead Understanding intranode point-to-point communication Hybrid Parallelization with MPI and OpenMP Basic MPI/OpenMP programming models MPI taxonomy of thread interoperability Hybrid decomposition and mapping Potential benefits and drawbacks of hybrid programming Appendix A: Topology and Affinity in Multicore Environments Appendix B: Solutions to the Problems Bibliography Index

Author

Georg Hager

ISBN/ISSN

9781439811924

Binding

Paperback

Edition

1

Publisher

CRC Press

Reviews

There are no reviews yet.

Be the first to review “Introduction to High Performance Computing for Scientists & Engineers (BP-64.99)”