SIMD Programming Manual for Linux and Windows - Rilegato

Libro 13 di 15: Springer Professional Computing

Cockshott, W. Paul; Renfrew, Kenneth

 
9781852337940: SIMD Programming Manual for Linux and Windows

Sinossi

A number of widely used contemporary processors have instruction-set extensions for improved performance in multi-media applications. The aim is to allow operations to proceed on multiple pixels each clock cycle. Such instruction-sets have been incorporated both in specialist DSPchips such as the Texas C62xx (Texas Instruments, 1998) and in general purpose CPU chips like the Intel IA32 (Intel, 2000) or the AMD K6 (Advanced Micro Devices, 1999). These instruction-set extensions are typically based on the Single Instruc­ tion-stream Multiple Data-stream (SIMD) model in which a single instruction causes the same mathematical operation to be carried out on several operands, or pairs of operands, at the same time. The level or parallelism supported ranges from two floating point operations, at a time on the AMD K6 architecture to 16 byte operations at a time on the Intel P4 architecture. Whereas processor architectures are moving towards greater levels of parallelism, the most widely used programming languages such as C, Java and Delphi are structured around a model of computation in which operations takeplace on a single value at a time. This was appropriate when processors worked this way, but has become an impediment to programmers seeking to make use of the performance offered by multi-media instruction -sets. The introduction of SIMD instruction sets (Peleg et al.

Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.

Recensione

"Any scientist or engineer having to analyze any volume of data should read this book. The streaming extensions on today's CPUs come to life with the code that is presented clearly and concisely, and your applications will learn to fly. Thumbs up for Paul Cockshott and Keith Renfrew."

Patrick Van Laake, Ph.D.

Equator Spatial Technologies

Endorsement for:

MMX and Streaming SIMD programming Using PCs and Linux

P. Cockshott & K. Renfrew, Springer, 2003

"Vector Pascal represents a major advance in enabling non-experts to exploit the byte-parallel processing capabilities of modern CPUs. Cockshott and Renfrew’s succinct book provides a well-written introduction to contemporary MMX and SIMD technology, and a solid grounding in using Vector Pascal and its tools to develop substantive image processing and graphics applications."

Dr Greg Michaelson

Head of Computer Science

Heriot-Watt University

Riccarton

EH14 4AS

greg@macs.hw.ac.uk

0131 451 3422

 

Contenuti

The book is intended as a programmer’s introduction to the use of SIMD on PCs. It presents the underlying technology of SIMD processing on current PCs and looks at tools to exploit this including the Intel SIMD library and the Parallel Processing Language Vector Pascal. It explains how to cast algorithms in parallel to exploit the parallel processing capability of standard PCs obtaining large performance gains relative to conventional sequential compilers. It assumes a familiarity with imperative programming but not specifically with Pascal. It does not assume any prior familiarity with the SIMD programming model. The language translation system will be available either as a downloadable for Linux or Windows in association with the book. This book is aimed at practitioners with prior experience of imperative languages but not necessarily any familiarity with parallel programming techniques. It will be particularly useful for programmers in the rapidly growing area of games and multi-media entertainment, and it would also be useful to academics interested in parallel programming techniques or array programming languages. Table of Contents Part 1 1. Computer speed, program speed 2. SIMD Instruction Sets 3. SIMD programming in assembler and C 4. Intel SIMD Instructions 5. 3DNow Instructions Part II 6. Another Approach: Data Parallel Languages 7. Basics of vector Pascal 8. Algorithmic features of Vector Pascal 9. User Defined Types 10. Input and Output 11. Permutations and Polymorphism Part III Programming Examples 12. Advanced Set Programming 13. Parallel Image Processing 14. Pattern Recognition and Image Compression 15. 3D Graphics Part IV 16. Introduction to VIPER Appendix A: Compiler Porting Tools Appendix B: Software Download Appendix C: Using the Command Line Compiler

Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.

Altre edizioni note dello stesso titolo

9781849969208: SIMD Programming Manual for Linux and Windows

Edizione in evidenza

ISBN 10:  1849969205 ISBN 13:  9781849969208
Casa editrice: Springer, 2010
Brossura