Technical data

Vector Processing Concepts
1.1.1 Vector Processor Defined
A vector processor is a computer that operates on an entire vector with
a single vector instruction. These types of computers are known as
single-instruction/multiple-data (SIMD) computers because a single vector
instruction can process a stream of data.
A traditional scalar computer typically operates only on scalar values
so it must therefore process vectors sequentially. Since processing by a
vector computer involves the concurrent execution of multiple arithmetic
or logical operations, vectors can be processed many times faster than
with a traditional computer using only scalar instructions.
1.1.2 Vector Operations
A computer with vector processing capabilities does not automatically
provide an increase in performance for all applications. The benefits of
vector processing depend, to a large degree, on the specific techniques
and algorithms of the application, as well as the characteristics of the
vector-processing hardware.
Operations can be converted to code to be run on a vector processor if they
are identical operations on corresponding elements of data. That is, each
operation is independent of the previous step, as follows:
A(1) = B(1) + C(1)
A(2) = B(2) + C(2)
A(3) = B(3) + C(3)
.
.
.
A(n) = B(n) + C(n)
To create the vector, A(1:n), the same function [adding B(i) to C(i)] is
performed on different elements of data, where i = 1,2,3 ... n. Notice
that the equation for A(3) does not depend on A(1) or A(2). Therefore, all
these equations could be sent to a vector processor to be solved using one
instruction. Two vectors can be added together if both vectors are of the
same order; that is, each vector has the same number of elements, n. The
sum of two vectors is found by adding their corresponding elements. For
example, if B = [2, –1, –3] and C = [3, 5, 0], then
A =[2+3, -1+5, -3+0] = [5, 4, -3]
1–3