SIMD Programming Manual for Linux and Windows by Paul CockshottSIMD Programming Manual for Linux and Windows by Paul Cockshott

SIMD Programming Manual for Linux and Windows

byPaul Cockshott, Kenneth Renfrew

Paperback | October 22, 2010

Pricing and Purchase Info

$213.03 online 
$247.50 list price save 13%
Earn 1,065 plum® points

Prices and offers may vary in store


In stock online

Ships free on orders over $25

Not available in stores


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.
Title:SIMD Programming Manual for Linux and WindowsFormat:PaperbackDimensions:352 pages, 25.4 × 17.8 × 0.02 inPublished:October 22, 2010Publisher:Springer-Verlag/Sci-Tech/TradeLanguage:English

The following ISBNs are associated with this title:

ISBN - 10:1849969205

ISBN - 13:9781849969208

Look for similar items by category:


Table of Contents

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

Editorial Reviews

"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 TechnologiesEndorsement for: MMX and Streaming SIMD programming Using PCs and LinuxP. 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 MichaelsonHead of Computer ScienceHeriot-Watt UniversityRiccartonEH14 451 3422