提高存算一体化系统性能的静态计算划分方法技术方案

技术编号:38938242 阅读:17 留言:0更新日期:2023-09-25 09:38
本发明专利技术公开一种提高存算一体化系统性能的静态计算划分方法,包括如下步骤:S1、将程序划分成若干基本块,将程序转化为程序的注释调用图,注释调用图中的节点即对应于程序中的基本块;S2、将注释调用图中的各节点

【技术实现步骤摘要】
提高存算一体化系统性能的静态计算划分方法


[0001]本专利技术属于计算机
,更具体地,本专利技术涉及一种提高存算一体化系统性能的静态计算划分方法。

技术介绍

[0002]随着大数据、深度学习、人工智能等新兴领域的蓬勃发展,应用的数据集不断增大,信息处理逐渐由传统的“计算密集型”向“访存密集型”转移。近十年来,随着硅基电子器件逼近物理极限,摩尔定律濒临失效,中央处理器(central processing unit,CPU)的性能难以高速、持续地提升。同时,传统存储器件无法兼具“高速度”与“高密度”的特点,导致现有以计算为核心的冯
·
诺依曼结构严重依赖层次化存储结构以获得系统性能与存储容量的折中。而大数据时代下离散化、随机化的数据访问致使层次化存储的效率断崖式下降甚至濒临失效,数据频繁在处理器和多级存储间搬运,产生了带宽受限、计算效率下降、计算能效低下等一系列问题。传统冯
·
诺依曼结构计算机正遭受严峻挑战,难以满足智能社会对计算的需求。
[0003]为了缓解甚至打破存储墙,目前主要的技术路线是彻底打破冯
·
诺依曼结构中“存算分离”的固有思想,从底层架构进行突破,对计算机体系结构进行重新设计,这一技术路线被称为存算一体化体系结构(processing

in

memory,PIM)。存算一体化体系结构的主要思想是在存内集成计算单元,利用存内的超高带宽和低访问延迟,实现近数据计算。近年来,3D堆叠内存、硅通孔技术(through

silicon vias,TSVs)等制造使能技术和大数据、神经网络等“杀手级”应用的出现,给存算一体化体系结构的发展带来了新的契机。通过在存内集成高并发、高效能的计算单元,完成数据的就近甚至就地计算,存算一体化体系结构可以实现部分应用一至两个数量级的性能加速,并降低约80%数据的搬运能耗.部分新型非易失存储(non

volatile memory,NVM)器件甚至可以实现计算和存储的完全融合。由于数据无需通过接口在内存和CPU间频繁搬运,存算一体化体系结构已经成为了一种缓解甚至打破存储墙的可行手段之一。
[0004]目前,已有一些关于存算一体化系统中计算划分问题的研究,但是主要侧重点在于解决存内多计算单元间的计算划分,如Prometheus基于社区发现(community detection)算法提出了一种最小化HMC内部不同计算单元间数据传输的计算划分算法,这类方法通常假设全部的计算任务都在存内执行,片上处理器几乎完全闲置,浪费了宝贵的计算资源。

技术实现思路

[0005]本专利技术提供一种提高存算一体化系统性能的静态计算划分方法,旨在改善上述问题。
[0006]本专利技术是这样实现的,一种提高存算一体化系统性能的静态计算划分方法,所述方法包括如下步骤:
[0007]S1、将程序划分成若干基本块,将程序转化为程序的注释调用图,注释调用图中的节点即对应于程序中的基本块;
[0008]S2、将注释调用图中的各节点v划分至内计算单元或片上处理器,形成程序的多个划分方案,输出执行时间最短的程序划分方案。
[0009]进一步的,注释调用图的生成方法具体如下:
[0010]S11、使用LLVM中间层对将高级程序语言进行抽象为汇编语言,后对会汇编语言进行插桩形成程序的执行流程图;
[0011]S12、基于Lengauer

Tarjan算法生成执行流程图的后序支配树;
[0012]S13、基于后序支配树间各基本块间的支配关系,形成注释调用图的控制依赖边,添加数据依赖边、添加边和节点的属性后,形成注释调用图。
[0013]进一步的,控制依赖边的生成过程具体如下:
[0014]S131、检测程序的执行流程图中是否存在环,若存在,则执行步骤S133,再执行步骤S132,若不存在,则直接执行步骤S132;
[0015]S132、遍历后序支配树边集E2中的所有边e2,在执行流程的边集E1删除与边e2相同的边,形成注释调用图的控制依赖边;
[0016]S133、环中所有节点都依赖于头节点,以此提取控制相关。
[0017]进一步的,程序划分方案的执行时间计算公式具体如下:
[0018]T
all
=T
CPU
+T
PIM
+T
M
[0019]其中,T
CPU
为在片上处理器的执行总时间,T
PIM
为在存内计算单元的执行总时间,T
M
为片上处理器与存内计算单元间的数据传输总时间。
[0020]进一步的,T
CPU
、T
PIM
、T
M
的计算公式具体如下:
[0021][0022][0023][0024][0025]其中,表示点集S中全部基本块在片上处理器的执行总时间表示;表示点集T中全部基本块在存内计算单元上执行的总时间表示,表示数据在片上处理器和存内计算单元间的传输总时间,S
u,v
表示基本块u和基本块v之间传输的数据大小,BW表示内存的读写带宽;
[0026]基本块v对应的指令在存内计算单元上执行时,I
v
=1,基本块v对应的指令在片上处理器中执行时,I
v
=0。
[0027]进一步的,输出执行时间最短的程序划分方案的获取方法具体如下:
[0028]将执行次数最高的基本块u分发到存内计算单元中执行,剩余基本块分发到片上处理器中执行,将该程序的划分方案作为初始解,计算该划分方案执行的总时间;
[0029]每次迭代过程中,筛选出执行次数占比超过阈值T
H
的基本块且将其分发至被存内计算单元执行的基本块集合{U},在当前最优解{I}
opt
的基础上取反编号的基本块j变量I
j

形成第i个可行解{I}
i

[0030]计算划分方案{I}
i
对应的执行时间T
i
,计算执行时间T
i
与当前最优解的执行时间T
opt
的差值ΔT,若ΔT为负,则可行解{I}
i
即为当前最优解并更新当前最优时间为执行时间T
i
,若ΔT为正,则说明可行解{I}
i
的执行时间比当前最优解长,以概率r接受可行解{I}
i
,即将可行解{I}
i
作为当前最优解并更新当前最优时间执行时间T
i

[0031]进一步的,若ΔT=0,比较可行解{I}
i
及当前最优解{I}
opt
的划分方案对应的数据搬运功耗ΔE,并取数据搬运功耗较低的划分方案作为当前最本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提高存算一体化系统性能的静态计算划分方法,其特征在于,所述方法包括如下步骤:S1、将程序划分成若干基本块,将程序转化为程序的注释调用图,注释调用图中的节点即对应于程序中的基本块;S2、将注释调用图中的各节点v划分至内计算单元或片上处理器,形成程序的多个划分方案,输出执行时间最短的程序划分方案。2.如权利要求1所述提高存算一体化系统性能的静态计算划分方法,其特征在于,注释调用图的生成方法具体如下:S11、使用LLVM中间层对将高级程序语言进行抽象为汇编语言,后对会汇编语言进行插桩形成程序的执行流程图;S12、基于Lengauer

Tarjan算法生成执行流程图的后序支配树;S13、基于后序支配树间各基本块间的支配关系,形成注释调用图的控制依赖边,添加数据依赖边、添加边和节点的属性后,形成注释调用图。3.如权利要求2所述提高存算一体化系统性能的静态计算划分方法,其特征在于,控制依赖边的生成过程具体如下:S131、检测程序的执行流程图中是否存在环,若存在,则执行步骤S133,再执行步骤S132,若不存在,则直接执行步骤S132;S132、遍历后序支配树边集E2中的所有边e2,在执行流程的边集E1删除与边e2相同的边,形成注释调用图的控制依赖边;S133、环中所有节点都依赖于头节点,以此提取控制相关。4.如权利要求1所述提高存算一体化系统性能的静态计算划分方法,其特征在于,程序划分方案的执行时间计算公式具体如下:T
all
=T
CPU
+T
PIM
+T
M
其中,T
CPU
为在片上处理器的执行总时间,T
PIM
为在存内计算单元的执行总时间,T
M
为片上处理器与存内计算单元间的数据传输总时间。5.如权利要求5所述提高存算一体化系统性能的静态计算划分方法,其特征在于,T
CPU
、T
PIM
、T
M
的计算公式具体如下:的计算公式具体如下:的计算公式具体如下:的计算公式具体如下:其中,表示点集S中全部基本块在片上处理器的执行总时间表示;表示点集T中全部基本块在存内计算单元上执行的总...

【专利技术属性】
技术研发人员:薛洪宇徐晟陈紫阳赵发鹏王赛陈付龙
申请(专利权)人:安徽师范大学
类型:发明
国别省市:

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

1