矢量加速器及其控制方法、装置制造方法及图纸

技术编号:31157609 阅读:16 留言:0更新日期:2021-12-04 09:55
本申请公开了一种矢量加速器及其控制方法、装置,矢量加速器包括矢量超前运行单元和矢量执行单元,所述矢量超前运行单元预取所述矢量执行单元进行矢量运算的矢量数据,所述矢量加速器的控制方法包括:在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。解决了矢量加速器进行矢量运算时的耦合度较高的技术问题,提高了矢量加速器进行矢量运算的速度。行矢量运算的速度。行矢量运算的速度。

【技术实现步骤摘要】
矢量加速器及其控制方法、装置


[0001]本申请涉及计算机
,尤其涉及一种矢量加速器及其控制方法、装置。

技术介绍

[0002]随着人工智能的快速发展,许多应用程序都包含了比较高百分比的矢量运算,在运行应用的过程中,运算器需要执行大量的矢量运算。目前的矢量运算器,如Cray

1型的矢量加速器,向量数据访问和向量执行之间的解耦度不高,降低了矢量加速器的运算速度。

技术实现思路

[0003]本申请实施例通过提供一种矢量加速器及其控制方法、装置,旨在降低矢量加速器进行矢量运算时的耦合度。
[0004]为实现上述目的,本申请一方面提供一种矢量加速器的控制方法,所述矢量加速器包括矢量超前运行单元和矢量执行单元,所述矢量超前运行单元预取所述矢量执行单元进行矢量运算的矢量数据,所述矢量加速器的控制方法包括:在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
[0005]可选地,所述从矢量超前运行单元获取目标矢量数据的步骤之前,还包括:接收矢量加速器配置指令,基于所述矢量加速器配置指令配置向量长度以及寄存器数量;接收启动矢量运算指令,基于所述启动矢量运算指令获取缓存区中缓存的数据获取指令;根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据;将所述矢量数据存储于所述矢量超前运行单元。
[0006]可选地,所述根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据的步骤包括:获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息;根据所述地址信息、所述寄存器信息以及所述数据长度信息从所述缓存区中获取所述矢量数据。
[0007]可选地,所述获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息的步骤,包括:解析所述缓存区中缓存的所述数据获取指令得到所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息。
[0008]可选地,所述在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据的步骤,包括:
在矢量运行的过程中,根据矢量运算的进程确定从所述矢量超前运行单元缓存的矢量数据中获取执行所述进程的目标矢量数据。
[0009]可选地,所述将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算的步骤之前,包括:接收中央处理器的配置指令;根据所述配置指令设置所述矢量加速器的寄存器个数。
[0010]可选地,所述将所述目标矢量数据发送至矢量执行单元的步骤之后,还包括:获取所述矢量执行单元执行所述矢量运算的执行进程,根据所述执行进程确定发送至所述矢量执行单元的目标矢量数据的数据量。
[0011]此外,为实现上述目的,本专利技术还提出一种矢量加速器的控制装置,包括:获取模块,用于在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;发送模块,用于将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
[0012]此外,为实现上述目的,本专利技术还提出一种矢量加速器,所述矢量加速器包括矢量加速器、存储器以及存储在所述存储器上并可在所述矢量加速器上运行的矢量加速器的控制程序,所述矢量加速器的控制程序被所述矢量加速器执行时实现如上述任一项矢量加速器的控制方法的步骤。
[0013]可选地,所述矢量加速器与中央处理器建立连接,接收所述中央处理器的指令,执行所述指令对应的控制操作。
[0014]在本实施例中,矢量处理器在执行矢量运算时,在矢量加速器进行运算的过程中,从矢量超前运行单元获取目标矢量数据,并将目标矢量数据发送至矢量执行单元,以供矢量执行单元接收目标矢量数据后执行矢量运算。在矢量加速器进行矢量运算时,矢量超前运行单元能够提前从矢量超前运行单元中预取矢量执行单元进行矢量运算的目标矢量数据,并发送至矢量执行单元。矢量执行单元直接接收矢量超前运行单元发送的目标矢量数据即可,即,将矢量数据的获取与矢量运算分开执行,通过降低了矢量加速器进行矢量运算的耦合性的方式,提高了矢量加速器进行矢量运算的效率。
附图说明
[0015]图1为本申请实施例方案涉及的硬件运行环境的终端结构示意图;图2为本申请矢量加速器的控制方法一实施例的流程示意图;图3为本申请矢量加速器的控制方法矢量加速器的结构示意图;图4为本申请矢量加速器的控制方法矢量超前运行单元的结构示意图;图5为本申请矢量加速器的控制方法功能模块示意图。
[0016]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0017]应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0018]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0019]作为一种实现方案,请参照图1,图1可以是本专利技术实施例方案涉及的终端设备的
硬件架构示意图,如图1所示,该终端设备可以包括矢量加速器101,例如GPU,存储器102,通信总线103,其中,通信总线103用于实现这些模块之间的连接通信。
[0020]存储器102可以是高速RAM存储器,也可以是稳定的存储器(non

volatilememory),例如磁盘存储器。如图1所示,作为一种可读存储介质的存储器102中可以包括矢量加速器的控制程序;而矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。
[0021]进一步地,矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:接收矢量加速器配置指令,基于所述矢量加速器配置指令配置向量长度以及寄存器数量;接收启动矢量运算指令,基于所述启动矢量运算指令获取缓存区中缓存的数据获取指令;根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据;将所述矢量数据存储于所述矢量超前运行单元。
[0022]进一步地,矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息;根据所述地址信息、所述寄存器信息以及所述数据长度信息从所述缓存区中获取所述矢量数据。
[0023]进一步地,矢量加速器101可以用于调用存储器102中存储的矢量加速器的控制程序,并执行以下操作:解析所述缓存区中缓存的所述数据获取指令得到所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息。
[0024]进一步地,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种矢量加速器的控制方法,其特征在于,所述矢量加速器包括矢量超前运行单元和矢量执行单元,所述矢量超前运行单元预取所述矢量执行单元进行矢量运算的矢量数据,所述矢量加速器的控制方法包括:在矢量运算的过程中,从矢量超前运行单元获取目标矢量数据;将所述目标矢量数据发送至矢量执行单元,以供所述矢量执行单元接收到所述目标矢量数据后执行矢量运算。2.如权利要求1所述的矢量加速器的控制方法,其特征在于,所述从矢量超前运行单元获取目标矢量数据的步骤之前,还包括:接收矢量加速器配置指令,基于所述矢量加速器配置指令配置向量长度以及寄存器数量;接收启动矢量运算指令,基于所述启动矢量运算指令获取缓存区中缓存的数据获取指令;根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据;将所述矢量数据存储于所述矢量超前运行单元。3.如权利要求2所述的矢量加速器的控制方法,其特征在于,所述根据获取到的所述缓存区中缓存的数据获取指令获取矢量数据的步骤包括:获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息;根据所述地址信息、所述寄存器信息以及所述数据长度信息从所述缓存区中获取所述矢量数据。4.如权利要求3所述的矢量加速器的控制方法,其特征在于,所述获取所述缓存区中缓存的所述数据获取指令携带的所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息的步骤,包括:解析所述缓存区中缓存的所述数据获取指令得到所述矢量数据的地址信息、存放所述矢量数据的寄存器信息以及数据长度信息。5.如权利要求1所述的矢...

【专利技术属性】
技术研发人员:刘玉佳陈钦树朱伏生朱晓明卢华
申请(专利权)人:广东省新一代通信与网络创新研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1