CN107341133B - 基于任意维数矩阵lu分解的可重构计算结构的调度方法 - Google Patents
基于任意维数矩阵lu分解的可重构计算结构的调度方法 Download PDFInfo
- Publication number
- CN107341133B CN107341133B CN201710489324.XA CN201710489324A CN107341133B CN 107341133 B CN107341133 B CN 107341133B CN 201710489324 A CN201710489324 A CN 201710489324A CN 107341133 B CN107341133 B CN 107341133B
- Authority
- CN
- China
- Prior art keywords
- matrix
- decomposition
- calculation
- scheduling
- configuration information
- 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.)
- Active
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)
- Devices For Executing Special Programs (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于矩阵计算技术领域,尤其涉及基于任意维数矩阵LU分解的可重构计算结构的调度方法,其采用的任意维数矩阵LU分解的可重构计算结构由处理单元、接口控制器及调度模块、存储模块构成,包括:将处理单元互连,并与接口控制器构成一个可重构处理阵列;调度模块设计调度机制,生成配置信息并下发至可重构处理阵列;构建满足当前维数矩阵LU分解的计算结构;基于构建的计算结构,根据调度机制为处理单元分发计算数据,进行LU分解计算;将LU分解计算的结果通过接口控制器返回至存储模块。本发明以固定处理单元可重构的方式,实现任意维数矩阵LU分解计算,提高LU分解的灵活性。
Description
技术领域
本发明属于矩阵计算技术领域,尤其涉及基于任意维数矩阵LU分解的可重构计算结构的调度方法。
背景技术
LU分解是一种科学计算中的矩阵分解方法,常用于线性方程的求解、矩阵求逆和行列式计算,在图形图像处理、科学计算等诸多领域也有广泛应用。LU分解法是将原正方矩阵分解成一个上三角形矩阵和一个下三角形矩阵。
当矩阵为N阶非奇异矩阵并且所有顺序主子式不为0,则矩阵可以分解为一个主对角元素全为1的下三角矩阵L和一个上三角矩阵U的乘积,即A=LU,且分解是唯一的。
目前大部分矩阵运算都是基于软件实现,但是随着矩阵维数的增长,软件处理的速度会大幅度变慢。基于硬件实现的大维数矩阵LU分解能够充分发挥硬件的速度,但是大维数矩阵LU分解对计算资源和存储空间要求较高,已有的高性能矩阵LU分解并行结构设计需要对算法进行较大幅度的并行化改写或构建复杂的并行模型,并实现与之对应的专有并行化结构,消耗资源较多,但是复用性与扩展性均不理想,难以实现变维数矩阵的LU分解计算;而使用较通用的线性阵列来实现LU分解的设计执行时间复杂度较高,无法充分挖掘LU分解计算中的数据并行性;基于分块矩阵计算的LU分解方法能够实现任意维数矩阵的分解计算,但是目前的实现方法对分解计算内在的行化与流水化特征利用不足,导致计算效率提高困难。
可重构计算以其兼顾通用处理器(GPP)的灵活和专用集成电路(ASIC)的高效,在数值线性计算、数字信号处理、生物信息学及网络通信与信息安全等一些领域中被广泛设计与应用。可重构计算正在成为加速科学计算的一种非常重要的选择。将可重构计算应用于矩阵的LU分解,针对任意维数矩阵,通过快速重构具有不同计算功能处理单元的方式实现矩阵的LU分解,不仅能够使系统具有计算可变维数矩阵分解的灵活性,同时能够充分挖掘计算过程中的并行性与流水性,从而大幅提高系统的计算效率。
发明内容
本发明的目的在于克服上述矩阵LU分解的不足,提供基于任意维数矩阵LU分解的可重构计算结构的调度方法,以固定处理单元可重构的方式,实现任意维数矩阵LU分解计算,以提高LU分解的灵活性,适应不同的应用场景。
为了实现上述目的,本发明采用以下技术方案:
基于任意维数矩阵LU分解的可重构计算结构的调度方法,其采用的任意维数矩阵LU分解的可重构计算结构由处理单元、调度模块、接口控制器及存储模块构成;
处理单元对输入的任意维数矩阵进行LU分解计算,所述处理单元为乘累加器和乘累加&乘法器,乘累加器和乘累加&乘法器分别简称为PE1和PE2;
调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至接口控制器;
接口控制器接收调度模块下发的配置信息及存储模块下发的待LU分解的任意维数矩阵,并根据调度模块下发的配置信息构建计算结构及为处理单元分发待LU分解的任意维数矩阵;存储模块下发待LU分解的任意维数矩阵至接口控制器,并接收处理单元输出的任意维数矩阵的LU分解计算结果;
基于所述任意维数矩阵LU分解的可重构计算结构,实现任意维数矩阵LU分解调度,包括以下步骤:
步骤1:将处理单元互连,并与接口控制器构成一个可重构处理阵列;
步骤2:调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至可重构处理阵列;
步骤3:接口控制器接收调度模块下发的配置信息,根据配置信息配置处理单元之间的互连关系,构建满足当前维数矩阵LU分解的计算结构;
步骤4:基于构建的计算结构,存储模块将待LU分解的任意维数矩阵作为计算数据,下发到可重构处理阵列中的接口控制器,接口控制器根据调度模块的调度机制为处理单元分发计算数据,进行LU分解计算;
步骤5:将LU分解计算的结果通过接口控制器返回至存储模块。
优选地,所述任意维数矩阵为1个以上N行N列矩阵,其中N为正整数。
优选地,所述任意维数矩阵经过LU分解后得到一个L矩阵和一个U矩阵,其中,所述L矩阵为下三角矩阵,所述U矩阵为上三角矩阵。
优选地,所述步骤2包括:
步骤2.1:调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制:
若有1个PE1和1个PE2可用,则调度模块设计流水调度机制:通过PE2依次计算U矩阵的第K行的元素,当PE2计算完U矩阵的第K行的第1个元素后、通过PE1依次计算L矩阵的第K列的元素,通过PE2依次计算U矩阵的第K+1行的所有元素,当PE2计算完U矩阵的第K+1行的第1个元素后、通过PE1依次计算L矩阵的第K+1列的元素,按照上述计算顺序进行LU分解;
若可用的PE1的数目大于1且小于N-1,可用的PE2的数目大于1且小于N,则调度模块设计并行调度机制:从U矩阵的第F行或L矩阵的第F列的元素开始进行并行化处理;
若可用的PE1的数目大于或等于N-1,可用的PE2的数目大于或等于N,则调度模块设计并行调度机制:从U矩阵的第R行或L矩阵的第R列的元素开始进行完全并行化处理,所述完全并行化处理指同一行或同一列的所有元素同时进行处理;
步骤2.2:调度模块根据调度机制生成配置信息,并下发至可重构处理阵列。
与现有技术相比,本发明具有的有益效果:
1.本发明能够以固定处理单元可重构的方式构建任意维数矩阵LU分解的计算结构,具有较大的灵活性;
2.本发明能够基于相同可用的计算资源,通过合理的资源调度,重构实现不同维数矩阵LU分解的计算结构,能够以相同可用的计算资源,满足不同应用场景下,不同维数矩阵LU分解计算的需求;
3.本发明能够通过合理分割当前可用的计算资源,并行实现多个不同维数矩阵LU分解的计算结构重构,能够适应多任务并行化处理需求;
4.本发明能够基于不同可用的计算资源,以不同的配置方式,构建同一维数矩阵的、具有不同计算效率的LU分解计算结构,满足不同应用场景下矩阵LU分解的计算性能需求;
5.本发明能够充分利用LU分解计算过程可并行计算的特点,通过处理单元的合理调度,不仅能够实现不同维数矩阵的LU分解,而且能够有效提高分解的计算效率;
6.本发明的基本运算单元实现较为简单,所需资源量较少,具有较好的可扩展性,可以通过配置信息和调度策略满足不同维数的性能需求。
附图说明
图1为本发明基于任意维数矩阵LU分解的可重构计算结构的调度方法的基本流程示意图。
图2为本发明基于任意维数矩阵LU分解的可重构计算结构的调度方法的结构示意图。
图3为本发明基于任意维数矩阵LU分解的可重构计算结构的调度方法的任意维数矩阵LU分解计算顺序示意图。
图4为本发明基于任意维数矩阵LU分解的可重构计算结构的调度方法的任意维数矩阵LU分解流水调度示意图。
图5为本发明基于任意维数矩阵LU分解的可重构计算结构的调度方法的任意维数矩阵LU分解并行调度示意图。
具体实施方式
为了便于理解,对本发明的具体实施方式中出现的部分名词作以下解释说明:
LU分解:在线性代数中,LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积。LU分解主要应用在数值分析中,用来解线性方程、求反矩阵或计算行列式。
下面结合附图和具体的实施例对本发明做进一步的解释说明:
实施例一:
如图1-2,本发明的一种基于任意维数矩阵LU分解的可重构计算结构的调度方法,其采用的任意维数矩阵LU分解的可重构计算结构由处理单元、调度模块、接口控制器及存储模块构成;
处理单元对输入的任意维数矩阵进行LU分解计算,所述处理单元为乘累加器和乘累加&乘法器,乘累加器和乘累加&乘法器分别简称为PE1和PE2;
调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至接口控制器;
接口控制器接收调度模块下发的配置信息及存储模块下发的待LU分解的任意维数矩阵,并根据调度模块下发的配置信息构建计算结构及为处理单元分发待LU分解的任意维数矩阵;存储模块下发待LU分解的任意维数矩阵至接口控制器,并接收处理单元输出的任意维数矩阵的LU分解计算结果;
基于所述任意维数矩阵LU分解的可重构计算结构,实现任意维数矩阵LU分解调度,包括以下步骤:
步骤S11:将处理单元互连,并与接口控制器构成一个可重构处理阵列;
步骤S12:调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至可重构处理阵列;
步骤S13:接口控制器接收调度模块下发的配置信息,根据配置信息配置处理单元之间的互连关系,构建满足当前维数矩阵LU分解的计算结构;
步骤S14:基于构建的计算结构,存储模块将待LU分解的任意维数矩阵作为计算数据,下发到可重构处理阵列中的接口控制器,接口控制器根据调度模块的调度机制为处理单元分发计算数据,进行LU分解计算;
步骤S15:将LU分解计算的结果通过接口控制器返回至存储模块。
值得说明的是,任意维数矩阵为1个以上N行N列矩阵,其中N为正整数;任意维数矩阵经过LU分解后得到一个L矩阵和一个U矩阵,其中,L矩阵为下三角矩阵,U矩阵为上三角矩阵。
实施例二:
如图2-5,本发明的另一种基于任意维数矩阵LU分解的可重构计算结构的调度方法,其采用的任意维数矩阵LU分解的可重构计算结构由处理单元、调度模块、接口控制器及存储模块构成;
处理单元对输入的任意维数矩阵进行LU分解计算,所述处理单元为乘累加器和乘累加&乘法器,乘累加器和乘累加&乘法器分别简称为PE1和PE2;
调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至接口控制器;
接口控制器接收调度模块下发的配置信息及存储模块下发的待LU分解的任意维数矩阵,并根据调度模块下发的配置信息构建计算结构及为处理单元分发待LU分解的任意维数矩阵;存储模块下发待LU分解的任意维数矩阵至接口控制器,并接收处理单元输出的任意维数矩阵的LU分解计算结果;
基于所述任意维数矩阵LU分解的可重构计算结构,实现任意维数矩阵LU分解调度,包括以下步骤:
步骤S21:将处理单元互连,并与接口控制器构成一个可重构处理阵列;
步骤S22:调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至可重构处理阵列,包括:
步骤S221:调度模块设计调度机制:
若有1个PE1和1个PE2可用,假设输入1个以上N×N的矩阵,对于其中一个N×N的矩阵A,矩阵元素表示为aij(i,j=1,2,…,N),分解为主对角线元素为1的下三角矩阵L与上三角矩阵U,其元素分别表示为lij(i,j=1,2,…,N),uij(i,j=1,2,…,N),则调度模块设计流水调度机制:
通过PE2依次计算U矩阵的第K行的元素,当PE2计算完U矩阵的第K行的第1个元素后、通过PE1依次计算L矩阵的第K列的元素,通过PE2依次计算U矩阵的第K+1行的所有元素,当PE2计算完U矩阵的第K+1行的第1个元素后、通过PE1依次计算L矩阵的第K+1列的元素,按照上述计算顺序进行LU分解;
通过PE2依次计算U矩阵的第K行的所有元素的计算公式为:
通过PE1依次计算L矩阵的第K列的所有元素的计算公式为:
若可用的PE1的数目大于1且小于N-1,可用的PE2的数目大于1且小于N,则调度模块设计并行调度机制:从U矩阵的第F行或L矩阵的第F列的元素开始进行并行化处理;
若可用的PE1的数目大于或等于N-1,可用的PE2的数目大于或等于N,则调度模块设计并行调度机制:从U矩阵的第R行或L矩阵的第R列的元素开始进行完全并行化处理,所述完全并行化处理指同一行或同一列的所有元素同时进行处理;
步骤S222:调度模块根据调度机制生成配置信息,并下发至可重构处理阵列;
步骤S23:接口控制器接收调度模块下发的配置信息,根据配置信息配置处理单元之间的互连关系,构建满足当前维数矩阵LU分解的计算结构;
步骤S24:基于构建的计算结构,存储模块将待LU分解的任意维数矩阵作为计算数据,下发到可重构处理阵列中的接口控制器,接口控制器根据调度模块的调度机制为处理单元分发计算数据,进行LU分解计算;
步骤S25:将LU分解计算的结果通过接口控制器返回至存储模块。
作为一种可实施方式,待LU分解的任意维数矩阵为1个4×4维矩阵,即N为4,任意维数矩阵的LU分解计算顺序示意图如图3所示;
(1)若有1个PE1和1个PE2可用,且待LU分解的任意维数矩阵为4×4维矩阵,则调度模块设计流水调度机制并生成对应配置信息,即PE2依次计算U矩阵第1行至第4行的所有元素,PE1依次计算U矩阵第1列至第3列的所有元素;
任意维数矩阵的LU分解流水调度示意图如图4所示,调度模块设计流水调度机制进行4×4维矩阵LU分解计算,具体如下:
PE2依次计算U矩阵第1行中的第1至第4个元素;
当PE2计算完U矩阵第1行中的第1个元素后,PE1开始依次计算L矩阵第1列中的第2至第4个元素;
当PE1计算完L矩阵第1列中的第2个元素后,PE2开始依次计算U矩阵第2行中的第2至第4个元素;
当PE2计算完U矩阵第2行中的第2个元素后,PE1开始依次计算L矩阵第2列中的第3至第4个元素;
当PE1计算完L矩阵第2列中的第3个元素后,PE2开始依次计算U矩阵第3行中的第3至第4个元素;
当PE2计算完U矩阵第3行中的第3个元素后,PE1开始计算L矩阵第3列中的第4个元素;
当PE1计算完L矩阵第3列中的第4个元素后,PE2开始计算U矩阵第4行中的第4个元素;
(2)若有2个PE1和2个PE2可用,且待LU分解的任意维数矩阵为4×4维矩阵,调度模块设计并行调度机制并生成对应配置信息,即2个PE2并行处理U矩阵第1行至第4行的所有元素,2个PE1并行处理L矩阵第1列至第3行的所有元素;
任意维数矩阵的LU分解并行调度示意图如图5所示,调度模块设计并行调度机制进行4×4维矩阵LU分解计算,具体如下:
2个PE2并行计算U矩阵第1行中的第1至第4个元素,其中第1个PE2负责U矩阵第1行中的第1和第3个元素的计算,第2个PE2负责U矩阵第1行中的第2和第4个元素的计算;
当2个PE2并行计算完U矩阵第1行中的第1和第2个元素后,2个PE1开始并行计算L矩阵第1列中的第2至第4个元素,其中第1个PE1负责L矩阵第1列中的第2和第4个元素的计算,第2个PE1负责L矩阵第1列中的第3个元素的计算;
当2个PE1并行计算完L矩阵第1列中的第2和第3个元素后,2个PE2开始并行计算U矩阵第2行中的第2至第4个元素,其中第1个PE2负责U矩阵第2行中的第2和第4个元素的计算,第2个PE2负责U矩阵第2行中的第3个元素的计算;
当2个PE2并行计算完U矩阵第2行中的第2和第3个元素后,2个PE1开始并行计算L矩阵第2列中的第3和第4个元素,其中第1个PE1负责L矩阵第2列中的第3个元素的计算,第2个PE1负责L矩阵第2列中的第4个元素的计算;
当2个PE1并行计算完L矩阵第2列中的第3和第4个元素后,2个PE2开始并行计算U矩阵第3行中的第3和第4个元素,其中第1个PE2负责U矩阵第3行中的第3个元素的计算,第2个PE2负责U矩阵第3行中的第4个元素的计算;
当2个PE2并行计算完U矩阵第3行中的第3和第4个元素后,1个PE1开始计算L矩阵第3列中的第4个元素;
当1个PE1计算完L矩阵第3列中的第4个元素后,1个PE2开始计算U矩阵第4行中的第4个元素;
(3)若有4个PE1和4个PE2可用,且待LU分解的任意维数矩阵为4×4维矩阵,调度模块设计并行调度机制并生成对应配置信息,即4个PE2并行处理U矩阵第1行至第4行的所有元素,4个PE1并行处理L矩阵第1列至第3行的所有元素;
调度模块设计并行调度机制进行4×4维矩阵LU分解计算,具体如下:
4个PE2并行计算U矩阵第1行中的第1至第4个元素;
当4个PE2并行计算完U矩阵第1行中的第1至第4个元素后,3个PE1开始并行计算L矩阵第1列中的第2至第4个元素;
当3个PE1并行计算完L矩阵第1列中的第2至第4个元素后,3个PE2开始并行计算U矩阵第2行中的第2至第4个元素;
当3个PE2并行计算完U矩阵第2行中的第2至第4个元素后,2个PE1开始并行计算L矩阵第2列中的第3和第4个元素;
当2个PE1并行计算完L矩阵第2列中的第3和第4个元素后,2个PE2开始并行计算U矩阵第3行中的第3和第4个元素;
当2个PE2并行计算完U矩阵第3行中的第3和第4个元素后,1个PE1开始计算L矩阵第3列中的第4个元素;
当1个PE1中计算完L矩阵第3列中的第4个元素后,1个PE2开始计算U矩阵第4行中的第4个元素。
作为一种可实施方式,待LU分解的任意维数矩阵为2个4×4维矩阵,即N均为4;若有4个PE1和4个PE2可用,则调度模块设计并行调度机制:将4个PE1和4个PE2分成两组,每2个PE1和2个PE2处理一个4×4维矩阵,4个PE1和4个PE2对2个4×4维矩阵的处理过程等同于两组同时进行的2个PE1和2个PE2处理一个4×4维矩阵的过程。
作为一种可实施方式,待LU分解的任意维数矩阵为1个4×4维矩阵,即N为4;若有1个PE1和1个PE2可用,则调度模块设计流水调度机制:
PE2依次计算U矩阵第1行中的第1至第4个元素;
当PE2计算完U矩阵第1行中的第1个元素后,PE1开始依次计算L矩阵第1列中的第2至第4个元素;
当PE2计算完U矩阵第1行中的第4个元素且PE1计算完L矩阵第1列中的第4个元素后,此时,有3个PE2和3个PE1可用,则调度模块设计并行调度机制:
3个PE2并行计算U矩阵第2行中的第2至第4个元素;
当3个PE2并行计算完U矩阵第2行中的第2至第4个元素后,2个PE1开始并行计算L矩阵第2列中的第3和第4个元素;
当2个PE1并行计算完L矩阵第2列中的第3和第4个元素后,2个PE2开始并行计算U矩阵第3行中的第3和第4个元素;
当2个PE2并行计算完U矩阵第3行中的第3和第4个元素后,1个PE1开始计算L矩阵第3列中的第4个元素;
当1个PE1计算完L矩阵第3列中的第4个元素后,1个PE2开始计算U矩阵第4行中的第4个元素。
值得说明的是,根据具体情况,U矩阵的第K行或L矩阵的第K列,U矩阵的第F行或L矩阵的第F列,U矩阵的第R行或L矩阵的第R列,可以为U矩阵的任意行或L矩阵的任意列。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (1)
1.一种基于任意维数矩阵LU分解的可重构计算结构的调度方法,其特征在于,其采用的任意维数矩阵LU分解的可重构计算结构由处理单元、调度模块、接口控制器及存储模块构成;
处理单元对输入的任意维数矩阵进行LU分解计算,所述处理单元为乘累加器和乘累加&乘法器,乘累加器和乘累加&乘法器分别简称为PE1和PE2;
调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至接口控制器;
接口控制器接收调度模块下发的配置信息及存储模块下发的待LU分解的任意维数矩阵,并根据调度模块下发的配置信息构建计算结构及为处理单元分发待LU分解的任意维数矩阵;
存储模块下发待LU分解的任意维数矩阵至接口控制器,并接收处理单元输出的任意维数矩阵的LU分解计算结果;
所述任意维数矩阵为1个以上N行N列矩阵,其中N为正整数;
所述任意维数矩阵经过LU分解后得到一个L矩阵和一个U矩阵,其中,所述L矩阵为下三角矩阵,所述U矩阵为上三角矩阵;
基于所述任意维数矩阵LU分解的可重构计算结构,实现任意维数矩阵LU分解调度,包括以下步骤:
步骤1:将处理单元互连,并与接口控制器构成一个可重构处理阵列;
步骤2:调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至可重构处理阵列;
所述步骤2包括:
步骤2.1:调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制:
若有1个PE1和1个PE2可用,则调度模块设计流水调度机制:通过PE2依次计算U矩阵的第K行的元素,当PE2计算完U矩阵的第K行的第1个元素后、通过PE1依次计算L矩阵的第K列的元素,通过PE2依次计算U矩阵的第K+1行的所有元素,当PE2计算完U矩阵的第K+1行的第1个元素后、通过PE1依次计算L矩阵的第K+1列的元素,按照上述计算顺序进行LU分解;
若可用的PE1的数目大于1且小于N-1,可用的PE2的数目大于1且小于N,则调度模块设计并行调度机制:从U矩阵的第F行或L矩阵的第F列的元素开始进行并行化处理;
若可用的PE1的数目大于或等于N-1,可用的PE2的数目大于或等于N,则调度模块设计并行调度机制:从U矩阵的第R行或L矩阵的第R列的元素开始进行完全并行化处理,所述完全并行化处理指同一行或同一列的所有元素同时进行处理;
步骤2.2:调度模块根据调度机制生成配置信息,并下发至可重构处理阵列;
步骤3:接口控制器接收调度模块下发的配置信息,根据配置信息配置处理单元之间的互连关系,构建满足当前维数矩阵LU分解的计算结构;
步骤4:基于构建的计算结构,存储模块将待LU分解的任意维数矩阵作为计算数据,下发到可重构处理阵列中的接口控制器,接口控制器根据调度模块的调度机制为处理单元分发计算数据,进行LU分解计算;
步骤5:将LU分解计算的结果通过接口控制器返回至存储模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710489324.XA CN107341133B (zh) | 2017-06-24 | 2017-06-24 | 基于任意维数矩阵lu分解的可重构计算结构的调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710489324.XA CN107341133B (zh) | 2017-06-24 | 2017-06-24 | 基于任意维数矩阵lu分解的可重构计算结构的调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107341133A CN107341133A (zh) | 2017-11-10 |
CN107341133B true CN107341133B (zh) | 2021-01-22 |
Family
ID=60221189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710489324.XA Active CN107341133B (zh) | 2017-06-24 | 2017-06-24 | 基于任意维数矩阵lu分解的可重构计算结构的调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107341133B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153709A (zh) * | 2017-12-12 | 2018-06-12 | 中国人民解放军战略支援部队信息工程大学 | 一种任意点数fft的可重构计算结构的调度方法 |
CN108121688B (zh) * | 2017-12-15 | 2020-06-23 | 中科寒武纪科技股份有限公司 | 一种计算方法及相关产品 |
CN110770697A (zh) * | 2018-09-25 | 2020-02-07 | 深圳市大疆创新科技有限公司 | 数据处理装置和方法 |
CN110457648B (zh) * | 2019-07-30 | 2023-02-03 | 暨南大学 | 一种用于lu分解的脉动阵列结构的实现方法 |
CN112231630B (zh) * | 2020-10-26 | 2024-02-02 | 国家超级计算无锡中心 | 基于fpga并行加速的稀疏矩阵求解方法 |
CN113553031B (zh) * | 2021-06-04 | 2023-02-24 | 中国人民解放军战略支援部队信息工程大学 | 软件定义变结构计算架构及利用其实现的左右脑一体化资源联合分配方法 |
CN116560733B (zh) * | 2023-07-07 | 2023-10-24 | 中国兵器科学研究院 | 一种空间目标特征在轨实时并行lu分解计算系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661457A (zh) * | 2008-08-29 | 2010-03-03 | 国际商业机器公司 | 多处理器系统的三角线性方程组求解的方法和装置 |
CN105426344A (zh) * | 2015-11-09 | 2016-03-23 | 南京大学 | 基于Spark的分布式大规模矩阵乘法的矩阵计算方法 |
CN106294288A (zh) * | 2016-07-27 | 2017-01-04 | 中南大学 | 一种分布式非负矩阵分解方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282627B1 (en) * | 1998-06-29 | 2001-08-28 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing |
US7102563B2 (en) * | 2004-02-26 | 2006-09-05 | Topcon Gps Llc | Methods and apparatuses of estimating the position of a mobile user in a system of satellite differential navigation |
CN103927290A (zh) * | 2014-04-18 | 2014-07-16 | 南京大学 | 一种任意阶下三角复矩阵求逆运算方法 |
CN103970720B (zh) * | 2014-05-30 | 2018-02-02 | 东南大学 | 基于大规模粗粒度嵌入式可重构系统及其处理方法 |
-
2017
- 2017-06-24 CN CN201710489324.XA patent/CN107341133B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661457A (zh) * | 2008-08-29 | 2010-03-03 | 国际商业机器公司 | 多处理器系统的三角线性方程组求解的方法和装置 |
CN105426344A (zh) * | 2015-11-09 | 2016-03-23 | 南京大学 | 基于Spark的分布式大规模矩阵乘法的矩阵计算方法 |
CN106294288A (zh) * | 2016-07-27 | 2017-01-04 | 中南大学 | 一种分布式非负矩阵分解方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107341133A (zh) | 2017-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107341133B (zh) | 基于任意维数矩阵lu分解的可重构计算结构的调度方法 | |
US10810484B2 (en) | Hardware accelerator for compressed GRU on FPGA | |
CN108874745B (zh) | 原生张量处理器及张量缩并的分割 | |
Shen et al. | Towards a uniform template-based architecture for accelerating 2D and 3D CNNs on FPGA | |
US10698657B2 (en) | Hardware accelerator for compressed RNN on FPGA | |
Mohanty et al. | Memory-efficient high-speed convolution-based generic structure for multilevel 2-D DWT | |
Mohanty et al. | Memory footprint reduction for power-efficient realization of 2-D finite impulse response filters | |
Chen et al. | Efficient architecture of variable size HEVC 2D-DCT for FPGA platforms | |
JP3228927B2 (ja) | プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法 | |
Urquhart et al. | Systolic matrix and vector multiplication methods for signal processing | |
CN107491416B (zh) | 适用于任意维数卷积需求的可重构计算结构及计算调度方法和装置 | |
CN107368459B (zh) | 基于任意维数矩阵乘法的可重构计算结构的调度方法 | |
CN101697486A (zh) | 一种二维小波变换集成电路结构 | |
CN103985083A (zh) | 一种可重构的一维卷积处理器 | |
CN116450217A (zh) | 一种多功能定点乘法和乘累加运算装置及方法 | |
CN110059809B (zh) | 一种计算装置及相关产品 | |
CN102572429A (zh) | 一种二维离散小波变换的硬件架构 | |
CN102970545A (zh) | 一种基于二维离散小波变换算法的静态图像压缩方法 | |
CN114003198A (zh) | 内积处理部件、任意精度计算设备、方法及可读存储介质 | |
Meher | Unified systolic-like architecture for DCT and DST using distributed arithmetic | |
Nguyen-Thanh et al. | Energy efficient techniques using FFT for deep convolutional neural networks | |
CN103902762A (zh) | 一种针对正定对称矩阵进行最小二乘方程求解的电路结构 | |
CN110457648B (zh) | 一种用于lu分解的脉动阵列结构的实现方法 | |
CN115034360A (zh) | 三维卷积神经网络卷积层的处理方法和处理装置 | |
CN203279074U (zh) | 二维离散余弦变换/逆离散余弦变换电路 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |