Vector_Analysis 2010

Vector_Analysis 2010 - Parallel Processing Vector Analysis VECTOR ANALYSIS INTRODUCTION Vectorization in computer science is the process of

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Vector Analysis VECTOR ANALYSIS VECTOR ANALYSIS INTRODUCTION Vectorization in computer science, is the process of converting a computer program from a scalar implementation, which does an operation on a pair of operands at a time, to a vectorized program where a single instruction can perform multiple operations or a pair of vector (series of adjacent values) operands. Vector processing is a major feature of both conventional and modern supercomputers. One major research topic in computer science is the search for methods of automatic vectorization; seeking methods that would allow a compiler to convert scalar programs into vectorized programs without human assistance. AUTOMATIC VECTORIZATION Automatic vectorization, in the context of a computer program, refers to the automatic transformation of a series of operations performed sequentially, one operation at a time, to operations performed in parallel, several at once, in a manner suitable for processing by a vector processor. An example would be a program to multiply two vectors of numeric data. A scalar approach would be something like: for (i = 0; i < 1024; i++) { C[i] = A[i]*B[i]; } This could be transformed to vectorized code something like: for (i = 0; i < 1024; i+=4) { C[i:i+3] = A[i:i+3]*B[i:i+3]; } Here, C[i:i+3] represents the four array elements from C[i] to C[i+3] and we assume that the vector processor can perform four operations for a single vector instruction. Since four operations are performed for an execution time roughly similar to time taken for one scalar instruction, the vector code can run up to four times faster than the original code. There are two distinct compiler approaches: one based on the conventional vectorization technique and the other based on loop unrolling. LOOP-LEVEL AUTOMATIC VECTORIZATION This technique, used for conventional vector machines, tries to find and exploit SIMD parallelism from the loop level. It consists of two major steps as follows. 1.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 11/10/2010 for the course CPED CPE-407 taught by Professor Zahid during the Spring '10 term at Presentation.

Page1 / 5

Vector_Analysis 2010 - Parallel Processing Vector Analysis VECTOR ANALYSIS INTRODUCTION Vectorization in computer science is the process of

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online