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 wo
Introduction to High Performance Computing for Scientists and Engineers
โ Scribed by Hager, Georg;Wellein, Gerhard
- Publisher
- CRC Press; Taylor & Francis Inc
- Year
- 2010
- Tongue
- English
- Leaves
- 350
- Series
- Chapman & Hall/CRC Computational Science
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
Written by high performance computing (HPC) experts,Introduction to High Performance Computing for Scientists and Engineersprovides 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.
Read about the authors' recent honor: Informatics Europe Curriculum Best Practices Award for Parallelism and Concurrency
โฆ Table of Contents
Front cover......Page 1
Contents......Page 8
Foreword......Page 14
Preface......Page 16
About the authors......Page 22
List of acronyms and abbreviations......Page 24
Chapter 1: Modern processors......Page 28
Chapter 2: Basic optimization techniques for serial code......Page 64
Chapter 3: Data access optimization......Page 90
Chapter 4: Parallel computers......Page 122
Chapter 5: Basics of parallelization......Page 142
Chapter 6: Shared-memory parallel programming with OpenMP......Page 170
Chapter 7: Efficient OpenMP programming......Page 192
Back cover......Page 350
Chapter 8: Locality optimizations on ccNUMAarchitectures......Page 212
Chapter 9: Distributed-memory parallel programming with MPI......Page 230
Chapter 10: Efficient MPI programming......Page 262
Chapter 11: Hybrid parallelization with MPI andOpenMP......Page 290
Appendix A: Topology and affinity in multicore environments......Page 304
Appendix B: Solutions to the problems......Page 314
Bibliography......Page 336
โฆ Subjects
Science;Computer Science;Engineering
๐ SIMILAR VOLUMES
Product 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 sc
While good texts exist on numerical modeling, numerical linear algebra, computer architecture, parallel computing, performance optimization, no book brings together these strands in a unified manner. The need for a book such as the present became apparent to the author working at a computing center: