Online Library TheLib.net » SIMD Programming Manual for Linux and Windows

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.




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 will be particularly useful for programmers in the rapidly growing area of games and multi-media entertainment, and it would also to academics interested in parallel programming techniques or array programming languages.




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 will be particularly useful for programmers in the rapidly growing area of games and multi-media entertainment, and it would also to academics interested in parallel programming techniques or array programming languages.


Content:
Front Matter....Pages i-xxvi
Front Matter....Pages 1-1
Computer Speed, Program Speed....Pages 3-9
SIMD Instruction-sets....Pages 11-22
SIMD Programming in Assembler and C....Pages 23-46
Intel SIMD Instructions....Pages 47-97
3DNOW Instructions....Pages 99-105
Front Matter....Pages 107-107
Another Approach: Data Parallel Languages....Pages 109-120
Basics of Vector Pascal....Pages 121-150
Algorithmic Features of Vector Pascal....Pages 151-163
User-defined Types....Pages 165-186
Input and Output....Pages 187-196
Permutations and Polymorphism....Pages 197-208
Front Matter....Pages 209-209
Advanced Set Programming....Pages 211-228
Parallel Image Processing....Pages 229-264
Pattern Recognition and Image Compression....Pages 265-277
3D Graphics....Pages 279-292
Front Matter....Pages 293-293
Introduction to VIPER....Pages 295-313
Back Matter....Pages 315-351


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 will be particularly useful for programmers in the rapidly growing area of games and multi-media entertainment, and it would also to academics interested in parallel programming techniques or array programming languages.


Content:
Front Matter....Pages i-xxvi
Front Matter....Pages 1-1
Computer Speed, Program Speed....Pages 3-9
SIMD Instruction-sets....Pages 11-22
SIMD Programming in Assembler and C....Pages 23-46
Intel SIMD Instructions....Pages 47-97
3DNOW Instructions....Pages 99-105
Front Matter....Pages 107-107
Another Approach: Data Parallel Languages....Pages 109-120
Basics of Vector Pascal....Pages 121-150
Algorithmic Features of Vector Pascal....Pages 151-163
User-defined Types....Pages 165-186
Input and Output....Pages 187-196
Permutations and Polymorphism....Pages 197-208
Front Matter....Pages 209-209
Advanced Set Programming....Pages 211-228
Parallel Image Processing....Pages 229-264
Pattern Recognition and Image Compression....Pages 265-277
3D Graphics....Pages 279-292
Front Matter....Pages 293-293
Introduction to VIPER....Pages 295-313
Back Matter....Pages 315-351
....
Download the book SIMD Programming Manual for Linux and Windows for free or read online
Read Download
Continue reading on any device:
QR code
Last viewed books
Related books
Comments (0)
reload, if the code cannot be seen