用于粗粒度可重构架构的映射方法、装置、设备及介质制造方法及图纸

技术编号:34474361 阅读:15 留言:0更新日期:2022-08-10 08:49
本发明专利技术提出了一种用于粗粒度可重构架构的映射方法,应用于计算机技术领域,包括:获取用于表示粗粒度可重构架构的硬件IR和待映射软件的软件IR,该硬件IR和该软件IR分别具有第一层次,将具有该第一层次的硬件IR转化为具有第二层次的硬件IR,以及,将具有该第一层次的软件IR转化为具有该第二层次的软件IR,该第二层次的表达式中元素的粒度大于该第一层次的表达式中元素的粒度,在该第二层次上将具有该第二层次的软件IR映射至具有该第二层次的硬件IR,得到在该第二层次上的映射结果。本发明专利技术还提出了一种用于粗粒度可重构架构的映射装置、电子设备及存储介质,将软件IR和硬件IR进行层次转化,在CGRA硬件规模较大时可以明显提升映射效率。升映射效率。升映射效率。

【技术实现步骤摘要】
用于粗粒度可重构架构的映射方法、装置、设备及介质


[0001]本专利技术涉及计算机
,尤其涉及一种用于粗粒度可重构架构的映射方法、装置、电子设备及存储介质。

技术介绍

[0002]粗粒度可重构架构(CGRA,coarse

grained reconfigurable architecture)是一类兼具高能效和高灵活性的计算芯片架构,现已被广泛应用于物联网、人工智能、信号处理等领域中。然而,由于CGRA有着丰富的分布式可编程计算、通信和存储资源,并支持动态重构,如何充分发挥其硬件潜能非常重要。可编程资源较为丰富时,手工配置的代价是无法承受的。所以,CGRA需要一个编译器来将高级语言描述的程序片段自动转换为配置信息。
[0003]CGRA编译器与传统的CPU编译器设计方法截然不同。尤其是CGRA的编译器后端需要一个映射器来进行计算、通信和存储资源在时域和空域上的分配。CGRA映射器的目的是找到一个从软件中间表达式(IR,intermediate representation)到硬件IR的可行且高效的同态映射关系。面对不断更迭的应用算法以及多种CGRA的具体实现方式,如何将任务迅速且高效地映射到CGRA硬件资源上是一个急需解决的难题。

技术实现思路

[0004]本专利技术的主要目的在于提供一种用于粗粒度可重构架构的映射方法、装置、电子设备及存储介质。
[0005]为实现上述目的,本专利技术实施例第一方面提供一种用于粗粒度可重构架构的映射方法,包括:
[0006]获取用于表示粗粒度可重构架构的硬件中间表达式和待映射软件的软件中间表达式,所述硬件中间表达式和所述软件中间表达式分别具有第一层次;
[0007]将具有所述第一层次的硬件中间表达式转化为具有第二层次的硬件中间表达式,以及,将具有所述第一层次的软件中间表达式转化为具有第二层次的软件中间表达式,所述第二层次的表达式中元素的粒度大于所述第一层次的表达式中元素的粒度;
[0008]在所述第二层次上将具有所述第二层次的软件中间表达式映射至具有所述第二层次的硬件中间表达式,得到在所述第二层次上的映射结果。
[0009]在本专利技术一实施例中,具有所述第一层次的硬件中间表达式中的元素包括多个处理单元,所述将具有所述第一层次的硬件中间表达式转化为具有第二层次的硬件中间表达式,包括:
[0010]获取具有所述第一层次的硬件中间表达式中所有处理单元的两两之间的通信距离;
[0011]将所述通信距离在预设通信距离阈值之内的至少一个所述处理单元划分至同一硬件组内,得到至少一种划分结果,每种所述划分结果包括至少两组所述硬件组,且每种所述划分结果均表示一种具有所述第二层次的硬件中间表达式;
[0012]其中,每个所述处理单元仅划分至一个所述硬件组,所述硬件组为所述第二层次的硬件中间表达式中的元素。
[0013]在本专利技术一实施例中,具有所述第一层次的软件中间表达式中的元素包括多个算子,所述将具有所述第一层次的软件中间表达式转化为具有第二层次的软件中间表达式,包括:
[0014]将具有所述第一层次的软件中间表达式中的多个算子进行算子融合处理,得到融合后的软件中间表达式,所述融合后的软件中间表达式的元素包括多个融合算子;
[0015]从所述至少一种划分结果中选取一种划分结果作为目标划分结果;
[0016]获取所述目标划分结果中处理单元的数量;
[0017]根据所述处理单元的数量,对所述融合后的软件中间表达式进行模调度处理,得到至少一种模调度结果,每种所述模调度结果包括按照时间维度划分的至少一组软件组;
[0018]其中,每种所述模调度结果均表示一种具有所述第二层次的软件中间表达式,或者,所述融合后的软件中间表达式表示具有所述第二层次的软件中间表达式。
[0019]在本专利技术一实施例中,当所述模调度结果表示具有所述第二层次的软件中间表达式时,所述在所述第二层次上将具有所述第二层次的软件中间表达式映射至具有所述第二层次的硬件中间表达式,得到在所述第二层次上的映射结果,包括:
[0020]建立在所述第二层次上的第一映射模型,所述第一映射模型的目标函数为使所述至少两组硬件组之间的通信距离在预设通信距离范围之内;
[0021]从所述至少一种模调度结果中选取一种模调度结果作为目标模调度结果;
[0022]利用所述第一映射模型,将所述目标模调度结果包括的按照时间维度划分的至少一组软件组一一映射至所述目标划分结果包括的至少两组硬件组上,得到在所述第二层次上的映射结果;
[0023]其中,被映射至一个所述硬件组内的融合算子的数量不超过所述硬件组内的处理单元的数量。
[0024]在本专利技术一实施例中,当所述融合后的软件中间表达式表示具有所述第二层次的软件中间表达式时,所述在所述第二层次上将具有所述第二层次的软件中间表达式映射至具有所述第二层次的硬件中间表达式,得到在所述第二层次上的映射结果,包括:
[0025]建立在所述第二层次上的第二映射模型,所述第二映射模型的目标函数为使所述至少两组硬件组之间的通信距离在预设通信距离范围之内;
[0026]利用所述第二映射模型,将所述融合后的软件中间表达式包括的多个融合算子一一映射至所述目标划分结果包括的至少两组硬件组上,得到在所述第二层次上的映射结果;
[0027]其中,被映射至一个所述硬件组内的融合算子的数量不超过所述硬件组内的处理单元的数量。
[0028]在本专利技术一实施例中,所述方法还包括:
[0029]根据在所述第二层次上的映射结果,将所述融合算子的多个算子一一映射至所述处理单元的不同部分,得到在所述第一层次上的映射结果。
[0030]在本专利技术一实施例中,所述根据在所述第二层次上的映射结果,将所述融合算子的多个算子一一映射至所述处理单元的不同部分,得到在所述第一层次上的映射结果,包
括:
[0031]建立在所述第一层次上的第三映射模型,所述第三映射模型的约束条件包括每个所述融合算子均映射至所支持的所述处理单元上,且所述融合算子之间的数据依赖通过互连保持;
[0032]将在所述第二层次上的映射结果输入至第三映射模型,得到在所述第一层次上的映射结果。
[0033]在本专利技术一实施例中,所述方法还包括:
[0034]当在所述第二层次或所述第一层次的映射失败时,减小所述预设通信距离阈值,得到减小后的通信距离阈值;
[0035]用所述减小后的通信距离阈值代替所述预设通信距离阈值,重新执行划分硬件组的操作。
[0036]本专利技术实施例第二方面提供一种用于粗粒度可重构架构的映射装置,包括:
[0037]获取模块,用于获取用于表示粗粒度可重构架构的硬件中间表达式和待映射软件的软件中间表达式,所述硬件中间表达式和所述软件中间表达式分别具有第一层次;
[0038]硬件中间表达式转化模块,用于将具有所述第一层次的硬件中间表达式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于粗粒度可重构架构的映射方法,其特征在于,包括:获取用于表示粗粒度可重构架构的硬件中间表达式和待映射软件的软件中间表达式,所述硬件中间表达式和所述软件中间表达式分别具有第一层次;将具有所述第一层次的硬件中间表达式转化为具有第二层次的硬件中间表达式,以及,将具有所述第一层次的软件中间表达式转化为具有第二层次的软件中间表达式,所述第二层次的表达式中元素的粒度大于所述第一层次的表达式中元素的粒度;在所述第二层次上将具有所述第二层次的软件中间表达式映射至具有所述第二层次的硬件中间表达式,得到在所述第二层次上的映射结果。2.根据权利要求1所述的映射方法,其特征在于,具有所述第一层次的硬件中间表达式中的元素包括多个处理单元,所述将具有所述第一层次的硬件中间表达式转化为具有第二层次的硬件中间表达式,包括:获取具有所述第一层次的硬件中间表达式中所有处理单元的两两之间的通信距离;将所述通信距离在预设通信距离阈值之内的至少一个所述处理单元划分至同一硬件组内,得到至少一种划分结果,每种所述划分结果包括至少两组所述硬件组,且每种所述划分结果均表示一种具有所述第二层次的硬件中间表达式;其中,每个所述处理单元仅划分至一个所述硬件组,所述硬件组为所述第二层次的硬件中间表达式中的元素。3.根据权利要求2所述的映射方法,其特征在于,具有所述第一层次的软件中间表达式中的元素包括多个算子,所述将具有所述第一层次的软件中间表达式转化为具有第二层次的软件中间表达式,包括:将具有所述第一层次的软件中间表达式中的多个算子进行算子融合处理,得到融合后的软件中间表达式,所述融合后的软件中间表达式的元素包括多个融合算子;从所述至少一种划分结果中选取一种划分结果作为目标划分结果;获取所述目标划分结果中处理单元的数量;根据所述处理单元的数量,对所述融合后的软件中间表达式进行模调度处理,得到至少一种模调度结果,每种所述模调度结果包括按照时间维度划分的至少一组软件组;其中,每种所述模调度结果均表示一种具有所述第二层次的软件中间表达式,或者,所述融合后的软件中间表达式表示具有所述第二层次的软件中间表达式。4.根据权利要求3所述的映射方法,其特征在于,当所述模调度结果表示具有所述第二层次的软件中间表达式时,所述在所述第二层次上将具有所述第二层次的软件中间表达式映射至具有所述第二层次的硬件中间表达式,得到在所述第二层次上的映射结果,包括:建立在所述第二层次上的第一映射模型,所述第一映射模型的目标函数为使所述至少两组硬件组之间的通信距离在预设通信距离范围之内;从所述至少一种模调度结果中选取一种模调度结果作为目标模调度结果;利用所述第一映射模型,将所述目标模调度结果包括的按照时间维度划分的至少一组软件组一一映射至所述目标划分结果包括的至少两组硬件组上,得到在所述第二层次上的映射结果;其中,被映射至一个所述硬件组内的融合算子的数量不超过所述硬件组内的处理单元的数量。
5.根据权利要求3所述的映射方法,其特征在于,当所述融合后的软件中间表达式表示具有所述第二层次的软件中间表达式时,所述在所述第二层次上将具有所述第二层次的软件中间表达式映射至具有所述第二层次的硬件中间表达式,得到在所述第二层次上的映射结果,包括:建立在所述第二层次上的第二映射模型,所述第二映射模型的目标函数为使所述至少两组硬件组之间的通信距离在预设通信距离范围之内;利用所述第二映射模型,将所述融合后的软件中间表达式包括的多个融合算子一一映射至所述目标划分结果包括的至少两组硬件组上,得到在所述第二层次上的映射结果;其中,被映射至一个所述硬件组内的融合算子的数量不超过所述硬件组内的处理单元的数量。6.根据权利要求3所述的映射方法,其特...

【专利技术属性】
技术研发人员:刘雷波满星辰
申请(专利权)人:清华大学无锡应用技术研究院
类型:发明
国别省市:

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

1