CN114065122A - 数据处理方法、设备和存储介质 - Google Patents
数据处理方法、设备和存储介质 Download PDFInfo
- Publication number
- CN114065122A CN114065122A CN202010761369.XA CN202010761369A CN114065122A CN 114065122 A CN114065122 A CN 114065122A CN 202010761369 A CN202010761369 A CN 202010761369A CN 114065122 A CN114065122 A CN 114065122A
- Authority
- CN
- China
- Prior art keywords
- matrix
- data
- register file
- processed
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Advance Control (AREA)
Abstract
本发明实施例公开一种数据处理方法、设备和存储介质,属于通信技术领域。该方法包括:将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中;根据待处理矩阵的维度,以及预置的映射信息,确定待处理矩阵对应的目标处理指令存储地址;根据待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息;从目标处理指令存储地址中依次读取目标处理指令,并根据目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。该数据处理方法,一方面,可以实现处理多种维度的矩阵,可编程性和可扩展性强,另一方面,可以并行处理数据,时延较低、效率较高。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据处理方法、设备和存储介质。
背景技术
多输入多输出(Multiple-Input Multiple-Output,MIMO)技术,即在发射端和接收端均采用多天线(或阵列天线)和多通道同时收发信号。通过多组天线的收发,可以大幅提升数据传输效率和信号稳定性,从而使得网络质量、网络速度以及用户容纳量得到质的提升。因此,MIMO技术是第五代移动通信技术网络和无线上网(Wi-Fi)6的核心技术,也是未来无线网络发展的核心所在。
MIMO中的信号处理需要进行大量的矩阵运算。其中,矩阵求逆是最复杂的矩阵运算。而针对MIMO中矩阵的共轭对称性,下三角矩阵的求逆在其中尤为重要。下三角矩阵求逆运算的计算速度直接影响到MIMO系统的实时性,从而影响到整个MIMO系统的性能。
矩阵求逆的方法有很多,针对不同的维度有不同的方法,从而获得不同的性能。比如,对于2*2矩阵,可以采用直接对求逆定理进行展开;对于4*4矩阵,既可以按照定义算伴随矩阵,也可以采用矩阵论中的分块求逆分解算法;对于6*6(包含)以上维度求逆实现方法,可以采用乔里斯基(Cholesky)简化分解算法。目前已进入大规模MIMO时代,需要对各种维度的矩阵,甚至高维矩阵进行求逆计算。矩阵求逆的计算复杂度跟维度的幂次方成正比。因此,当矩阵维度较大时,求逆计算复杂度和计算量非常之高。总而言之,矩阵求逆在MIMO中需要支持的算法多、维度大、计算复杂度高以及要求的处理时间短。
目前,矩阵求逆主要通过专用集成电路(Application Specific IntegratedCircuit,ASIC),通过硬连线的方式,专用于处理某种或多种类型的矩阵求逆算法,可以在效率和功耗上达到最优。
但是,上述矩阵求逆方式中,ASIC支持处理的矩阵类型有限,可扩展性和可裁剪性较差。
发明内容
本发明实施例的主要目的在于提出一种数据处理方法、设备和存储介质,旨在实现高效确定多种维度矩阵的逆矩阵的功能。
为实现上述目的,本发明实施例提供了一种数据处理方法,所述方法包括以下步骤:
将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中;其中,所述任务请求包括:待处理矩阵中的数据、待处理矩阵的维度以及所述待处理矩阵的块数;
根据所述待处理矩阵的维度,以及预置的映射信息,确定所述待处理矩阵对应的目标处理指令存储地址;其中,所述映射信息用于指示矩阵的维度与处理指令存储地址之间的映射关系,所述目标处理指令存储地址中存储的目标处理指令用于确定所述待处理矩阵的逆矩阵;
根据所述待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息;
从所述目标处理指令存储地址中依次读取目标处理指令,并根据所述目标处理指令以及所述块间并行的计算单元信息对应的计算单元,并行处理所述输入寄存器文件中存储的数据。
为实现上述目的,本发明实施例还提出了一种数据处理设备,所述设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现前述方法的步骤。
为实现上述目的,本发明实施例提供了一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述方法的步骤。
本实施例提出的数据处理方法、设备和存储介质,包括:将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中,其中,任务请求包括:待处理矩阵中的数据、待处理矩阵的维度以及待处理矩阵的块数;根据待处理矩阵的维度,以及预置的映射信息,确定待处理矩阵对应的目标处理指令存储地址,其中,映射信息用于指示矩阵的维度与处理指令存储地址之间的映射关系,目标处理执行存储地址中存储的目标处理指令用于确定待处理矩阵的逆矩阵;根据待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息;从目标处理指令存储地址中依次读取目标处理指令,并根据目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。该数据处理方法,可以根据待处理矩阵的维度,获取到待处理矩阵对应的目标处理指令存储地址,同时,还可以根据待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息,之后,根据目标处理指令存储地址中依次读取到的目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据,一方面,可以实现处理多种维度的矩阵,可编程性和可扩展性强,另一方面,可以并行处理数据,时延较低、效率较高。
附图说明
图1为一实施例提供的数据处理方法的流程示意图;
图2为另一实施例提供的数据处理方法实施例的流程示意图;
图3为一实施例提供的数据处理装置的结构示意图;
图4为一实施例提供的下三角矩阵存储格式的示意图;
图5为处理指令格式的示意图;
图6为处理指令中包括的数据的访问类型的示意图;
图7为访问通道合并的示意图;
图8为另一实施例提供的数据处理装置的结构示意图;
图9为一实施例提供的数据处理设备的结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明实施例的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
图1为一实施例提供的数据处理方法的流程示意图。本实施例适用于确定接收到的矩阵的逆矩阵的场景中。本实施例可以由数据处理装置执行,该数据处理装置可以由软件和/或硬件的方式实现,该数据处理装置可以集成于诸如多模基站或者多模终端的通信设备中。如图1所示,本实施例提供的数据处理方法包括如下步骤:
步骤101:将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中。
其中,任务请求包括:待处理矩阵中的数据、待处理矩阵的维度以及待处理矩阵的块数。
本实施例中的待处理矩阵的维度可以为任意维度。例如,1、2、4、8、16、24及32等。本实施例中的任务请求可以是其他设备发送给该数据处理装置的,也可以是该数据处理装置的其他模块生成的。待处理矩阵的块数指的是待处理矩阵的数量。
可选地,本实施例中的待处理矩阵可以为下三角矩阵。大规模MIMO中矩阵求逆运算在信道检测算法与预编码算法中占据重要地位。
步骤102:根据待处理矩阵的维度,以及预置的映射信息,确定待处理矩阵对应的目标处理指令存储地址。
其中,映射信息用于指示矩阵的维度与处理指令存储地址之间的映射关系。目标处理指令存储地址中存储的目标处理指令用于确定待处理矩阵的逆矩阵。
本实施例中,可以预先根据应用需求,分析应用,从中提取出应用中所有需要的矩阵维度,并根据算法性能仿真,确定各种维度的求逆算法和流程。比如,在5G MIMO处理过程中,需要的矩阵求逆从1x1到64x64,其中2x2采用直接求逆算法以及4x4采用分块求逆算法,其他采用Cholesky分解算法。同时64x64的可以分解成4x16x16,8x8x8,64x1x1,以及需要支持8x2x2,8x4x4等等。
根据算法,通过脚本的方式,把这些规格转化为伪代码,通过处理指令的形式映射到各种硬件资源,然后统计各种规格代码的地址区间,做成配置文件的形式,等待通过动态或静态的方式下载到数据处理装置中的硬件指令存储器中,例如,下载到随机存取存储器(Random Access Memory,RAM)。
本实施例中的数据处理装置可以在上电复位后,装载上述配置文件,下载处理指令和映射信息。处理指令代表计算和控制流程,映射信息中存储矩阵的维度、处理指令开始地址以及处理指令结束地址(即,处理指令存储地址)的映射关系。
在步骤102中,可以根据待处理矩阵的维度,以及预置的映射表,即,矩阵维度与处理指令存储地址的对应关系,确定待处理矩阵对应的目标处理指令存储地址。本实施例中的目标处理指令存储地址中存储的目标处理指令用于确定待处理矩阵的逆矩阵。
步骤103:根据待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息。
本实施例中的资源池中的计算资源可以包括乘法器等计算资源。矩阵求逆的吞吐量主要由乘法器决定,根据如上提取的矩阵块数和维度,确定计算一个元素最大需要的乘法单元的数量,例如,可以为64个乘法单元。同时,为了支持块间并行,可以将这些乘法单元分组。通过各种网络的动态配置,这些资源,即可以组织成一个统一的1个大资源池,也可以组织成多个小资源池。
在步骤103中,根据待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息。举例来说,假设待处理矩阵的块数为4个,则可以将资源池中的计算资源分为4个独立的网络,这4个独立的网络并行处理4个待处理矩阵中的数据。
这里的计算单元信息用于指示块间并行的计算单元,以及,计算单元与待处理矩阵的对应关系。本实施例中的块间并行的计算单元指的是并行处理不同的待处理矩阵中的数据的计算单元。
需要说明的是,步骤102与步骤103的执行过程没有时序关系。两者可以同时执行,可以以任意的顺序执行。
步骤104:从目标处理指令存储地址中依次读取目标处理指令,并根据目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。
本实施例中的目标处理指令存储地址中存储的目标处理指令的个数可以为多个。在步骤104中,依次读取目标处理指令。在每读取到一个目标处理指令之后,根据目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。
目标处理指令中包括访问地址及处理方式等,可以根据目标处理指令中的访问地址,从输入寄存器文件中读取到数据后,根据目标处理指令中包括的处理方式,对该读取到的数据进行处理。
本实施例中,在执行完目标处理指令存储地址中的所有目标处理指令之后,即可以获取到待处理矩阵的逆矩阵。
一实施例中,可以通过以下过程执行步骤104:
步骤1041:将当前运行地址设置为目标处理指令存储地址中的第i个地址。
步骤1042:根据第i个地址对应的目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。
步骤1043:在处理完第i个地址对应的目标处理指令之后,在确定当前运行地址不等于目标处理指令存储地址中的指令结束地址时,确定i=i+1,返回执行将当前运行地址设置为所述目标处理指令存储地址中的第i个地址的步骤。
需要说明的是,在初始运行时,当前运行地址为目标处理指令存储地址中的开始地址。i为大于或者等于0的整数。
更进一步地,由于矩阵求逆算法中某些数据之间有较强的依赖关系,为了避免读写冲突,某些计算流程之间需要插入等待周期。基于该需求,目标处理指令还包括延迟周期。上述步骤1043的实现过程具体为:在确定所述当前运行地址不等于所述目标处理指令存储地址中的指令结束地址之后,在延迟所述第i个地址对应的目标处理指令中包括的延迟周期之后,确定i=i+1,返回执行将当前运行地址设置为所述目标处理指令存储地址中的第i个地址的步骤。举例来说,假设i=3,目标处理指令存储地址中的指令结束地址为第11个地址,在处理完第3个地址对应的目标处理指令之后,在确定当前运行地址不等于目标处理指令存储地址中的指令结束地址时,在延迟第3个地址对应的目标处理指令中包括的延迟周期之后,确定i=4,返回执行将当前运行地址设置为所述目标处理指令存储地址中的第4个地址的步骤。
本实施例提供的数据处理方法,借鉴了单指令多数据流(Single InstructionMultiple Data,SIMD)和ASIC的思想,可以实现通用可配置矩阵求逆方法和装置,从而,既可获得SIMD的可编程性和可扩展性的优点,也可获得ASIC低时延、高效率和低功耗的优点。
本实施例提供的数据处理方法可以应用于5G无线移动通信、深空通信、光纤通信、卫星数字视频和音频广播等MIMO技术领域。
本实施例提供一种数据处理方法,包括:将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中,其中,任务请求包括:待处理矩阵中的数据、待处理矩阵的维度以及待处理矩阵的块数;根据待处理矩阵的维度,以及预置的映射信息,确定待处理矩阵对应的目标处理指令存储地址,其中,映射信息用于指示矩阵的维度与处理指令存储地址之间的映射关系,目标处理执行存储地址中存储的目标处理指令用于确定待处理矩阵的逆矩阵;根据待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息;从目标处理指令存储地址中依次读取目标处理指令,并根据目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。该数据处理方法,可以根据待处理矩阵的维度,获取到待处理矩阵对应的目标处理指令存储地址,同时,还可以根据待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息,之后,根据目标处理指令存储地址中依次读取到的目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据,一方面,可以实现处理多种维度的矩阵,可编程性和可扩展性强,另一方面,可以并行处理数据,时延较低、效率较高。
图2为另一实施例提供的数据处理方法实施例的流程示意图。本实施例在图1所示实施例及各种可选方案的基础上,对数据处理方法包括的其他步骤作一详细说明。如图2所示,本实施例提供的数据处理方法包括如下步骤:
步骤201:在确定任务接口存在任务请求时,判断输入寄存器文件是否为空闲。
步骤202:在确定输入寄存器文件空闲时,接收任务请求,并将输入寄存器文件的状态设置为忙状态。
在步骤201中,在判断输入寄存器文件为空闲时,接收任务请求,可以避免写操作错误。同时,将输入寄存器文件的状态设置为忙状态,可以避免输入寄存器文件被其他任务占用而导致数据处理过程出错。为了提高效率,可以在接收任务请求的同时,将输入寄存器文件的状态设置为忙状态。当然,也可以在接收任务请求之前,将输入寄存器文件的状态设置为忙状态。
步骤203:将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中。
其中,任务请求包括:待处理矩阵中的数据、待处理矩阵的维度以及待处理矩阵的块数。
可选地,本实施例中的待处理矩阵可以为下三角矩阵。步骤203具体可以为:按照预设的下三角矩阵的存储格式,将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中;拷贝接收到的任务请求中包括的待处理矩阵中的数据,并按照上三角矩阵的存储格式存储拷贝的数据。
可选地,在将数据存储之后,还可以进行数据拉齐等预处理操作。
图4为一实施例提供的下三角矩阵存储格式的示意图。如图4所示,假设输入寄存器文件最小存储单元可以存储8*8的矩阵,并且,该输入寄存器文件有4行、4列该最小存储单元。那么,如图4中(1)图所示,该输入寄存器文件可以存储1~64个1x1矩阵;如图4中(2)图所示,该输入寄存器文件可以存储1~8个8x8矩阵,存储的位置如(2)图中的灰色区域所示;如图4中(3)图所示,该输入寄存器文件可以存储1~4个16x16矩阵,存储的位置如(3)图中的灰色区域所示;如图4中(4)图所示,该输入寄存器文件可以存储1个32x32矩阵,存储的位置如(4)图中的灰色区域所示。进一步地,(4)图中的虚线之上的灰色区域可以存储1个24x24矩阵。
通过分析矩阵求逆的各种算法,算法中对数据的访问,主要有标量访问、行矢量访问以及列矢量访问。对于下三角矩阵求逆,可以同时存储上三角,从而把列矢量访问转化为行矢量访问,降低数据访问的复杂度。
可选地,本实施例中的数据处理装置中还可以包括输出寄存器文件。
图3为一实施例提供的数据处理装置的结构示意图。如图3所示,该数据处理装置主要包括指令控制、任务输入、计算资源池、寄存器文件以及任务输出等五大模块。
寄存器文件包括:输入寄存器文件B(regFileB)和输出寄存器文件C(regFileC)。输入寄存器文件B和输出寄存器文件C可以为矢量寄存器文件。
为降低数据访问时延和存储中间计算过程,采用两个矢量寄存器堆(即,矢量寄存器文件),可以兼顾实现数据输入/输出的流水操作,从而降低整体的处理时延。这些高维度的矢量寄存器堆,可以并行存储多个低维度的矩阵,从而完成多个低维度矩阵的并行求逆,从而提高计算单元的利用率,提高矩阵求逆吞吐量和降低控制开销,降低整体功耗。
兼顾实现数据输入/输出的流水操作意为:在数据输入阶段,在输入寄存器文件为空闲状态时,不论输出寄存器文件是否为空闲,均可以实现接收任务请求;在数据输出阶段,不论数据是否输出完成,均可将输入寄存器文件的状态设置为空闲状态。数据输入/输出的流水操作可以降低数据处理的整体处理时延。
步骤204:判断输出寄存器文件是否为空闲。
可选地,步骤203可以在步骤204之后执行。在将数据存储之后,在开始处理数据之前,可以判断输出寄存器文件是否为空闲。
步骤205:在确定输出寄存器文件空闲时,将输出寄存器文件的状态设置为忙状态。
步骤206:在将输出寄存器文件的状态设置为忙状态之后,确定执行根据待处理矩阵的维度,以及预置的矩阵维度与处理指令存储地址的对应关系,确定待处理矩阵对应的目标处理指令存储地址的步骤。
在进行步骤207之前,为了避免写错误,需要判断输出寄存器文件的状态。在确定输出寄存器文件为空闲时,确定执行步骤207。将输出寄存器文件的状态设置为忙状态,可以避免输出寄存器文件被其他任务占用而导致数据处理过程出错。
步骤207:根据待处理矩阵的维度,以及预置的映射信息,确定待处理矩阵对应的目标处理指令存储地址。
其中,映射信息用于指示矩阵的维度与处理指令存储地址之间的映射关系。目标处理执行存储地址中存储的目标处理指令用于确定待处理矩阵的逆矩阵。
本实施例中通过分析矩阵求逆的各种算法,提取出各种求逆算法所必须的基础细粒度算子。主要包括如下几类:
其中,B表示输入寄存器文件中的数据,C表示输出寄存器文件中的数据,D表示上一次目标处理指令的执行结果,A表示B和C的处理结果。
通过分析矩阵求逆算法流程,其控制相对比较简单,而且属于大规模并行计算。本实施例采用离线编程,即简化控制逻辑,又增强灵活性。
图5为处理指令格式的示意图。如图5所示,该处理指令中的各字段的意义如下:
指令:包括以上的基本细粒度算子,主要用于控制计算单元的执行。
Halt周期:由于矩阵求逆算法中某些数据之间有较强的依赖关系,为避免读写冲突,某些计算流程之间需要插入等待周期。该字段用于在执行完此条指令后,流水线暂停n个周期。
并行度:该字段用于细粒度的块内并行度,表示块内并行处理的元素个数,结合任务参数中的粗粒度的块间并行度(即待处理矩阵的块数),可以把计算资源和各种网络组织成各种形式。比如,如果块数为2,并行度为2,则累加/定标/广播网络会把资源池组织成四个独立的网络,累加/定标/广播功能仅在独立网络内部执行,并不会跨越两个互不相干的独立网络,这个可以同时处理2个矩阵的求逆,并且每个矩阵可同时计算两个元素。
定标控制:该字段主要用于算法流程中的各种定标值的计算、传播以及定点化需要的定标值的选择等。
源/目的A:该字段主要用于控制数据A的行为。通过不同的控制,可以从输入寄存器文件B或输出寄存器文件C中获取操作数;也可以把结果回写到输入寄存器文件B或输出寄存器文件C中;同时,还可以获取常量值或所取数据的共轭值。
源B和源C:这两个字段分别用于控制访问寄存器文件B和C的行为。通过不同的控制,既可以行访问,也可以列访问。其中类型表示访问类型:类型=0,表示行访问;类型=1,表示列访问。(From0,To0)表示不同资源块所访问数据的位置;(From1,To1)表示相同资源块内所访问数据的序列。其中,不同资源块表示不同的行或者列,相同资源块表示同行或者同列。
图6为处理指令中包括的数据的访问类型的示意图。如图6所示,在处理指令中的类型为1时,表示列访问。From0、To0表示访问不同的列,From1、To1表示访问From0、To0对应的列中的哪几行。举例来说,From0、To0可以为From0、To2,表示访问第0列至第2列,From1、To1可以为From2、To4,表示访问第0列至第2列中每列的第2行至第4行。
如图6所示,在处理指令中的类型为0时,表示行访问。From0、To0表示访问不同的行,From1、To1表示访问From0、To0对应的行中的哪几列。
根据以上几个字段的不同组合,通过译码,控制着矩阵求逆的整个处理流水过程,从而摆脱硬连线固化的限制,增加控制的灵活性,简化控制逻辑,降低硬件实现复杂度。
离线指令编程可以根据应用需求,把多种算法和维度组合的矩阵求逆过程编码,并静态和动态下载到指令RAM,同时把映射关系配置到映射信息中,根据任务参数中的待处理矩阵的维度,从映射信息中查找到相应程序并执行。因此,离线指令编程不仅增强灵活性、降低控制复杂度,而且有益于动态功耗的降低。
步骤208:根据待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息。
步骤207与步骤208之间,没有时序关系。
步骤209:从目标处理指令存储地址中依次读取目标处理指令之后,根据块内并行度,确定块内并行的计算单元信息。
步骤209中依次读取目标处理指令的过程与步骤104的具体实现过程想类似,此处不再赘述。
如图5所示,本实施例中的目标处理指令包括的并行度指的是块内并行度。在从目标处理指令存储地址中读取到目标处理指令之后,可以根据块内并行度,确定块内并行的计算单元信息。
在实际应用中,由于要求矩阵的维度范围比较多,比如1,2,4,8,16,24,32等。如果按照最大能力预留资源,那么在处理小维度矩阵的时候,资源无法得到充分利用,既浪费资源,又增加延迟。因此,本实施例中,任务请求中包括待处理矩阵的块数,采用把多块小矩阵拼接成大矩阵,并行处理,充分利用其资源,提高资源的利用率,同时降低由于串行处理引起的时延开销。矩阵求逆一般是针对每个元素点进行相应的计算,如果每次均只处理一个元素点,虽然简单,但并不能充分资源,同时时延也比较大。本本实施例可以把资源按需求组织起来,并行处理相同矩阵的多个元素点,到达块内并行的目的。其中,块内并行度指的是并行处理的同一个待处理矩阵中的元素的个数。
本实施例采用计算资源池的思想,把计算资源按一定粒度组合成具有多个独立计算资源的池,计算资源池可以根据应用需求,组合成一套或多套计算单元,处理一个大矩阵或并行处理多个小矩阵,以及并行处理同一矩阵多个元素。可以根据需要,把这些资源池组合成多个并行处理的计算单元,并行处理多个矩阵或元素。这样,由于多个并行计算单元共享相同的程序和控制逻辑,降低功耗开销,并且在处理小矩阵时,提高吞吐量,减少时间延迟。
一种实现方式中,如果确定计算一个元素最大需要64个乘法单元,同时为支持各种粗/细粒度的并行度,把这些乘法单元分为8组,每组8个。通过各种网络的动态配置,这些资源,即可以组织成一个统一的1个大资源池,也可以组织成最大8个的小资源池。
在步骤208中,根据任务请求中待处理矩阵的块数,在粗粒度层面静态配置各种网络,把计算资源池组织成块间并行处理的计算单元。在步骤209中,根据从目标处理指令存储地址中读取到的目标处理指令中的并行度,再从细粒度层面动态调整各种网络和计算单元,并行处理块内的多个元素,从而实现控制各种单元按需求动态运行。
步骤210:根据目标处理指令、块间并行的计算单元信息对应的计算单元以及块内并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。
在步骤210中,可以基于目标处理指令,通过块间并行的计算单元信息对应的计算单元以及块内并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。该并行处理过程既可以实现多个待处理矩阵块之间的处理并行,也可以实现同一个待处理矩阵内的多个元素之间的并行处理。
本实施例中,由于是依次获取目标处理指令,在每处理一个目标处理指令之后,可以将本次处理输入寄存器文件中存储的数据过程中,获取到的中间数据存储在输出寄存器文件或者输入寄存器文件中,将获取到的结果数据存储在输出寄存器文件中。可选地,获取到的中间数据还可以存储在计算单元的缓存单元中。即,本实施例中的两个寄存器文件可分别用于输入存储、输出存储或中间临时存储。同时,根据并行处理的块数,可以分别存储多个小矩阵。
如图5所示,目标指令还包括目标数据的访问地址(即图5中的源B和源C字段)以及目标数据的处理方式。在步骤210中,若根据目标数据的访问地址,确定计算单元需要访问的多个目标数据具有相同的行或者列,则将多个目标数据的访问通道合并成一个访问通道;根据合并后的访问通道,从输入寄存器文件和/或输出寄存器文件中读取数据;从读取到的数据中,根据目标数据的访问地址,获取目标数据;根据目标处理指令包括的处理方式、块间并行的计算单元信息对应的计算单元以及块内并行的计算单元信息对应的计算单元,并行处理目标数据。
这里的计算单元可以是块间并行的计算单元,也可以是块内并行的计算单元。本实施例并不以此为限。
在具体实现时,在合并访问通道后,可以产生读控制信息。根据读控制信息,从输入寄存器文件和/或输出寄存器文件中读取合并后的访问通道中的所有数据,然后再从中选择所需要的目标数据。在读取到所需要的目标数据之后,进行相关的预处理,如定点化或共轭处理等;根据以前收集的定点化数据,按目标处理指令要求广播或指派到各个定点化单元;根据目标指令中的指令,启动相关的块间并行的计算单元信息对应的计算单元以及块内并行的计算单元信息对应的计算单元,按指令中的需求,动态处理定点化和收集定点化相关的数据,并把结果回写到寄存器文件中和/或主控单元中。
由于多个资源池,并行处理所需数据量大。这样,需要从寄存器文件并行读取大量的数据。如果按照常规的读取,会有很多级数据选择器选择逻辑,这样在物理后端上由于拥塞,难于实现。针对矩阵求逆,特别是下三角矩阵求逆数据访问的特性,寄存器文件同时把下三角的数据存储到上三角,相当于拷贝一份,这样可以把列访问转换为行访问,而且由于同时访问的数据仅在局部,通过通道合并之后,可以把读数据的行为控制在一定的较少行数之内,降低第一级选择器的数目;通过读取行数据后,再分别进行列选择。通过这种技术,极大的降低行访问的数量,从而减少大量的数据选择器逻辑,有利于物理后端的实现。
图7为访问通道合并的示意图。同时完成8块8x8的矩阵,在执行图中所示处理指令时,如果通道独立的话,需要8个通道同时读取8行数据;但是经过通道合并后,仅需要4个通道同时读取4行数据。这样,可以极大降低读选择器的数目,利于后端布线。
在步骤209中,如果确定当前运行地址等于目标处理指令存储地址中的指令结束地址时,表明该待处理矩阵的求逆指令执行结束,释放输入寄存器文件。之后,根据任务参数和主控定点化结果,对输出数据进行后处理,并输出相关结果参数和数据,然后置输出寄存器文件为空闲状态,完成整个矩阵的下三角求逆过程。
本实施例的上述数据处理过程,采用输入-计算-输出三级流水松耦合,各个流水间弱相关,仅通过触发信号触发下级流水的执行。
请继续参照图3,在任务输入模块接收到任务请求之后,将接收到的任务请求中包括的待处理矩阵中的数据通过数据写接口存储在输入寄存器文件中;将资源池中的计算单元配置为块间并行的计算单元信息;根据任务请求以及映射信息,例如,映射表,读取到目标处理指令存储地址,进而,获取到目标处理指令:指令0至指令N:通过取指、译码以及控制,依次执行各目标处理指令;根据目标处理指令,将资源池中的资源进行细粒度配置,确定块内并行的计算单元信息;根据配置后的计算单元,并行处理数据。在处理过程中,需要通过数据读接口、通道合并等,从寄存器文件中读取数据。在一个目标处理指令执行完成后,通过数据写接口,存储在寄存器文件中。图3中的资源池中包括乘积累加运算(MultiplyAccumulate,MAC)单元。
本实施例提供的数据处理方法,克服了传统矩阵求逆方法无法兼顾通用性、吞吐量、复杂度以及低时延等多种指标的问题,借鉴了SIMD+ASIC的思想,提出一种具有高度的可配性和通用性的矩阵求逆实现方法,以适应不同的协议以及协议的不断演进;同时结合通道合并、双矢量寄存器文件、块间块内并行以及各种广播网络等多种技术,采用资源池的思路,降低实现代价、开发和后端风险,满足各种算法、各种维度以各种应用场景的需求。
图8为另一实施例提供的数据处理装置的结构示意图。如图8所示,本实施例提供的数据处理装置包括如下模块:存储模块81、第一确定模块82、第二确定模块83以及处理模块84。
存储模块81,被配置为将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中。
其中,任务请求包括:待处理矩阵中的数据、待处理矩阵的维度以及待处理矩阵的块数。
第一确定模块82,被配置为根据待处理矩阵的维度,以及预置的映射信息,确定待处理矩阵对应的目标处理指令存储地址。
其中,映射信息用于指示矩阵的维度与处理指令存储地址之间的映射关系。目标处理指令存储地址中存储的目标处理指令用于确定待处理矩阵的逆矩阵。
第二确定模块83,被配置为根据待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息。
处理模块84,被配置为从目标处理指令存储地址中依次读取目标处理指令,并根据目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。
可选地,目标处理指令包括块内并行度。该装置还包括:第三确定模块,被配置为根据块内并行度,确定块内并行的计算单元信息。处理模块84具体用于:根据目标处理指令、块间并行的计算单元信息对应的计算单元以及块内并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据。
一实现方式中,处理模块84具体用于:将当前运行地址设置为目标处理指令存储地址中的第i个地址;根据第i个地址对应的目标处理指令以及块间并行的计算单元信息对应的计算单元,并行处理输入寄存器文件中存储的数据;在处理完第i个地址对应的目标处理指令之后,在确定当前运行地址不等于目标处理指令存储地址中的指令结束地址时,确定i=i+1,返回执行将当前运行地址设置为目标处理指令存储地址中的第i个地址的步骤。
进一步地,目标处理指令还包括延迟周期。处理模块84具体用于:在确定当前运行地址不等于目标处理指令存储地址中的指令结束地址之后,在延迟第i个地址对应的目标处理指令中包括的延迟周期之后,确定i=i+1,返回执行将当前运行地址设置为目标处理指令存储地址中的第i个地址的步骤。
可选地,待处理矩阵为下三角矩阵。存储模块81具体用于:按照预设的下三角矩阵的存储格式,将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中;拷贝接收到的任务请求中包括的待处理矩阵中的数据,并按照上三角矩阵的存储格式存储拷贝的数据。
一实现方式中,存储模块81还用于:将本次处理输入寄存器文件中存储的数据过程中,获取到的中间数据存储在输出寄存器文件或者输入寄存器文件中,将获取到的结果数据存储在输出寄存器文件中。
可选地,目标指令还包括目标数据的访问地址以及目标数据的处理方式。处理模块84具体用于:若根据目标数据的访问地址,确定计算单元需要访问的多个目标数据具有相同的行或者列,则将多个目标数据的访问通道合并成一个访问通道;根据合并后的访问通道,从输入寄存器文件和/或输出寄存器文件中读取数据;从读取到的数据中,根据目标数据的访问地址,获取目标数据;根据目标处理指令包括的处理方式、块间并行的计算单元信息对应的计算单元以及块内并行的计算单元信息对应的计算单元,并行处理目标数据。
一实现方式中,装置还包括:判断模块,被配置为在确定任务接口存在任务请求时,判断输入寄存器文件是否为空闲;接收设置模块,被配置为在确定输入寄存器文件空闲时,接收任务请求,并将输入寄存器文件的状态设置为忙状态。
另一实现方式中,判断模块,还用于判断输出寄存器文件是否为空闲。在该实现方式中,该装置还包括:设置模块以及第四确定模块。设置模块,被配置为在确定输出寄存器文件空闲时,将输出寄存器文件的状态设置为忙状态。第四确定模块,被配置为在将输出寄存器文件的状态设置为忙状态之后,确定执行根据待处理矩阵的维度,以及预置的映射信息,确定待处理矩阵对应的目标处理指令存储地址的步骤。
本实施例提供的数据处理装置用于执行上述任意实施例的数据处理方法,本实施例提供的数据处理装置实现原理和技术效果类似,此处不再赘述。
图9为一实施例提供的数据处理设备的结构示意图。如图9所示,该数据处理设备包括处理器91和存储器92;数据处理设备中处理器91的数量可以是一个或多个,图9中以一个处理器91为例;数据处理设备中的处理器91和存储器92;可以通过总线或其他方式连接,图9中以通过总线连接为例。
存储器92作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的数据处理方法对应的程序指令/模块(例如,数据处理装置中的存储模块81、第一确定模块82、第二确定模块83以及处理模块84)。处理器91通过运行存储在存储器92中的软件程序、指令以及模块,从而数据处理设备的各种功能应用以及数据处理,即实现上述的数据处理方法。
存储器92可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据数据处理设备的使用所创建的数据等。此外,存储器92可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种数据处理方法,该方法包括:
将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中;其中,所述任务请求包括:待处理矩阵中的数据、待处理矩阵的维度以及所述待处理矩阵的块数;
根据所述待处理矩阵的维度,以及预置的映射信息,确定所述待处理矩阵对应的目标处理指令存储地址;其中,所述映射信息用于指示矩阵的维度与处理指令存储地址之间的映射关系,所述目标处理指令存储地址中存储的目标处理指令用于确定所述待处理矩阵的逆矩阵;
根据所述待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息;
从所述目标处理指令存储地址中依次读取目标处理指令,并根据所述目标处理指令以及所述块间并行的计算单元信息对应的计算单元,并行处理所述输入寄存器文件中存储的数据。
当然,本申请所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的数据处理方法中的相关操作。
以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。
一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本发明实施例的优选实施例,并非因此局限本发明实施例的权利范围。本领域技术人员不脱离本发明实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本发明实施例的权利范围之内。
Claims (11)
1.一种数据处理方法,其特征在于,所述方法包括:
将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中;其中,所述任务请求包括:待处理矩阵中的数据、待处理矩阵的维度以及所述待处理矩阵的块数;
根据所述待处理矩阵的维度,以及预置的映射信息,确定所述待处理矩阵对应的目标处理指令存储地址;其中,所述映射信息用于指示矩阵的维度与处理指令存储地址之间的映射关系,所述目标处理指令存储地址中存储的目标处理指令用于确定所述待处理矩阵的逆矩阵;
根据所述待处理矩阵的块数,配置资源池中的计算资源,确定块间并行的计算单元信息;
从所述目标处理指令存储地址中依次读取目标处理指令,并根据所述目标处理指令以及所述块间并行的计算单元信息对应的计算单元,并行处理所述输入寄存器文件中存储的数据。
2.根据权利要求1所述的方法,其特征在于,所述目标处理指令包括块内并行度;
从所述目标处理指令存储地址中依次读取目标处理指令之后,所述方法还包括:
根据所述块内并行度,确定块内并行的计算单元信息;
所述根据所述目标处理指令以及所述块间并行的计算单元信息对应的计算单元,处理所述输入寄存器文件中存储的数据,包括:
根据所述目标处理指令、所述块间并行的计算单元信息对应的计算单元以及所述块内并行的计算单元信息对应的计算单元,并行处理所述输入寄存器文件中存储的数据。
3.根据权利要求1所述的方法,其特征在于,所述从所述目标处理指令存储地址中依次读取目标处理指令,并根据所述目标处理指令以及所述块间并行的计算单元信息对应的计算单元,并行处理所述输入寄存器文件中存储的数据,包括:
将当前运行地址设置为所述目标处理指令存储地址中的第i个地址;
根据所述第i个地址对应的目标处理指令以及所述块间并行的计算单元信息对应的计算单元,并行处理所述输入寄存器文件中存储的数据;
在处理完所述第i个地址对应的目标处理指令之后,在确定所述当前运行地址不等于所述目标处理指令存储地址中的指令结束地址时,确定i=i+1,返回执行将当前运行地址设置为所述目标处理指令存储地址中的第i个地址的步骤。
4.根据权利要求3所述的方法,其特征在于,所述目标处理指令还包括延迟周期;
所述在确定所述当前运行地址不等于所述目标处理指令存储地址中的指令结束地址时,确定i=i+1,返回执行将当前运行地址设置为所述目标处理指令存储地址中的第i个地址的步骤,包括:
在确定所述当前运行地址不等于所述目标处理指令存储地址中的指令结束地址之后,在延迟所述第i个地址对应的目标处理指令中包括的延迟周期之后,确定i=i+1,返回执行将当前运行地址设置为所述目标处理指令存储地址中的第i个地址的步骤。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述待处理矩阵为下三角矩阵;
所述将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中,包括:
按照预设的下三角矩阵的存储格式,将所述接收到的任务请求中包括的待处理矩阵中的数据存储在所述输入寄存器文件中;
拷贝所述接收到的任务请求中包括的待处理矩阵中的数据,并按照上三角矩阵的存储格式存储拷贝的数据。
6.根据权利要求2-4任一项所述的方法,其特征在于,所述根据所述目标处理指令、所述块间并行的计算单元信息对应的计算单元以及所述块内并行的计算单元信息对应的计算单元,并行处理所述输入寄存器文件中存储的数据之后,所述方法还包括:
将本次处理所述输入寄存器文件中存储的数据过程中,获取到的中间数据存储在输出寄存器文件或者所述输入寄存器文件中,将获取到的结果数据存储在所述输出寄存器文件中。
7.根据权利要求6所述的方法,其特征在于,所述目标指令还包括目标数据的访问地址以及目标数据的处理方式;
所述根据所述目标处理指令、所述块间并行的计算单元信息对应的计算单元以及所述块内并行的计算单元信息对应的计算单元,并行处理所述输入寄存器文件中存储的数据,包括:
若根据所述目标数据的访问地址,确定计算单元需要访问的多个目标数据具有相同的行或者列,则将所述多个目标数据的访问通道合并成一个访问通道;
根据合并后的访问通道,从所述输入寄存器文件和/或所述输出寄存器文件中读取数据;
从读取到的数据中,根据所述目标数据的访问地址,获取所述目标数据;
根据所述目标处理指令包括的处理方式、所述块间并行的计算单元信息对应的计算单元以及所述块内并行的计算单元信息对应的计算单元,并行处理所述目标数据。
8.根据权利要求6所述的方法,其特征在于,所述将接收到的任务请求中包括的待处理矩阵中的数据存储在输入寄存器文件中之前,所述方法还包括:
在确定任务接口存在任务请求时,判断输入寄存器文件是否为空闲;
在确定所述输入寄存器文件空闲时,接收所述任务请求,并将所述输入寄存器文件的状态设置为忙状态。
9.根据权利要求6所述的方法,其特征在于,所述根据所述待处理矩阵的维度,以及预置的映射信息,确定所述待处理矩阵对应的目标处理指令存储地址之前,所述方法还包括:
判断所述输出寄存器文件是否为空闲;
在确定所述输出寄存器文件空闲时,将所述输出寄存器文件的状态设置为忙状态;
在将所述输出寄存器文件的状态设置为忙状态之后,确定执行根据所述待处理矩阵的维度,以及预置的映射信息,确定所述待处理矩阵对应的目标处理指令存储地址的步骤。
10.一种数据处理设备,其特征在于,所述设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如权利要求1至9任一项所述的数据处理方法的步骤。
11.一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至9中任一项所述的数据处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010761369.XA CN114065122A (zh) | 2020-07-31 | 2020-07-31 | 数据处理方法、设备和存储介质 |
PCT/CN2021/107658 WO2022022362A1 (zh) | 2020-07-31 | 2021-07-21 | 数据处理方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010761369.XA CN114065122A (zh) | 2020-07-31 | 2020-07-31 | 数据处理方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114065122A true CN114065122A (zh) | 2022-02-18 |
Family
ID=80037122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010761369.XA Pending CN114065122A (zh) | 2020-07-31 | 2020-07-31 | 数据处理方法、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114065122A (zh) |
WO (1) | WO2022022362A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115880134A (zh) * | 2023-01-31 | 2023-03-31 | 南京砺算科技有限公司 | 采用矢量寄存器的常量数据处理方法及图形处理器、介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801147B (zh) * | 2022-11-30 | 2023-09-22 | 珠海笛思科技有限公司 | 数据通信处理方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070208760A1 (en) * | 2006-03-06 | 2007-09-06 | Reuter James M | Data-state-describing data structures |
CN101562744B (zh) * | 2008-04-18 | 2014-04-23 | 展讯通信(上海)有限公司 | 二维反变换装置 |
CN101621306B (zh) * | 2008-06-30 | 2013-01-09 | 中兴通讯股份有限公司 | 多输入多输出系统预编码矩阵的映射方法和装置 |
CN104572588B (zh) * | 2014-12-23 | 2018-10-23 | 中国电子科技集团公司第三十八研究所 | 矩阵求逆处理方法和装置 |
CN105790809B (zh) * | 2016-02-24 | 2018-08-21 | 东南大学 | 面向mimo信道检测系统中粗粒度可重构阵列及路由结构 |
CN108647007B (zh) * | 2018-04-28 | 2020-10-16 | 天津芯海创科技有限公司 | 运算系统及芯片 |
-
2020
- 2020-07-31 CN CN202010761369.XA patent/CN114065122A/zh active Pending
-
2021
- 2021-07-21 WO PCT/CN2021/107658 patent/WO2022022362A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115880134A (zh) * | 2023-01-31 | 2023-03-31 | 南京砺算科技有限公司 | 采用矢量寄存器的常量数据处理方法及图形处理器、介质 |
CN115880134B (zh) * | 2023-01-31 | 2024-04-16 | 南京砺算科技有限公司 | 采用矢量寄存器的常量数据处理方法及图形处理器、介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022022362A1 (zh) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107315574B (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
CN110326003B (zh) | 用于神经网络处理的具有位置依赖存储器的硬件节点 | |
KR20220129107A (ko) | 행렬 곱셈기 | |
CN106846235B (zh) | 一种利用NVIDIA Kepler GPU汇编指令加速的卷积优化方法及系统 | |
CN103440121B (zh) | 一种面向向量处理器的三角矩阵乘法向量化方法 | |
US20070271325A1 (en) | Matrix multiply with reduced bandwidth requirements | |
US11874896B2 (en) | Methods and apparatus for job scheduling in a programmable mixed-radix DFT/IDFT processor | |
US8595467B2 (en) | Floating point collect and operate | |
WO2022022362A1 (zh) | 数据处理方法、设备和存储介质 | |
WO2021036729A1 (zh) | 一种矩阵运算方法、运算装置以及处理器 | |
CN107957977B (zh) | 一种计算方法及相关产品 | |
KR20220107287A (ko) | 데이터 처리 장치, 방법, 기지국 및 저장 매체 | |
CN112559053A (zh) | 可重构处理器数据同步处理方法及装置 | |
CN108108189B (zh) | 一种计算方法及相关产品 | |
WO2016024508A1 (ja) | マルチプロセッサ装置 | |
US10127040B2 (en) | Processor and method for executing memory access and computing instructions for host matrix operations | |
CN111158757B (zh) | 并行存取装置和方法以及芯片 | |
KR20210084220A (ko) | 부분 판독/기입을 갖는 재구성 가능한 시스톨릭 어레이를 위한 시스템 및 방법 | |
CN111047037B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115774831A (zh) | 数据处理方法、系统及装置、电子设备及存储介质 | |
Sun et al. | Crsd: application specific auto-tuning of spmv for diagonal sparse matrices | |
CN115080496A (zh) | 网络映射方法、数据处理方法及装置、设备、系统和介质 | |
JP4087379B2 (ja) | シストリックアレイを実施するための処理方法および装置 | |
US20240004830A1 (en) | Floorplan-optimized matrix extension architecture for processors | |
JP2021174558A (ja) | Int9量子化のためのシステム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |