Software Optimization for High Performance Computing   - Crawford, Isom

Software Optimization for High Performance Computing

Isom Crawford

Yayınevi: Pearson Education

Yayın tarihi: 12/2000

ISBN: 9780130170088

İngilizce | 377 Sayfa |

Tür: Bilgisayar-Akademik  |  İşletme-Pazarlama

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 youre a developer, ISV, or technical researcher, if you need to optimize high-performance software on todays leading processors, one book delivers the advanced techniques and code examples you need: Software Optimization for High Performance Computing. 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. Winograds Matrix-Matrix Multiplication. Complex Matrix-Matrix Multiplication with Three Real Multiplications. Strassens 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.

İlgili Ürünler

Bu Türde Çok Satanlar

Kredi Kartına Taksit İmkanı
  • 3 Taksit

  • 3 Taksit

  • 3 Taksit

  • 6 Taksit

©1996-2018 Pandora Yayın ve Kitap Hizmetleri A.Ş.

Mersis No: 0721-0430-4310-0015

Tasarım : Logo Site Tasarımı