Software Optimization for High Performance Computing: Creating Faster Applications
-33 %

Software Optimization for High Performance Computing: Creating Faster Applications

Besorgungstitel | Lieferzeit:3-5 Tage I

Unser bisheriger Preis:ORGPRICE: 67,95 €

Jetzt 45,80 €*

Alle Preise inkl. MwSt. | zzgl. Versand
Kevin R. Wadleigh
796 g
233x177x35 mm
HP Professional

(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.
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.