Kevin Dowd1565920325, 9781565920323
This book is a “must” for anyone who needs to worry about computer performance, either as a software developer or as a buyer. But it also provides valuable insights for those among us who do relatively little programming and run mostly third-party application software. Even if you never touch a line of code, High Performance Computing will give you a feel for how the most recent generation of computer hardware works. If you work with computers, you owe it to yourself to understand the new directions that workstation architecture has taken in the last half decade, including RISC-based workstation architectures like DEC Alpha/AXP, the IBM RS/6000 and the HP 9000/700 series.This book covers everything, from the basics of modern workstation architecture, to structuring benchmarks, to squeezing more performance out of critical applications. It also explains how optimizing compilers work: it discusses what a good compiler can do for you and, more important, what you have to do yourself. The author also discusses techniques for improving memory access patterns and taking advantage of parallelism. The book closes with a look at the high-performance future: parallel computers, including exotic distributed memory multiprocessors, and the more “garden-variety” shared memory processors that are already appearing on people’s desktops.High Performance Computing pays special attention to memory issues; perhaps the most important story in high performance computing (and one you’re not likely to be told by vendors) is the increasing disparity between CPU speeds and memory speeds.Another valuable section of the book discusses the benchmarking process: how to evaluate a computer’s performance. Kevin Dowd discusses several of the “standard” industry benchmarks, explaining what they measure and what they don’t. He also explains how to set up your own benchmark: how to structure the code, how to measure the results, and how to interpret them. |
Table of contents : Table of Contents……Page 3 Preface……Page 8 1: Modern Computer Architectures……Page 16 2: High Performance Microprocessors……Page 22 3: Memory……Page 45 4: Floating-Point Numbers……Page 72 5: What a Compiler Does……Page 94 6: Timing and Profiling……Page 113 7: Eliminating Clutter……Page 141 8: Loop Optimizations……Page 159 9: Understanding Parallelism……Page 183 10: Shared-Memory Multiprocessors……Page 205 11: Programming Shared-Memory Multiprocessors……Page 234 12: Large-Scale Parallel Computing……Page 256 13:Language Support for Performance……Page 283 14: Message-Passing Environments……Page 310 15: Using Published Benchmarks……Page 338 16: Running Your Own Benchmarks……Page 356 VI:Appendixes……Page 374 Index……Page 443 |
Reviews
There are no reviews yet.