• 2020-08-04 04:29:19

特征向量归一化处理

## 向量处理 (Vector processing)

The need to increase computational power is a never-ending requirement. In scientific and research areas, the computational involved are quite extensive and hence high power computers are the must.

增加计算能力的需求是永无止境的要求。 在科学研究领域，所涉及的计算相当广泛，因此必须配备大功率计算机。

The areas like structural engineering, petroleum exploration, aerodynamics, hydrodynamics, nuclear research, tomography, VLSI design, AI can have data in the form of matrices which suits vector processors to process it at a high speed.

结构工程，石油勘探，空气动力学，流体力学，核研究，层析成像，VLSI设计，人工智能等领域可以采用矩阵形式的数据，适合矢量处理器对其进行高速处理。

Some examples of its are:

其示例包括：

1. In radar and signal processing for detection of space / underwater targets.

在雷达和信号处理中，用于探测太空/水下目标。

2. In remote sensing for earth resources exploration.

在遥感中进行地球资源的勘探。

3. In computational wind tunnel experiments.

在计算风洞实验中。

4. In 3D stop-action computer assisted tomography.

在3D停止动作计算机辅助层析成像中。

5. Weather forecasting.

天气预报。

6. Medical diagnosis.

医学诊断。

## 向量处理的特征 (Characteristics of Vector processing)

1. A vector is an ordered set of elements. A vector operand contains an ordered set of n elements, where n is called the length of the vector. Each element in a vector is a scalar quantity, which may be floating point number, an integer, a logical value, or a character (byte).

向量是元素的有序集合。 向量操作数包含n个元素的有序集合，其中n称为向量的长度。 向量中的每个元素都是标量，可以是浮点数，整数，逻辑值或字符(字节)。

2. In vector processing, two successive pairs of elements are processed each clock period. In dual vector pipes and dual sets of vector functional units allow two pairs of elements to be processed during the same clock period. As each pair of operations is completed, the results are delivered to the appropriate elements of the result register. The operation continues until the number of elements processed is equal to the count specified by the vector length register.

向量处理中 ，每个时钟周期处理两对连续的元素。 在双矢量管道和矢量功能单元的双重集合中，可以在同一时钟周期内处理两对元素。 完成每对操作后，结果将传递到结果寄存器的相应元素。 继续操作，直到处理的元素数等于向量长度寄存器指定的计数为止。

For example: C (1:50) = A (1:50) + B (1:50)

例如：C(1:50)= A(1:50)+ B(1:50)

This vector instruction includes the initial addresses of the two source operands, one destination operand, the length of the vectors and the operation to be performed.

此向量指令包括两个源操作数的初始地址，一个目标操作数，向量的长度和要执行的操作。

3. Vector instructions are classified into for basic types:

向量指令分为以下基本类型：

4.        F1: V = V	f2: V = S
F3: V * V = V 	f4: V*S = V

Where V indicates vector operand and S indicates scalar operand. The operations f1 and f2 are unary operations such as vector square root, vector sine, vector complement, vector summation and so on. On the other hand, operations f3 and f4 are binary operations such as vector add, vector multiply, vector scalar adds and so on.

5. In vector processing, identical processes are repeatedly invoked many times, each of which can be subdivided into subprocesses.

向量处理中 ，相同的过程会重复调用多次，每个过程都可以细分为子过程。

6. In vector processing, successive operands are fed through the pipeline segments and require as few buffers and local controls as possible. This parallel vector processing allows the generation of more than two results per clock period. The parallel vector operations are automatically initiated either when successive vector instructions use different functional units and different vector registers, or when successive vector instructions use the result stream from one vector register as the operand of another operation using different functional units. This process is known as chaining.

向量处理中 ，连续的操作数通过流水线段馈送，并需要尽可能少的缓冲区和本地控件。 这种并行向量处理允许每个时钟周期产生两个以上的结果。 当连续的向量指令使用不同的功能单元和不同的向量寄存器时，或者当连续的向量指令将来自一个向量寄存器的结果流用作使用不同功能单元的另一操作的操作数时，并行向量操作将自动启动。 此过程称为链接。

7. Because of the startup delay in a pipeline, a vector processor performs better with longer vectors.

由于管道中的启动延迟，矢量处理器在使用更长的矢量时会表现更好。

8. Vector processing is usually faster and more efficient than scalar processing because it reduces the overhead associated with maintenance of the loop control variables.

向量处理通常比标量处理更快，更有效，因为它减少了与维护循环控制变量相关的开销。

### 向量指令字段 (Vector Instruction Fields)

Vector instructions are usually specified by the following fields:

向量指令通常由以下字段指定：

1. Opcode (operation code):

操作码(操作码)：

This field is used to select the functional unit or to reconfigure a multifunctional unit to perform the specified operation.

该字段用于选择功能单元或重新配置多功能单元以执行指定的操作。

基本地址：

In case of memory reference instruction, this field specifies the base addresses needed for source operands and result vectors. If the operands and results are located in the vector register file, the designated vector registers must be specified.

对于内存引用指令，此字段指定源操作数和结果向量所需的基地址。 如果操作数和结果位于向量寄存器文件中，则必须指定指定的向量寄存器。

地址增量：

This field specifies the space between the two elements in the main memory. Usually, the elements are consecutively stored thus the increment is 1. However, with variable increment higher flexibility can be offered in the applications.

该字段指定主存储器中两个元素之间的空间。 通常，元素是连续存储的，因此增量为1。但是，通过可变增量，可以在应用程序中提供更高的灵活性。

地址偏移量：

This field specifies the offset to the base address. Using the base address and the offset, the effective memory address can be calculated. The offset can be either positive or negative.

该字段指定到基地址的偏移量。 使用基地址和偏移量，可以计算有效存储器地址。 偏移量可以为正或负。

5. Vector length:

向量长度：

this field determines the termination of a vector instruction. Vector length affects the processing efficiency because the additional subdividing is required for long vectors.

该字段确定矢量指令的终止。 向量长度会影响处理效率，因为长向量需要额外的细分。

特征向量归一化处理

更多相关内容
• 它将term转换成向量形式，可以把对文本内容的处理简化为向量空间中的向量运算，计算出向量空间上的相似度，来表示文本语义上的相似度。 word2vec计算的是余弦值，距离范围为0-1之间，值越大代表两个词关联度越高。...
• 1.向量处理方式 横向处理方式：向量计算是按行的方式从左至右横向进行 纵向处理方式：按列自上而下进行 纵横处理方式：横向和纵向结合 2.向量链接技术 向量运算中存在数据相关和功能部件冲突。 两条流水线的链接技术...

# 1.向量处理方式

横向处理方式：向量计算是按行的方式从左至右横向进行
纵向处理方式：按列自上而下进行
纵横处理方式：横向和纵向结合

# 2.向量链接技术

向量运算中存在数据相关和功能部件冲突。
两条流水线的链接技术：当前一条指令的结果寄存器可以作为后继指令的操作数寄存器时，多条有数据相关的向量指令并行执行。
当前一个向量功能部件产生第一个结果并送到结果向量寄存器入口时，将该结果立即送往下一个功能部件的入口，开始后续的向量操作。此后依次得到的中间结果都按此处理。这样，前面功能部件的结果元素一产生，就可以立即被后面的功能部件所使用，而不用等结果向量全部产生后再使用。

2.向量链接的要求
1）只有在前一条向量指令的第一个结果元素送入结果向量寄存
器的那一个时钟周期才可以进行链接
，若错过该时刻就不能进行链接，只有当前一条向量指令全部执行完毕。
2）当一条向量指令的两个源操作数分别是两条先行向量指令的结果寄存器时，要求先行的两条向量指令产生运算结果的时间必须相等，即要求有关向量功能部件的延迟时间相等。
3）只有所有可以链接执行的向量指令的向量长度相等时，它们之间才能链接执行，否则它们之间也不能链接执行。

# 3.向量循环开采技术

当向量的长度大于向量寄存器的长度时，必须把长向量分成长度固定的段，采用循环结构处理这个长向量，这种技术称为向量循环开采技术，也称为向量分段开采技术。

# 4.向量指令计算

## 1.计算

T v p = T s + T v f + ( n − 1 ) T c T_{vp}=T_s+T_{vf}+(n-1)T_c
𝑇𝑠为向量流水线的建立时间,即为了使处理部件流水线能开始工作（即开始流入数据）所需要的准备时间。
𝑇𝑣𝑓为向量流水线的流过时间, 即第一对向量元素通过流水线并产生第一个结果所花的时间。
𝑇𝑐为流水线的时钟周期时间

T v p = [ s + e + ( n − 1 ) ] t T_{vp}=[s+e+(n-1)]t
s为向量流水线建立所需的时钟周期数
e为向量流水线流过所需的时钟周期数
n为向量长度
t为时钟周期长度

一组向量指令的处理时间取决于
向量长度
向量操作之间是否存在流水线功能部件的冲突
数据的相关性

## 2.编队

将几条能在一个时钟周期内一起开始执行的向量指令。同一个编队中的向量指令一定不存在流水部件的冲突和数据相关性，如果存在部件冲突和数据相关，需要把它们分在不同的编队中。

## 3.一组向量指令的处理时间

进行编队后，向量指令序列的总的执行时间为m个编队的执行时间的和：
T a l l = ∑ T v p ( i ) T_{all=\sum_{T_{vp}}^{(i)}}
T v [ p ( i ) T_{v[p}^{(i)} 为第i个编队的执行时间
m为编队的个数

如果考虑向量长度𝑛大于向量寄存器长度𝑀𝑉𝐿时，则需要分段开采。

# 5.向量处理机的峰值性能

展开全文
• 本篇是郑纬民《计算机系统结构》的读书笔记，欢迎各位路过指正！今天是第六章：向量处理机~

200802本篇是郑纬民《计算机系统结构》的读书笔记，欢迎各位路过指正！今天是第六章：向量处理机。

## 6. 向量处理机

• 向量处理机：具有向量数据表示和向量指令系统的处理机。 向量处理机一般都采用流水线结构，通常有有多条并行工作的流水线。

• 向量协处理器：以中小型机或微机作主机，向量处理部件作为外围设备，加速向量的处理速度。

• 向量计算机系统结构要解决的六个技术问题：处理机带宽、存储器带宽、输入输出带宽、通信带宽、同步带宽、多用途。

### 6.1 向量数据表示方式

• 一条向量指令可处理Ｎ个或Ｎ对操作数。采用多寄存器结构的两地址指令编写程序。 存储器采用字节编址方式，字长为32位。

• 向量表示法：

• 等间距向量表示法：向量起始地址A；向量长度L；向量间距f。
• 带位移量的向量表示法： 向量基地址A；向量长度L；向量位移量：f。则向量有效长度为 L − f L-f ；向量起始地址： A + f A+f
• 稀疏向量表示法：采用压缩方法存储以节省存储空间。

### 6.2 向量处理机的结构

• 存储器－存储器结构：多个独立的存储器模块并行工作，对存储系统的访问速度要求很高。有多个高速流水线运算部件，采用多个存储体交叉和并行访问来提高存储器速度。

• 寄存器－寄存器结构：运算通过向量寄存器进行，对存储系统访问速度的要求降低。把存储器-存储器结构中的缓冲栈改为向量寄存器。

• 如CRAY-1向量处理机的结构

### 6.3 向量处理方式

• 横向处理方式：向量计算是按行的方式从左至右横向地进行。流水线效率低，频繁进行流水线切换。（不适合向量处理机）

• 纵向处理方式：向量计算是按列的方式自上而下纵向地进行。适用于存储器-存储器结构。

• 纵横处理方式：横向处理和纵向处理相结合的方式。用于寄存器-寄存器结构的向量处理机中。分组方法： N = K × n + r N=K\times n +r 。 减少访问主存储器的次数。

### 6.4 向量处理机的关键技术

• 向量平衡点：为了使向量硬件设备和标量硬件设备的利用率相等，一个程序中向量代码所占的百分比。

• 向量链接技术：当前一条指令的结果寄存器可以作为后继指令的操作数寄存器时，多条有数据相关的向量指令并行执行。

• 向量循环开采技术：当向量的长度大于向量寄存器的长度时，把长向量分成长度固定的段，采用循环结构处理这个长向量。当N超过64时，要采用向量循环开采技术。

• 向量递归技术：向量指令一般为三地址，但递归运算用两地址。

### 6.5 向量处理机的性能评价

• 向量指令处理时间 T v p = T S + T v f + ( n − 1 ) T c T_{vp} = T_S + T_{vf}+(n-1)T_c 。其中 T s T_s 为向量流水线的建立时间。 T v f T_{vf} 为向量流水线的流过时间。 T c T_c 为流水线“瓶颈”段的执行时间。

• 通常把几条能在一个时钟周期内同时开始执行的向量指令称为一个编队 。同一个编队中的指令不存在功能部件冲突和数据相关。
• 采用向量链接技术、分段开采等则向量长度为n的一组向量操作的整个执行时间为： T n = ⌈ n M V L ⌉ × ( T loop + T start ) + n × T chime T_{n}=\left\lceil\frac{n}{M V L}\right\rceil \times\left(T_{\text {loop}}+T_{\text {start}}\right)+n \times T_{\text {chime}} 其中 T l o o p T_{loop} 为执行标量代码的开销， T s t a r t T_{start} 为每个编队的向量启动开销， M V L MVL 是向量寄存器的长度。
• 最大性能 R ∞ R_\infty ：表示当向量长度为无穷大时的向量流水线的最大性能。常在评价峰值性能时使用。

R ∞ = lim ⁡ n → ∞  浮点运算次数义时钟频率  循环所用的时钟周期数 = 浮点运算次数  ×  时钟频率  lim ⁡ n → ∞ ⌈ T n / n ⌉ R_\infty=\lim _{n \rightarrow \infty} \frac{\text { 浮点运算次数义时钟频率 }}{\text {循环所用的时钟周期数}}=\frac{\text {浮点运算次数 } \times \text { 时钟频率 }}{\lim _{n \rightarrow \infty}\left\lceil{T_n} / n\right\rceil}

其中 n n 为向量长度； T n T_n 为一组向量操作的整个执行时间。

• 半性能向量长度 n 1 / 2 n_{1/2} ：为达到一半 R ∞ R_\infty 值所需的向量长度，评价向量流水线的建立时间对性能的影响。
展开全文
• 1.什么是向量处理机？ 具有向量数据表示和相应向量指令的流水线处理机称为向量流水线处理机，也称为向量处理机。 与之对应的是标量处理机，不支持向量数据表示，没有提供向量指令。 2.实例：一个简单的FORTRAN...

1.什么是向量处理机？

具有向量数据表示和相应向量指令的流水线处理机称为向量流水线处理机，也称为向量处理机

与之对应的是标量处理机，不支持向量数据表示，没有提供向量指令。

2.实例：一个简单的FORTRAN循环程序

DO 10 i=1,N

10  d[i] = a[i]*(b[i] + c[i])

（1）水平（横向）处理方式

依次计算向量k和d的每个元素

.....  ......

ki = bi + ci

di = ki * ai

..... .......

循环的每个迭代中有1次数据相关，1次控制相关，需要两次功能切换

（2）垂直（纵向）处理方式

计算向量k的每个元素之后，再计算向量d的每个元素，需要向量数据类型和向量指令的支持

K = B + C

D = K * A

没有分支；仅有1次数据相关；仅需要1次功能切换

需要存储器-存储器型操作的运算流水线

（3）分组（纵横）处理方式

将长度为N的向量分为m组，每组有n个元素，组内按纵向方式处理，依次处理各组

需要m次迭代；每次迭代执行两条向量指令，有1次数据相关，需要2次功能切换

需要寄存器-寄存器型操作的运算流水线

这种技术称为向量循环分段开采

3.实例：

（1）

（2）

4.向量处理机的速度评价方法

由于一条指令最多得到一个结果，标量处理机通常用每秒执行多少条指令（MIPS）来衡量机器的运算速度

向量处理机用每秒取得多少浮点运算结果来衡量机器速度，以MFLOPS作为测量单位

5.向量处理机实例分析

实例：Cray-I

1.性能指标

1GFLOPS、主频80M、向量长度64

2.基本结构

- 向量运算部件

- 向量寄存器组（V0-V7）

- 向量长度寄存器

-向量屏蔽寄存器

3.向量指令类型

V代表向量  S代表标量

功能部件冲突：同一功能部件被一条以上的并行工作向量指令所使用

Vi冲突：并行工作的各向量指令具有相同的源向量或结果向量

4.CRAY-I体系结构特点

4.1  向量寄存器与功能单元的连接通路

每个Vi块都有单独总线可连到所有向量功能部件，而每个向量功能部件也各自都有把运算结果送回向量寄存器组的总线。

4.2  向量链接技术

一个向量功能部件得到的结果直接送入另一个向量功能部件的操作数寄存器时所发生的连接过程称为链接

当两条指令出现“写后读”相关时，若它们不存在当功能部件冲突和向量寄存器（源或目的）冲突，就有可能把它们所用的功能部件头尾相连，形成一个链接流水线，进行流水处理

链接特性实质上是把流水线“定向”的思想引入到向量执行过程的结果。

6.向量链接技术应考虑的问题

设定合适的向量功能部件和操作数寄存器

链接时机问题

-只有在前一条向量指令的第一个结果元素送入结果向量寄存器的哪一个时钟周期才可以进行链接

-只有当前一条向量指令全部执行完毕，释放相应的向量寄存器资源后才能执行后面的向量指令。

-所有可以链接执行的向量指令的向量长度应相等

展开全文
• 向量处理中的优化:链接技术知识点复习例题的巩固（1）1、2、3串行执行需要多少拍？第一条向量指令，V3<--存储器:第二条向量指令，V2<--V0+V1:第三条向量指令，V4=V2 X V3（2）1、2并行执行后，再执行3？（3）...
• 向量处理机的实质是用一条指令(向量指令)发起对整个向量中的所有元素的访存操作并流水化处理这些元素(因为他们需要进行的操作相同) 对于标量处理机每条指令只处理一个元素 向量的处理方式 纵向 纵横向 ...
• 行业-电子政务-数据路径的向量处理引擎以及相关的向量处理器、系统和方法的介绍分析.rar
• ## 向量处理机

千次阅读 2015-04-12 11:02:36
向量处理机是有向量数据表示的处理机， 分向量流水处理机和阵列处理机两类。 向量流水处理机是以时间重叠途径开发的， 阵列处理机是以资源重复途径开发的。  向量横向处理是向量的处理方式，但不是向量的流水...
• 环境：CentOS7g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)\$ pkg-config --modversion opencv ...2.在OpenCV中向量被当做是有一个维数为1的N维矩阵.3.矩阵按行-行方式存储，每行以4字节（32位）对...
• 1.1.4 标量流水处理机和向量流水处理机 ​ 这是按照数据的表示来进行分类的。 ​ 标量流水处理机指的是，处理机不具有向量数据的表示，仅对标量数据进行流水处理。类似的，向量流水处理机指的是，处理机具有向量...
• 向量机流水处理.pptx
• ChineseEmbedding Chinese Embedding ...中文自然语言处理向量合集,包括字向量,拼音向量,词向量,词性向量,依存关系向量.共5种类型的向量. 项目地址：https://github.com/liuhuanyong 项目简介 目前不同于on...
• ## 向量处理机-简介

千次阅读 2010-04-02 12:03:00
向量型并行计算与流水线结构相结合，能在很大程度上克服通常流水线计算机中指令处理量太大、存储访问不均匀、相关等待严重、流水不畅等缺点，并可充分发挥并行处理结构的潜力，显著提高运算速度。向量运算是
• 关于词向量 计算方法 word2vec 加载方法 word2vec format；bin； text format； xx.kv结构 如何计算相似度 有必要norm吗？ 性能那个更快 结果 参考文献
• 自然语言处理向量和语言模型.pdf
• 中文自然语言处理向量合集,包括字向量,拼音向量,词向量,词性向量,依存关系向量.共5种类型的向量
• 本PPT主要讲述：一次重叠”方式中各种相关的处理；流水线的时空图和性能分析；流水的局部性相关处理，全局性...向量处理方法 增强向量处理性能的方法；采用链接技术，从访存开始到一个一个结果分；量输出所需的拍数。
• FD.io VPP：用户文档 向量包处理器 RToax 2020年9月 1. 什么是向量包处理器（VPP） FD.io的矢量包处理器（VPP）是一个快速，可扩展的2-4层多平台网络协议栈。它在Linux用户空间中的多种体系结构上运行，包括...
• Surface Normal表面法向量 surface normal on 3D point cloud 选择一个点P 找点P的领域定义表面（领域半径大：法向量平滑 但会被无关点影响 领域半径小：精确描述 但受噪声影响） PCA 寻找特征值最小的向量...
• 易语言向量化异常处理
• 文章大纲 文本分类简介 svm 简介 题目介绍 总体处理流程 数据预处理 文件加载与预览 汉语分词处理pipeline stopwords 文件的生成 调用样例 并行分词处理 训练词向量 使用gensim 出现问题解决思路 使用SVM 进行训练 ...
• GPS基线向量解算及平差处理技巧详细介绍了基线向量解算及平差软件 特点与问题。
• 在NLP任务中常常需要预加载的词向量，其中gensim 提供了现成的api供大家使用，但里面往往有些需求无法满足，例如未知词的处理。针对这些情况，自己根据gensim 的源码，进行了重构。本篇文章主要包含两部分内容：1....
• 本篇为资源汇总，一些NLP的比赛在抽取文本特征的时候会使用非常多的方式。...文章目录@[toc]1 之前的几款词向量介绍与训练帖子2 极简训练glove/word2vec/fasttext2.1 word2vec的训练与简易使用2.2 glove...
• 使用支持向量机的微处理器验证向量优化方法.pdf

...