一种存算一体架构的自适应资源配置布局布线方法及系统

文档序号:7260 发布日期:2021-09-17 浏览:31次 英文

一种存算一体架构的自适应资源配置布局布线方法及系统

技术领域

本发明属于计算机体系结构

技术领域

,具体涉及一种存算一体架构的自适应资源配置布局布线方法及系统。

背景技术

随着科学计算、物联网、大数据、人工智能等应用飞速发展,导致了应用类型的分化,计算密集型和数据密集型的应用,计算访存特征不同,即使同一个应用中,不同阶段计算访存特征差异也较大。由于硬件实现的固化性,传统针对不同应用多采用统一计算架构,当其针对不同类型应用或同一应用的不同阶段时,效率可能出现急速下降。

随着忆阻器器件的发展,非冯结构的存算一体架构被提出以解决上述问题。存算一体架构通过在线配置实现同一电路单元在不同时刻具有计算、存储和互连三个角色之一。通过设计算法,可以在线调整架构中存储和计算资源的比例,实现数据密集型和计算密集型任务的高效处理。然而存算一体架构与传统计算架构在物理结构上的显著不同,导致现有针对传统计算架构开发的布局布线算法无法适用于存算一体架构的布局布线任务,这就限制了针对存算一体架构的应用程序的开发。

发明内容

本发明的目的是克服现有技术中存在的上述问题,提供一种能够适用于存算一体架构的自适应资源配置布局布线方法及系统。

为实现以上目的,本发明提供了以下技术方案:

一种存算一体架构的自适应资源配置布局布线方法,依次包括以下步骤:

步骤一、读取包含逻辑门信息的blif网表文件,并设定由多个存算互换处理单元组成的存算一体架构的初始值;

步骤二、采用模拟退火算法求解目标函数,并结合A*算法执行存算一体架构的布局布线,最终得到各存算互换处理单元的最优布局布线方式及其资源利用率,其中,所述目标函数为代价Costi最小:

Costi=(C-AG))XP(i)+CXR(i)

上式中,C为关键路径的长度,A(i)为包含逻辑原语i的最长路径长度,P(i)为逻辑原语i的放置代价,R(i)为逻辑原语i的路由代价,Cl为存算互换处理单元中使用的逻辑资源数量,Ci为存算互换处理单元中使用的互连资源数量,Np为极大的正数,Ut为放置逻辑原语i的存算互换处理单元的资源利用率;

步骤三、判断各存算互换处理单元的资源利用率是否满足要求,若不满足,则调整存算一体架构中存算互换处理单元的数量后返回步骤二,若满足,则输出存算一体架构中存算互换处理单元的总数、关键路径上存算互换处理单元的数量以及各存算互换处理单元的布局布线方式。

所述步骤二依次包括以下步骤:

2.1、采用模拟退火算法生成存算一体架构的初始布局,并通过A*算法生成所有网络的路由路径,得到初始代价;

2.2、在退火过程中求解目标函数,并采用A*算法实现各存算互换处理单元的布局布线;

2.3、根据退火策略更新代价,更新温度;

2.4、退火结束,得到各存算互换处理单元的最优布局布线方式及其资源利用率。

步骤二中,所述各存算互换处理单元的资源利用率R采用以下公式计算得到:

上式中,N为存算互换处理单元中的硬件资源总量。

所述步骤三依次包括以下步骤:

3.1、判断各存算互换处理单元中是否存在资源利用率大于100%的存算互换处理单元,若存在,则增加存算一体架构中存算互换处理单元的数量后返回步骤二,若不存在,则进入步骤3.2;

3.2、判断各存算互换处理单元中是否存在资源利用率小于设定阈值的存算互换处理单元,若存在,则减少存算一体架构中存算互换处理单元的数量后返回步骤二,若不存在,则输出存算一体架构中存算互换处理单元的总数、关键路径上存算互换处理单元的数量以及各存算互换处理单元的布局布线方式。

步骤一中,所述存算一体架构的初始值设定方法为:先设置存算一体架构中各存算互换处理单元的硬件资源配置,再给定存算互换处理单元的数量。

步骤一中,所述包含逻辑门信息的blif网表文件采用以下方法生成:

先以Verilog语言编写的电路作为输入,采用ODIN II工具读取文件并进行解析,生成blif格式的网表文件,然后使用ABC逻辑综合和优化工具读取生成的网表文件,并进行编译和优化后生成包含逻辑门信息的blif网表文件。

一种存算一体架构的自适应资源配置布局布线系统,包括布局布线模块,所述布局布线模块用于执行前述方法。

所述系统还包括前端解析模块、逻辑综合模块,所述前端解析模块的信号输出端通过逻辑综合模块与布局布线模块的信号输入端连接;

所述前端解析模块用于通过ODIN II工具读取以Verilog语言编写的电路并进行解析,生成blif格式的网表文件;

所述逻辑综合模块用于使用ABC逻辑综合和优化工具读取生成的blif格式的网表文件,并进行编译和优化后生成包含逻辑门信息的blif网表文件。

与现有技术相比,本发明的有益效果为:

1、本发明一种存算一体架构的自适应资源配置布局布线方法先读取包含逻辑门信息的blif网表文件,并设定由多个存算互换处理单元组成的存算一体架构的初始值,然后采用模拟退火算法求解目标函数,并结合A*算法执行存算一体架构的布局布线,得到各存算互换处理单元的最优布局布线方式及其资源利用率,最后判断各存算互换处理单元的资源利用率是否满足要求,若满足,则输出存算一体架构中存算互换处理单元的总数、关键路径上存算互换处理单元的数量以及各存算互换处理单元的布局布线方式,该方法通过在模拟退火算法中同时采用A*算法执行布局布线任务,可以根据每个存算互换处理单元的实际用法对其硬件资源进行细粒度地划分,从而实现了存算一体架构中硬件资源的自适应分区,提高了存算互换架构中的硬件资源的利用率。因此,本发明实现了存算一体架构中硬件资源的自适应分区,提高了利用率。

2、本发明一种存算一体架构的自适应资源配置布局布线方法直接将经过逻辑综合和优化后的blif网表文件作为输入,与传统用于FPGA等架构的布局布线方法相比,省去了打包步骤,从而可以按照逻辑原语的粒度而不是复杂的逻辑集群来调整存算互换处理单元中的逻辑使用情况,实现对资源分区提供更细粒度的控制。因此,本发明实现了对资源分区更细粒度的控制。

附图说明

图1为存算一体架构的电路图。

图2为本发明自适应资源分区的说明图。

图3为本发明所述系统的结构图。

具体实施方式

下面结合具体实施方式和附图对本发明作进一步的说明。

参见图1、图2,一种存算一体架构的自适应资源配置布局布线方法,依次包括以下步骤:

步骤一、读取包含逻辑门信息的blif网表文件,并设定由多个存算互换处理单元组成的存算一体架构的初始值;

步骤二、采用模拟退火算法求解目标函数,并结合A*算法执行存算一体架构的布局布线,最终得到各存算互换处理单元的最优布局布线方式及其资源利用率,其中,所述目标函数为代价Costi最小:

Costi=(C-A(i))XP(i)+CxR(i)

上式中,C为关键路径的长度,A(i)为包含逻辑原语i的最长路径长度,P(i)为逻辑原语i的放置代价,R(i)为逻辑原语i的路由代价,Cl为存算互换处理单元中使用的逻辑资源数量,Ci为存算互换处理单元中使用的互连资源数量,Np为极大的正数,Ut为放置逻辑原语i的存算互换处理单元的资源利用率;

步骤三、判断各存算互换处理单元的资源利用率是否满足要求,若不满足,则调整存算一体架构中存算互换处理单元的数量后返回步骤二,若满足,则输出存算一体架构中存算互换处理单元的总数、关键路径上存算互换处理单元的数量以及各存算互换处理单元的布局布线方式。

所述步骤二依次包括以下步骤:

2.1、采用模拟退火算法生成存算一体架构的初始布局,并通过A*算法生成所有网络的路由路径,得到初始代价;

2.2、在退火过程中求解目标函数,并采用A*算法实现各存算互换处理单元的布局布线;

2.3、根据退火策略更新代价,更新温度;

2.4、退火结束,得到各存算互换处理单元的最优布局布线方式及其资源利用率。

步骤二中,所述各存算互换处理单元的资源利用率R采用以下公式计算得到:

上式中,N为存算互换处理单元中的硬件资源总量。

所述步骤三依次包括以下步骤:

3.1、判断各存算互换处理单元中是否存在资源利用率大于100%的存算互换处理单元,若存在,则增加存算一体架构中存算互换处理单元的数量后返回步骤二,若不存在,则进入步骤3.2;

3.2、判断各存算互换处理单元中是否存在资源利用率小于设定阈值的存算互换处理单元,若存在,则减少存算一体架构中存算互换处理单元的数量后返回步骤二,若不存在,则输出存算一体架构中存算互换处理单元的总数、关键路径上存算互换处理单元的数量以及各存算互换处理单元的布局布线方式。

步骤一中,所述存算一体架构的初始值设定方法为:先设置存算一体架构中各存算互换处理单元的硬件资源配置,再给定存算互换处理单元的数量。

步骤一中,所述包含逻辑门信息的blif网表文件采用以下方法生成:

先以Verilog语言编写的电路作为输入,采用ODIN II工具读取文件并进行解析,生成blif格式的网表文件,然后使用ABC逻辑综合和优化工具读取生成的网表文件,并进行编译和优化后生成包含逻辑门信息的blif网表文件。

参见图3,一种存算一体架构的自适应资源配置布局布线系统,包括布局布线模块1,所述布局布线模块1用于执行前述方法。

所述系统还包括前端解析模块2、逻辑综合模块3,所述前端解析模块2的信号输出端通过逻辑综合模块3与布局布线模块1的信号输入端连接;

所述前端解析模块2用于通过ODIN II工具读取以Verilog语言编写的电路并进行解析,生成blif格式的网表文件;

所述逻辑综合模块3用于使用ABC逻辑综合和优化工具读取生成的blif格式的网表文件,并进行编译和优化后生成包含逻辑门信息的blif网表文件。

本发明的原理说明如下:

本发明提供了一种可根据应用需求的变化自适应的调整存算一体架构内部细粒度电路部件功能的自适应资源配置布局布线方法。该方法可充分利用存算一体架构中的硬件资源,充分发挥硬件结构的特点,减少存算一体架构在算法处理时的功耗、面积、延时等消耗。

所述目标函数中,

本发明将P(i)设置为放置逻辑原语i的存算互换处理单元利用率的函数。具体地,当放置该逻辑原语i的存算互换处理单元的资源利用率小于100%时,P(i)为当前存算互换处理单元中已使用的逻辑和互连资源的数量之和的倒数;而当放置该逻辑原语i的存算互换处理单元的资源利用率超过100%时,P(i)为一个极大的正数。

实施例1:

参见图1、图2,一种存算一体架构的自适应资源配置布局布线方法,依次按照以下步骤进行:

1、以Verilog语言编写的电路作为输入,采用ODIN II工具读取文件并进行解析,生成blif格式的网表文件;

2、使用ABC逻辑综合和优化工具读取生成的网表文件,并进行编译和优化后生成包含逻辑门信息的blif网表文件;

3、读取包含逻辑门信息的blif网表文件,并设定由多个存算互换处理单元组成的存算一体架构的初始值,包括先设置存算一体架构中各存算互换处理单元的硬件资源配置,再给定存算互换处理单元的数量;

4、采用模拟退火算法生成存算一体架构的初始布局,并通过A*算法生成所有网络的路由路径,得到初始代价;

5、在退火过程中求解目标函数,并采用A*算法实现各存算互换处理单元的布局布线,其中,所述目标函数为代价Costi最小:

Costi=(C-A(i))XP(i)+CXR(i)

上式中,C为关键路径的长度,A(i)为包含逻辑原语i的最长路径长度,P(i)为逻辑原语i的放置代价,R(i)为逻辑原语i的路由代价,Cl为存算互换处理单元中使用的逻辑资源数量,Ci为存算互换处理单元中使用的互连资源数量,Np为极大的正数,Ut为放置逻辑原语i的存算互换处理单元的资源利用率;

6、根据退火策略更新代价,更新温度;

7、退火结束,得到各存算互换处理单元的最优布局布线方式及其资源利用率,其中,所述各存算互换处理单元的资源利用率R采用以下公式计算得到:

上式中,N为存算互换处理单元中的硬件资源总量;

8、判断各存算互换处理单元中是否存在资源利用率大于100%的存算互换处理单元,若存在,则增加存算一体架构中存算互换处理单元的数量后返回步骤3,若不存在,则进入步骤8;

9、判断各存算互换处理单元中是否存在资源利用率小于50%的存算互换处理单元,若存在,则减少存算一体架构中存算互换处理单元的数量后返回步骤3,若不存在,则输出存算一体架构中存算互换处理单元的总数、关键路径上存算互换处理单元的数量以及各存算互换处理单元的布局布线方式。

实施例2:

参见图3,一种存算一体架构的自适应资源配置布局布线系统,包括布局布线模块1、前端解析模块2、逻辑综合模块3,所述前端解析模块2的信号输出端通过逻辑综合模块3与布局布线模块1的信号输入端连接;

所述前端解析模块2执行实施例1所述步骤1;

所述逻辑综合模块3用于执行实施例1所述步骤2;

所述布局布线模块1用于执行实施例1所述步骤3-9。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:加载场景的方法、装置、设备以及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!