Skip to main content
  • Book
  • © 2004

SIMD Programming Manual for Linux and Windows

  • This is the only book to address high level language programming of SIMD features of Pentium processors
  • All modern PCs provide SIMD processing but there are no practical programming books telling you how to use it

Part of the book series: Springer Professional Computing (SPC)

Buy it now

Buying options

eBook USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 159.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (16 chapters)

  1. Front Matter

    Pages i-xxvi
  2. SIMD Programming

    1. Front Matter

      Pages 1-1
    2. Computer Speed, Program Speed

      • Paul Cockshott, Kenneth Renfrew
      Pages 3-9
    3. SIMD Instruction-sets

      • Paul Cockshott, Kenneth Renfrew
      Pages 11-22
    4. SIMD Programming in Assembler and C

      • Paul Cockshott, Kenneth Renfrew
      Pages 23-46
    5. Intel SIMD Instructions

      • Paul Cockshott, Kenneth Renfrew
      Pages 47-97
    6. 3DNOW Instructions

      • Paul Cockshott, Kenneth Renfrew
      Pages 99-105
  3. SIMD Programming Languages

    1. Front Matter

      Pages 107-107
    2. Another Approach: Data Parallel Languages

      • Paul Cockshott, Kenneth Renfrew
      Pages 109-120
    3. Basics of Vector Pascal

      • Paul Cockshott, Kenneth Renfrew
      Pages 121-150
    4. Algorithmic Features of Vector Pascal

      • Paul Cockshott, Kenneth Renfrew
      Pages 151-163
    5. User-defined Types

      • Paul Cockshott, Kenneth Renfrew
      Pages 165-186
    6. Input and Output

      • Paul Cockshott, Kenneth Renfrew
      Pages 187-196
    7. Permutations and Polymorphism

      • Paul Cockshott, Kenneth Renfrew
      Pages 197-208
  4. Programming Examples

    1. Front Matter

      Pages 209-209
    2. Advanced Set Programming

      • Paul Cockshott, Kenneth Renfrew
      Pages 211-228
    3. Parallel Image Processing

      • Paul Cockshott, Kenneth Renfrew
      Pages 229-264
    4. Pattern Recognition and Image Compression

      • Paul Cockshott, Kenneth Renfrew
      Pages 265-277
    5. 3D Graphics

      • Paul Cockshott, Kenneth Renfrew
      Pages 279-292
  5. VIPER

    1. Front Matter

      Pages 293-293

About this book

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.

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

 

Authors and Affiliations

  • Department of Computing Science, University of Glasgow, Glasgow, UK

    Paul Cockshott

  • Crookhill Farm, Ayrshire, UK

    Kenneth Renfrew

Bibliographic Information

Buy it now

Buying options

eBook USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 159.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access