Fr. 184.00

SIMD Programming Manual for Linux and Windows

English · Paperback / Softback

Shipping usually within 1 to 2 weeks (title will be printed to order)

Description

Read more

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.

List of contents

I SIMD Programming.- 1 Computer Speed, Program Speed.- 2 SIMD Instruction-sets.- 3 SIMD Programming in Assembler and C.- 4 Intel SIMD Instructions.- 5 3DNOW Instructions.- II SIMD Programming Languages.- 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.- III Programming Examples.- 12 Advanced Set Programming.- 13 Parallel Image Processing.- 14 Pattern Recognition and Image Compression.- 15 3D Graphics.- IV VIPER.- 16 Introduction to VIPER.- Appendix A Compiler Porting Tools.- A.1 Dependencies.- A.2 Compiler Structure.- A.2.1 Vectorisation.- A.2.2 Porting Strategy.- A.3 ILCG.- A.4 Supported Types.- A.4.1 Data Formats.- A.4.2 Typed Formats.- A.4.3 ref Types.- A.5 Supported Operations.- A.5.1 Type Casts.- A.5.2 Arithmetic.- A.5.3 Memory.- A.5.4 Assignment.- A.5.5 Dereferencing.- A.6 Machine Description.- A.6.1 Registers.- A.6.2 Register Sets.- A.6.3 Register Arrays.- A.6.4 Register Stacks.- A.6.5 Instruction Formats.- A.7 Grammar of ILCG.- A.8 ILCG Grammar.- A.8.1 Helpers.- A.8.2 Tokens.- A.8.3 Non-terminal Symbols.- Appendix B Software Download.- Appendix C Using the Command Line Compiler.- C.1 Invoking the Compiler.- C.1.1 Environment Variable.- C.1.2 Compiler Options.- C.1.3 Dependencies.- C.2 Calling Conventions.- C.3 Array Representation.- C.3.1 Range Checking.- References.

Summary

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.

Additional text

"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

 

Report

"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
 

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.