CN107341133A - 基于任意维数矩阵lu分解的可重构计算结构的调度方法 - Google Patents

基于任意维数矩阵lu分解的可重构计算结构的调度方法 Download PDF

Info

Publication number
CN107341133A
CN107341133A CN201710489324.XA CN201710489324A CN107341133A CN 107341133 A CN107341133 A CN 107341133A CN 201710489324 A CN201710489324 A CN 201710489324A CN 107341133 A CN107341133 A CN 107341133A
Authority
CN
China
Prior art keywords
decomposition
matrixes
matrix
arbitrary dimensions
processing unit
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.)
Granted
Application number
CN201710489324.XA
Other languages
English (en)
Other versions
CN107341133B (zh
Inventor
高彦钊
张兴明
宋克
吕平
张文建
沈剑良
魏帅
赵博
刘冬培
杨堃
刘宗海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Technology Innovation Center Of Tianjin Binhai New Area
PLA Information Engineering University
Original Assignee
Information Technology Innovation Center Of Tianjin Binhai New Area
PLA Information Engineering University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Technology Innovation Center Of Tianjin Binhai New Area, PLA Information Engineering University filed Critical Information Technology Innovation Center Of Tianjin Binhai New Area
Priority to CN201710489324.XA priority Critical patent/CN107341133B/zh
Publication of CN107341133A publication Critical patent/CN107341133A/zh
Application granted granted Critical
Publication of CN107341133B publication Critical patent/CN107341133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix 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分解是一种科学计算中的矩阵分解方法,常用于线性方程的求解、矩阵求逆和行列式计算,在图形图像处理、科学计算等诸多领域也有广泛应用。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 (4)

1.基于任意维数矩阵LU分解的可重构计算结构的调度方法,其特征在于,其采用的任意维数矩阵LU分解的可重构计算结构由处理单元、调度模块、接口控制器及存储模块构成;
处理单元对输入的任意维数矩阵进行LU分解计算,所述处理单元为乘累加器和乘累加&乘法器,乘累加器和乘累加&乘法器分别简称为PE1和PE2
调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至接口控制器;
接口控制器接收调度模块下发的配置信息及存储模块下发的待LU分解的任意维数矩阵,并根据调度模块下发的配置信息构建计算结构及为处理单元分发待LU分解的任意维数矩阵;
存储模块下发待LU分解的任意维数矩阵至接口控制器,并接收处理单元输出的任意维数矩阵的LU分解计算结果;
基于所述任意维数矩阵LU分解的可重构计算结构,实现任意维数矩阵LU分解调度,包括以下步骤:
步骤1:将处理单元互连,并与接口控制器构成一个可重构处理阵列;
步骤2:调度模块根据当前可用的处理单元数目、LU分解计算性能需求及待LU分解矩阵维数,设计调度机制,生成配置信息并下发至可重构处理阵列;
步骤3:接口控制器接收调度模块下发的配置信息,根据配置信息配置处理单元之间的互连关系,构建满足当前维数矩阵LU分解的计算结构;
步骤4:基于构建的计算结构,存储模块将待LU分解的任意维数矩阵作为计算数据,下发到可重构处理阵列中的接口控制器,接口控制器根据调度模块的调度机制为处理单元分发计算数据,进行LU分解计算;
步骤5:将LU分解计算的结果通过接口控制器返回至存储模块。
2.根据权利要求1所述的基于任意维数矩阵LU分解的可重构计算结构的调度方法,其特征在于,所述任意维数矩阵为1个以上N行N列矩阵,其中N为正整数。
3.根据权利要求1所述的基于任意维数矩阵LU分解的可重构计算结构的调度方法,其特征在于,所述任意维数矩阵经过LU分解后得到一个L矩阵和一个U矩阵,其中,所述L矩阵为下三角矩阵,所述U矩阵为上三角矩阵。
4.根据权利要求2和3所述的基于任意维数矩阵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:调度模块根据调度机制生成配置信息,并下发至可重构处理阵列。
CN201710489324.XA 2017-06-24 2017-06-24 基于任意维数矩阵lu分解的可重构计算结构的调度方法 Active CN107341133B (zh)

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 true CN107341133A (zh) 2017-11-10
CN107341133B 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)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121688A (zh) * 2017-12-15 2018-06-05 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108153709A (zh) * 2017-12-12 2018-06-12 中国人民解放军战略支援部队信息工程大学 一种任意点数fft的可重构计算结构的调度方法
CN110457648A (zh) * 2019-07-30 2019-11-15 暨南大学 一种用于lu分解的脉动阵列结构的实现方法
WO2020061762A1 (zh) * 2018-09-25 2020-04-02 深圳市大疆创新科技有限公司 数据处理装置和方法
CN112231630A (zh) * 2020-10-26 2021-01-15 国家超级计算无锡中心 基于fpga并行加速的稀疏矩阵求解方法
CN113553031A (zh) * 2021-06-04 2021-10-26 中国人民解放军战略支援部队信息工程大学 软件定义变结构计算架构及利用其实现的左右脑一体化资源联合分配方法
CN116560733A (zh) * 2023-07-07 2023-08-08 中国兵器科学研究院 一种空间目标特征在轨实时并行lu分解计算系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
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
WO2005082055A2 (en) * 2004-02-26 2005-09-09 Topcon Gps Llc Methods and apparatus for estimating position in a satellite differential navigation system
CN101661457A (zh) * 2008-08-29 2010-03-03 国际商业机器公司 多处理器系统的三角线性方程组求解的方法和装置
CN103927290A (zh) * 2014-04-18 2014-07-16 南京大学 一种任意阶下三角复矩阵求逆运算方法
CN103970720A (zh) * 2014-05-30 2014-08-06 东南大学 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN105426344A (zh) * 2015-11-09 2016-03-23 南京大学 基于Spark的分布式大规模矩阵乘法的矩阵计算方法
CN106294288A (zh) * 2016-07-27 2017-01-04 中南大学 一种分布式非负矩阵分解方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
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
WO2005082055A2 (en) * 2004-02-26 2005-09-09 Topcon Gps Llc Methods and apparatus for estimating position in a satellite differential navigation system
CN101661457A (zh) * 2008-08-29 2010-03-03 国际商业机器公司 多处理器系统的三角线性方程组求解的方法和装置
CN103927290A (zh) * 2014-04-18 2014-07-16 南京大学 一种任意阶下三角复矩阵求逆运算方法
CN103970720A (zh) * 2014-05-30 2014-08-06 东南大学 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN105426344A (zh) * 2015-11-09 2016-03-23 南京大学 基于Spark的分布式大规模矩阵乘法的矩阵计算方法
CN106294288A (zh) * 2016-07-27 2017-01-04 中南大学 一种分布式非负矩阵分解方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153709A (zh) * 2017-12-12 2018-06-12 中国人民解放军战略支援部队信息工程大学 一种任意点数fft的可重构计算结构的调度方法
CN108121688A (zh) * 2017-12-15 2018-06-05 北京中科寒武纪科技有限公司 一种计算方法及相关产品
WO2020061762A1 (zh) * 2018-09-25 2020-04-02 深圳市大疆创新科技有限公司 数据处理装置和方法
CN110457648A (zh) * 2019-07-30 2019-11-15 暨南大学 一种用于lu分解的脉动阵列结构的实现方法
CN110457648B (zh) * 2019-07-30 2023-02-03 暨南大学 一种用于lu分解的脉动阵列结构的实现方法
CN112231630A (zh) * 2020-10-26 2021-01-15 国家超级计算无锡中心 基于fpga并行加速的稀疏矩阵求解方法
CN112231630B (zh) * 2020-10-26 2024-02-02 国家超级计算无锡中心 基于fpga并行加速的稀疏矩阵求解方法
CN113553031A (zh) * 2021-06-04 2021-10-26 中国人民解放军战略支援部队信息工程大学 软件定义变结构计算架构及利用其实现的左右脑一体化资源联合分配方法
CN116560733A (zh) * 2023-07-07 2023-08-08 中国兵器科学研究院 一种空间目标特征在轨实时并行lu分解计算系统及方法
CN116560733B (zh) * 2023-07-07 2023-10-24 中国兵器科学研究院 一种空间目标特征在轨实时并行lu分解计算系统及方法

Also Published As

Publication number Publication date
CN107341133B (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN107341133A (zh) 基于任意维数矩阵lu分解的可重构计算结构的调度方法
Liang et al. Evaluating fast algorithms for convolutional neural networks on FPGAs
Lu et al. SpWA: An efficient sparse winograd convolutional neural networks accelerator on FPGAs
JP7166389B2 (ja) ニューラルネットワークにおけるビット直列計算についてのシステム及び集積回路
Ryu et al. Bitblade: Area and energy-efficient precision-scalable neural network accelerator with bitwise summation
CN107301456B (zh) 基于向量处理器的深度神经网络多核加速实现方法
CN109992743A (zh) 矩阵乘法器
CN109472350A (zh) 一种基于块循环稀疏矩阵的神经网络加速系统
CN110231958A (zh) 一种矩阵乘向量运算方法及装置
Mohanty et al. Memory footprint reduction for power-efficient realization of 2-D finite impulse response filters
Lee et al. Parallel deep convolutional neural network training by exploiting the overlapping of computation and communication
CN107491416A (zh) 适用于任意维数卷积需求的可重构计算结构及计算调度方法和装置
CN105373517A (zh) 基于Spark的分布式稠密矩阵求逆并行化运算方法
CN111858465B (zh) 大规模矩阵qr分解并行计算系统
Kono et al. Scalability analysis of tightly-coupled FPGA-cluster for lattice boltzmann computation
Yamazaki et al. One-sided dense matrix factorizations on a multicore with multiple GPU accelerators
CN107368459A (zh) 基于任意维数矩阵乘法的可重构计算结构的调度方法
CN108710943A (zh) 一种多层前馈神经网络并行加速器
Li et al. A precision-scalable energy-efficient bit-split-and-combination vector systolic accelerator for NAS-optimized DNNs on edge
CN114201287A (zh) 一种基于cpu+gpu异构平台协同处理数据的方法
CN102222018A (zh) 基于Pthreads的小波和小波包多核并行计算方法
Cao et al. FPGA-based accelerator for convolution operations
CN104268124A (zh) 一种fft实现装置和方法
Tai et al. Synthesizing tiled matrix decomposition on FPGAs
CN111522776B (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