Parallel Programming Models - Google Sites

1 downloads 196 Views 188KB Size Report
Department of Computer Engineering,. Sir Syed University of Engineering & Technology,. Web: http://sites.google.com/
3/6/2016

Outline

Parallel Programming Models

o Vector Processing o Vector Instructions o Vector Processing in Desktop

By: Muhammad Naseem Assistant Professor Department of Computer Engineering, Sir Syed University of Engineering & Technology, Web: http://sites.google.com/site/muhammadnaseem105 Email: [email protected]

• This kind of computations has the advantage Vector Processing

• Vector processing falls in SIMD class and is • •

(more or less) supported by several processor architectures in the form of SIMD multimedia extensions as well as by GPUs The basic idea of vector computations is to apply the same (arithmetic) operation (successively or concurrently) to multiple data elements Appropriate vector instructions are provided for doing this

• •

Vector Instructions • • •

Vector instructions can be applied to all (or part of values by specifying length of vector stored in special length register) of the values stored in the operand registers Vector instructions can also use scalar registers as operands: when using a vector register and a scalar register as operands the result vector is obtained by adding the value in the scalar register to each element of the vector register The use of vector instructions has the advantage that for the internal processing by the hardware, an efficient pipelining can be used because there are no data dependencies between the values to be processed.

that a single vector instruction issues the computation of several pairs of source operands, in contrast to a scalar instruction where one instruction issues exactly one computation To use vector instructions, the application program must provide suitable operations, e.g., by applying the same operation to a set of data elements controlled by a loop Application programs from scientific computing domain require the same type of processing on all elements of a vector or a matrix.

Vector Processing in Desktop • • •



Vector operations can also be useful for standard desktop microprocessors Specialized SIMD instructions have been included in addition to the standard instructions that use 32-or 64bitoperands These SIMD instructions were originally intended for a fast processing of multimedia data, but they can be used for other data as well For the x86 architecture, SIMD instructions have been added in 1996 in the form of MMX instructions (MultiMedia eXtensions) working on 64-bit floating-point registers

1

3/6/2016

Vector Processing in Desktop

• In 1999, the Streaming SIMD Extensions (SSE)



were introduced working on separate 128bitfloating-point registers, which can store eight 16-bit values, four 32-bit values, or two 64-bit values -the SSE instructions perform operations simultaneously on these values In 2010, the Advanced Vector Extensions (AVX) have been added, working on 256-bit registers and are supported by the Intel Core i7 processors starting with the SandyBridge architecture as well as by the AMD processors starting with the Bulldozer architecture

2

Suggest Documents