Software Optimization for High Performance Computing

Software Optimization for High Performance Computing : Creating Faster Applications

4 (1 rating by Goodreads)
By (author)  , By (author) 

List price: US$51.99

Currently unavailable

We can notify you when this item is back in stock

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks

Description

This book is written for programmers who want to get high performance from the software they write. The optimization techniques discussed are applicable to all computers, but are of most interest to designers of software for high performance computers, since they are most concerned with high performance. The main focus is on UNIX, though since Windows NT is now being used on high performance servers, there is limited coverage on this. Single processor and parallel performance is discussed.show more

Product details

  • Paperback | 377 pages
  • 175.26 x 233.68 x 25.4mm | 635.03g
  • Pearson Education (US)
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • 0130170089
  • 9780130170088

Review quote

"(This) is a book that should be in the hands of programmers in high-performance computing."-Greg Astfalk, Chief Scientist, Technical Computing Division, Hewlett-Packard Company.show more

About Kevin R. Wadleigh

ISOM CRAWFORD and KEVIN WADLEIGH are mathematicians in the Technical Computing Division of Hewlett Packard Corporation. Dr. Wadleigh develops high-performance algorithms for independent software vendors working with HP servers. Dr. Crawford specializes in parallel technical computing applications.show more

Back cover copy

The hands-on guide to high-performance coding and algorithm optimization. This hands-on guide to software optimization introduces state-of-the-art solutions for every key aspect of software performance - both code-based and algorithm-based. Two leading HP software performance experts offer comparative optimization strategies for RISC and for the new Explicitly Parallel Instruction Computing (EPIC) design used in Intel IA-64 processors. Using many practical examples, they offer specific techniques for: Predicting and measuring performance - and identifying your best optimization opportunities Storage optimization: cache, system memory, virtual memory, and I/0 Parallel processing: distributed-memory and shared-memory (SMP and ccNUMA) Compilers and loop optimization Enhancing parallelism: compiler directives, threads, and message passing Mathematical libraries and algorithms Whether you're a developer, ISV, or technical researcher, if you need to optimize high-performance software on today's leading processors, one book delivers the advanced techniques and code examples you need: Software Optimization for High Performance Computing.show more

Table of contents

(NOTE: Each chapter begins with an Introduction and concludes with a Summary.)1. Introduction. Hardware Overview-Your Work Area. Software Techniques-The Tools. Applications-Using the Tools.I. HARDWARE OVERVIEW-YOUR WORK AREA. 2. Processors: The Core of High Performance Computing. Types. Pipelining. Instruction Length. Registers. Functional Units. CISC and RISC Processors. Vector Processors. VLIW.3. Data Storage. Caches. Virtual Memory Issues. Memory. Input/Output Devices. I/O Performance Tips for Application Writers.4. An Overview of Parallel Processing. Parallel Models. Hardware Infrastructures for Parallelism. Control of Your Own Locality.II. SOFTWARE TECHNIQUES-THE TOOLS. 5. How the Compiler Can Help and Hinder Performances. Compiler Terminology. Compiler Options. Compiler Directives and Pragmas. Metrics. Compiler Optimizations. Interprocedural Optimization. Change of Algorithm.6. Predicting and Measuring Performance. Timers. Profilers. Predicting Performance.7. Is High Performance Computing Language Dependent Pointers and Aliasing. Complex Numbers. Subroutine or Function Call Overhead. Standard Library Routines. Odds and Ends.8. Parallel Processing-An Algorithmic Approach. Process Parallelism. Thread Parallelism. Parallelism and I/O. Memory Allocation, ccNUMA, and Performance. Compiler Directives. The Message Passing Interface (MPI).III. APPLICATIONS-USING THE TOOLS. 9. High Performance Libraries. Linear Algebra Libraries and APIs. Signal Processing Libraries and APIs. Self-Tuning Libraries. Commercial Libraries.10. Mathematical Kernels: The Building Blocks of High Performance. Building Blocks. BLAS. Scalar Optimization. Vector Operations. Matrix Copy and Transpose. BLAS and Performance. Winograd's Matrix-Matrix Multiplication. Complex Matrix-Matrix Multiplication with Three Real Multiplications. Strassen's Matrix-Matrix Multiplication.11. Faster Solutions for Systems of Equations. A Simple Example. LU Factorization. Cholesky Factorization. Factorization and Parallelization. Forward-Backward Substitution (FBS). Sparse Direct Systems of Equations. Iterative Techniques.12. High Performance Algorithms and Approaches for Signal Processing. Convolutions and Correlations. DFTs/FFTs. The Relationship Between Convolutions and FFTs.Index.show more

Rating details

1 ratings
4 out of 5 stars
5 0% (0)
4 100% (1)
3 0% (0)
2 0% (0)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X