首页 > 其他分享 >向量计算机

向量计算机

时间:2023-05-09 19:55:58浏览次数:31  
标签:计算机 元素 寄存器 掩码 操作 数据 向量

向量计算机的特点

特定任务上计算速度快

计算密集 -> IO 密集

昂贵

Seymour Gray设计的机器

是超算的前身

 

向量计算机作用

军事研究。

科学研究。

天气预测。

石油探测。

工业设计。

生物信息。

在七十年代到八十年代还没有超级计算机这一概念,这时候是叫向量计算机

纵轴:时间线

横轴:功能部件

ld:load store

add:

fadd:float add

1976年Gray-1向量计算机的扩展

标量单元

Load/Store结构

向量扩展

向量寄存器。

向量指令。

执行

      硬件控制

高度并行流水

不再使用虚存和数据缓存

交叉存取

Cray-1(1976)结构

存储器-存储器结构 优化为 寄存器-寄存器结构,运算部件所需要的操作数从向量寄存器中读取,运算的中间结果也写到向量寄存器中。(操作数,数值都存储在寄存器中读写)

优点

降低主存储器的流量。寄存器-寄存器结构的Cray

向量计算模型

模型结构

加法计算

对应位置相加。一条指令就可以完成多个数据相加。

存取计算

可以从Memory中各个地方采集数据。可以按照一定的跨步取数据。相当于并行加载数据。

Load相当于收集操作。

Store相当于散列操作。

向量ISA特点

指令紧凑简洁:单指令流多操作(包含程序加工和控制操作)

可表达性好:

        1. N个操作相互独立
        2. 使用相同的功能单元
        3. 以前一个指令相同的方式访问寄存器。(相当于操作复制多份)
        4. 可以访存连续的块。
        5. 以已知方式访存(指定步长load/store)

 

向量ISA硬件特点

      1. 每个指令要求更多工作。
      2. 隐式的程序加工操作
      3. 向量内没有数据依赖。
      4. 不连续的向量元素访存。
      5. 内存访问模式已知。

 

向量运算执行的特点

      1. 使用深度流水执行元素操作
      2. 简化深度流水的控制(因为一个向量内元素是独立的)

多个向量指令可以重叠执行

中间,1个cycle执行24个动作。竖向是时间线。横向是操作

 

链化执行

 

如果没有链,在开始下一个以来的指令是,必须等待结果中的最后一个元素被写入。

有了链化执行,只要写过中第一个元素被写入就可以开始下一个依赖操作。

向量拆解

由于向量寄存器长度限制,通常将一个长度为N的循环并行化,若N远大于向量寄存器长度,不能将每个操作都分配到一个向量寄存器中。

将N个操作拆成多组满足向量寄存器长度的片段

要分别计算每一个片段数据的起始位置。

 

向量条件计算

通常向量化循环中包含条件计算

解决方法

增加一个掩码位。

向量掩码需要初始化

根据条件设置掩码位。

最后写会的时候判断一下掩码位。

向量Scatter和Gather

若想向量化带有间接地址的循环

解决方法

加载rD中数据作为索引存储在vD中。(暂存rD中数据)

根据vD中索引,从rC中间接数据到vC。(直接根据存储的rD数据作为索引,加载rC数据到vC)

加载rB到vB

做加法

存储结果

 

若B中所有元素都是0,vA中收集到的数据全是A0,最终收集的时候会出错。

 

 

 

 

标签:计算机,元素,寄存器,掩码,操作,数据,向量
From: https://www.cnblogs.com/RedNoseBo/p/17332278.html

相关文章

  • C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地
     本文将探讨如何使用c#开发基于大语言模型的私域聊天机器人落地。大语言模型(LargeLanguageModel,LLM这里主要以chatgpt为代表的的文本生成式人工智能)是一种利用深度学习方法训练的能够生成人类语言的模型。这种模型可以处理大量的文本数据,并学习从中获得的模式,以预测在给定的......
  • 1.2 空间向量基本定理
    基本知识空间向量基本定理如果三个向量\(\vec{a},\vec{b},\vec{c}\)不共面,那么对空间任一向量\(\vec{p}\),存在一个唯一的有序实数组\(x,y,z\),使\(\vec{p}=x\vec{a}+y\vec{b}+z\vec{c}\).证明存在性设\(\vec{a},\vec{b},\vec{c}\)不共面,过点\(O\)作\(\overrightarrow{O......
  • milvus 又一个开源的向量数据库
    以前简单介绍过一个基于rust的qdrant向量数据库,milvus也是一个类似的milvus一些特性快速支持非结构化数据可靠高可用&弹性混合搜索通用lambda架构,支持批以及stream处理参考架构说明因为GPT的火爆,最近一些向量数据库比较火了(支持ai的一些能力),milvus同时提供了......
  • 第一章、计算机组成与体系结构
    第一节.数据的表示 二进制转十进制:权值相加。即一个二进制数为1010.1,转为十进制为:$$小数点左边从0开始幂,小数点右边就是-1 十六进制转十进制:同样的,权值相加。即一个十六进制为100121,转为十进制为:$$十进制转二进制:整数位用短除法,除二取余,直到余数为0,然后将余数由上往......
  • (一) 计算机网络的基本概念
    目录参考重点导图计算机网络的组成计算机网络的分类总结参考重点虽然考研知识点但是也可以使用导图计算机网络的组成可以从不同方面来解释计算机网络的组成可以理解成先通过资源子网打包然后通过通信子网传输计算机网络的分类总结......
  • 远程计算机或设备不接受连接
    解决办法:打开控制面板->Internet选项->连接->局域网设置->去掉所有勾勾问题原因:远程连接拒绝访问,意思是客户端使用远程连接软件向服务器发起连接请求,但被服务器拒绝。引起远程连接拒绝服务的原因有两种。第一种原因,客户端安装的远程连接软件,版本与服务器端控制台接受的版......
  • qdrant 向量数据库
    qdrant是向量数据库,官方的介绍是面向下一代的ai应用的服务,实际上从实际上从实际使用特别像es(语义搜索),只是支持的特性更加强大一些业务场景语义搜索相似,图片,语音,视频搜索推荐系统说明qdrant还支持ai引擎的集成(比如chatgpt。。。。),对于希望快速体验的可以使用官方的demo......
  • 计算机图形学easyx画五角星
    可以将一个五角星看成长点和短点的五个组合。在设置好五角星的长边和短边后,便可以画出对应的长边和短边。之后就可以将角度不断增加来完成五角星了。同时可以设置好五角星相对于y轴的偏移voidwujiaoxing(intx,inty,inta,intb,doubledegree){doublechange=PI/1......
  • 01-计算机基础
    0.目标了解硬件&操作系统&软件(应用系统)之间的关系。了解常见的操作系统都有哪些。了解编译器和解释器的区别和作用。了解编程语言进行分类了解Python解释器的种类了解CPython解释器的版本1.计算机基础1.1基础概念计算机的组成计算机是由多个硬件组合而成。......
  • 计算机技术人性黑暗面和光明面
    黑暗面1.利用技术作e。我工作身边有很多这样的人,比如维护人员在的时间服务器好好的,他一走立马就出事。2.照搬和抄袭。比如明明是别人的东西说成是自己的。像华微和疼迅是业内代表。3.不共享。比如你问他技术,不但不说还把你羞辱一番。态度十分傲慢,对人冷漠。 光明面1.开源免......