CN103226487A - 面向异构众核多级存储结构的数据分布与局部性优化方法 - Google Patents

面向异构众核多级存储结构的数据分布与局部性优化方法 Download PDF

Info

Publication number
CN103226487A
CN103226487A CN2013101483264A CN201310148326A CN103226487A CN 103226487 A CN103226487 A CN 103226487A CN 2013101483264 A CN2013101483264 A CN 2013101483264A CN 201310148326 A CN201310148326 A CN 201310148326A CN 103226487 A CN103226487 A CN 103226487A
Authority
CN
China
Prior art keywords
data
array
clause
local
local storage
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
CN2013101483264A
Other languages
English (en)
Other versions
CN103226487B (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.)
PLA Information Engineering University
Original Assignee
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 PLA Information Engineering University filed Critical PLA Information Engineering University
Priority to CN201310148326.4A priority Critical patent/CN103226487B/zh
Publication of CN103226487A publication Critical patent/CN103226487A/zh
Application granted granted Critical
Publication of CN103226487B publication Critical patent/CN103226487B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及一种面向异构众核多级存储结构的数据分布与局部性优化方法,具体为:对程序进行数据流分析,完成数据在不同类型核心的存储器之间的高效映射和布局,通过自动生成指导数据分布的相关数据管理子句,显式控制局部存储器与主存储器的数据传输,决定数据进入局部存储器以及从局部存储器写回的时机、位置和内容,优化异构众核多级存储结构的存储性能;具体含有下列步骤:步骤1:数据规模自适应的数组分块;步骤2:数组访问模式指导的数据分布;步骤3:主从协作的数组转置;步骤4:外围数据传输简化;本发明提升了程序的执行效率。

Description

面向异构众核多级存储结构的数据分布与局部性优化方法
(一)、技术领域:本发明涉及一种数据分布与局部性优化方法,特别是涉及一种面向异构众核多级存储结构的数据分布与局部性优化方法。
(二)、背景技术:传统的单核处理器主要通过提高运行频率来提高性能。随着时钟频率的持续增长,单芯片集成的晶体管数越来越多,功耗和发热量呈指数上升,共同制约了处理器性能的进一步提升。于是多核技术应运而生并成为当前处理器设计的主流,与单核处理器相比,多核及众核处理器具有更加丰富的计算资源和存储资源。
异构众核处理器由结构和功能相异的处理器核组成,一般采用“主处理器核(主核)+协处理器核(从核)”结构。主处理器核运行操作系统,负责任务的划分和资源的调度。协处理器核负责完成划分后的计算任务。异构众核处理器可以使用不同类型的处理器核来完成不同类型的任务,如任务并行度较高,则使用众多精简的协处理器核提速,否则用强大的通用计算主核运行。这比用相同的处理器核执行所有任务更有效率,更利于提高处理器的性能。异构众核处理器已成为学术界和工业界的研究热点,并逐步应用于需要海量计算能力和数据吞吐能力的航空航天领域、气象领域、生物领域、高难密码破译领域、信号分析等领域。
异构众核处理器的主核包含有容量较大的主存和访问速度快速的cache(高速缓冲存储器),从核包含软件管理的局部数据存储器。与硬件cache相比,局部数据存储器占用的芯片面积更少,功耗更低,访问速度更快。但由于容量的限制,局部数据存储器往往无法满足包含大数组的科学计算的存储需求。大部分数据存储在主存,导致局部存储失效时,必须通过DMA操作完成主存与局部存储的数据传输。然而DMA(Direct Memory Access,直接存储器访问)操作开销较大,DMA次数过多会大大降低程序性能。因此,由程序显式控制局部存储与主存的数据传输,决定数据进入局部存储以及从局部存储写回的时机、位置和内容,成为改善局存空间利用率,发挥异构处理器性能的关键。
(三)、发明内容:
本发明要解决的技术问题是:克服现有技术的缺陷,提供一种面向异构众核多级存储结构的数据分布与局部性优化方法,该方法提升了程序的执行效率。
本发明的技术方案:
一种面向异构众核多级存储结构的数据分布与局部性优化方法,具体为:对程序进行数据流分析,完成数据在不同类型核心的存储器之间的高效映射和布局,通过自动生成指导数据分布的相关数据管理子句,显式控制局部存储器与主存储器的数据传输,决定数据进入局部存储器以及从局部存储器写回的时机、位置和内容,优化异构众核多级存储结构的存储性能;具体含有下列步骤:
步骤1:数据规模自适应的数组分块:通过自动生成数组分块子句,把程序中不同规模的大数组划分为小数组,该小数组的大小适合于运算核心中的局部存储器的容量;
步骤2:数组访问模式指导的数据分布:分析小数组的访问模式,若该访问模式是规则访问,则生成带数据划分信息的数据拷贝子句,将计算所需数据截取和传输进局部存储器;若该访问模式不是规则访问,则生成缓存子句,将不规则访问的数组映射到软件cache;
步骤3:主从协作的数组转置:判断小数组下标索引变量次序和循环嵌套迭代次序是否一致,当两个次序不一致时,按循环嵌套的迭代次序对数组进行转置,通过数组转置子句使数组通过连续的数据拷贝操作从主存储器传送到从核的局部存储器,并获得与循环嵌套访问方式一致的存储方式,从而将不连续访存转换为连续访存,提高并行程序性能;
步骤4:外围数据传输简化:生成加速数据区编译指示,将循环嵌套内层并行循环的数据传输子句转移到循环嵌套外层的加速数据区,仅在循环计算开始前和循环计算结束后进行数据传输,避免外层串行循环执行时内层并行循环的多次数据拷贝。
步骤1中:采用动态分配的编译指导方法,在并行编译指示内插入数组分块子句,将超过局部存储器的容量限制的大数组划分为小数组,使大数组的部分数据也能由当前计算调度进入局部存储器,以利用局部存储器的快捷性加快运算功能。
步骤1中:在生成数组分块子句时,采用基于贪婪策略的启发式搜索算法来获得最优的数组分块方案,该数组分块方案在把循环引用的数组装载进局部数据存储器的前提下,最大化局部数据存储器的空间的利用率,同时保证程序数据的局部性。
步骤2中:通过对小数组下标表达式的分析来判断小数组的访问模式,如该访问模式是规则访问,则分析小数组的访问规律,获得小数组的划分信息,生成带数组划分信息的数据拷贝子句,由基础编译器依据数据拷贝子句将计算所需数据进行截取和传输进局部存储器。
步骤4中:需要简化的外围数据传输为外层串行、内层并行的多重嵌套循环;外围数据传输简化还含有对该多重嵌套循环的并行化编译过程的改善,编译系统在并行化内层循环时不添加数据传输子句,遍历完内层循环回溯到外层串行循环时添加数据区编译指示,并根据整个循环嵌套的数据流分析结果,把需要传输的变量放到数据拷贝子句、缓存子句中。
本发明的有益效果:
1、本发明能够由程序显式控制局部存储器与主存储器的数据传输,决定数据进入局部存储器以及从局部存储器写回的时机、位置和内容,可以有效改善异构众核处理器局部存储器的空间利用率,优化异构众核处理器多级存储结构的存储性能,提升程序的执行效率,有效发挥了异构处理器的性能。
2、本发明将优化过程分为数组分块、数据分部、数组转置以及外围数据传输简化四步,能够针对不同特征的数据多层次多粒度地优化数据的传输、存储和访问。
3、本发明通过在程序中自动生成指导数据分布数据管理子句的方式控制局部存储器与主存储器的数据传输,具有良好的可读性、可扩展性和平台无关性。
(四)、附图说明:
图1为面向异构众核多级存储结构的数据分布与局部性优化方法的说明示意图。
(五)、具体实施方式:
参见图1,面向异构众核多级存储结构的数据分布与局部性优化方法具体为:对程序进行数据流分析,完成数据在不同类型核心的存储器之间的高效映射和布局,通过自动生成指导数据分布的相关数据管理子句,显式控制局部存储器与主存储器的数据传输,决定数据进入局部存储器以及从局部存储器写回的时机、位置和内容,优化异构众核多级存储结构的存储性能;具体含有下列步骤:
步骤1:数据规模自适应的数组分块:通过自动生成数组分块子句,把程序中不同规模的大数组划分为小数组,该小数组的大小适合于运算核心中的局部存储器的容量;
步骤2:数组访问模式指导的数据分布:分析小数组的访问模式,若该访问模式是规则访问,则生成带数据划分信息的数据拷贝子句,将计算所需数据截取和传输进局部存储器;若该访问模式不是规则访问,则生成缓存子句,将不规则访问的数组映射到软件cache;
步骤3:主从协作的数组转置:判断小数组下标索引变量次序和循环嵌套迭代次序是否一致,当两个次序不一致时,按循环嵌套的迭代次序对数组进行转置,通过数组转置子句使数组通过连续的数据拷贝操作从主存储器传送到从核的局部存储器,并获得与循环嵌套访问方式一致的存储方式,从而将不连续访存转换为连续访存,提高并行程序性能;
步骤4:外围数据传输简化:生成加速数据区编译指示,将循环嵌套内层并行循环的数据传输子句转移到循环嵌套外层的加速数据区,仅在循环计算开始前和循环计算结束后进行数据传输,避免外层串行循环执行时内层并行循环的多次数据拷贝。
步骤1中:采用动态分配的编译指导方法,在并行编译指示内插入数组分块子句,将超过局部存储器的容量限制的大数组划分为小数组,使大数组的部分数据也能由当前计算调度进入局部存储器,以利用局部存储器的快捷性加快运算功能。
步骤1中:在生成数组分块子句时,采用基于贪婪策略的启发式搜索算法来获得最优的数组分块方案,该数组分块方案在把循环引用的数组装载进局部数据存储器的前提下,最大化局部数据存储器的空间的利用率,同时保证程序数据的局部性。
步骤2中:通过对小数组下标表达式的分析来判断小数组的访问模式,如该访问模式是规则访问,则分析小数组的访问规律,获得小数组的划分信息,生成带数组划分信息的数据拷贝子句,由基础编译器依据数据拷贝子句将计算所需数据进行截取和传输进局部存储器。
步骤4中:需要简化的外围数据传输为外层串行、内层并行的多重嵌套循环;外围数据传输简化还含有对该多重嵌套循环的并行化编译过程的改善,编译系统在并行化内层循环时不添加数据传输子句,遍历完内层循环回溯到外层串行循环时添加数据区编译指示,并根据整个循环嵌套的数据流分析结果,把需要传输的变量放到数据拷贝子句、缓存子句中。
以上步骤1-3是针对数组进行的局部性优化,步骤4是针对嵌套循环中内层并行循环做的整体性传输优化。
步骤1完成的主要工作是对数据和计算进行分割,生成数组分块子句。在对数据和计算进行划分时采用了一种基于贪婪策略的启发式搜索算法来获得最优的数组分块方案。该算法求解过程为:
设循环嵌套为{L1,L2,...,Ln},L1为最外层循环,Ln为最内层循环,循环引用数组A1、A2、...、Am,数组元素的大小为sk(1≤k≤m)字节,数组维数为lk,局部数据存储器的大小为M。由于各个数组的维数可能不一致,所以难以以某个数组为研究对象求出适用于所有数组的分块方案。假设数组下标表达式是循环嵌套索引变量的简单仿射函数(只有一个循环索引变量),则可以索引变量为依据,对下标包含此索引变量的数组维进行分块,块大小为di(1≤i≤lk)。循环嵌套层Lj(1≤j≤n)索引变量对应的分块值为xj。最佳数组分块方案的求解问题可以建模为:
max Σ k = 1 m ( s k · Π i k = 1 l k d i k )
s . t . d i k = D i k if x i k = 0 x i k if x i k ≠ 0
Σ k = 1 m ( s k · Π i k = 1 l k d i k ) ≤ M
其中
Figure BDA00003101475400061
是数组第ik维的元素个数。当
Figure BDA00003101475400062
时,数组该维不分块,当
Figure BDA00003101475400063
时,
Figure BDA00003101475400064
即为分块值。最优数组分块方案的求解可诠释为求满足条件的向量
x=(x1,x2,...,xn)T(T为T矩阵理论里的基本记号,表示转置,表示x是一个列向量),使各数组的数据块之和所占空间尽可能地大。实际计算时,为了降低时间复杂度,并保证数据局部性,常常自数组高维向低维划分,并尽可能不划分低维。由于数组分块是以循环索引变量作为划分的标志,且数组各维存储顺序一般与循环嵌套访问顺序具有一致性,所以按循环嵌套索引变量的迭代次序,自顶向下的赋值计算。如一个n层循环嵌套的数组分块方案计算方法为:
(1)x初始化为(0,0,...,0)T
(2)令x=(1,0,×××,0)T,即index1对应维的块大小为1;遍历循环引用的数组,对下标索引变量是index1的维分块为1,其他维不分块,获得数组分配给一个局部数据存储器的数据块;
(3)计算所有数组数据块占用的总空间,若大于局部存储空间,说明对数组该维的最小分块仍会使局部存储空间溢出,令x=(1,1,...,0)T,对下一个数组维进行分块;否则说明该维的最小分块已满足局部存储空间的限制,为充分利用局部存储空间,应增加分块大小,令x=(2,0,...,0)T,计算新分块方案下数组数据块所占空间,若小于局部存储空间,则令x=(3,0,...,0)T,继续计算判断。当x=(a,0,...,0)T,局部存储空间溢出时,说明已到达临界点,x=(a-1,0,...,0)T即为最优分块值。
(4)重复步骤(3)的计算模式,逐维对数组分块,直至获得每一维的最优值,构成最终数组分块方案。
该方案在能够把循环引用的数组装载进局部数据存储器的前提下,最大化局部存储空间的利用率,同时保证程序数据的局部性。
步骤2的主要工作是根据不同的数组访问模式,对程序中的数组进行分类处理,使规则访问数组得到精确划分,不规则访问数组得到高效映射,生成相应的数据拷贝子句和缓存子句。
以数组下标表达式为依据,分析数组的类型和访问特征,获得数组数据划分信息和占用空间信息。对不规则访问数组,计算它所需的cache行个数,把计算结果与数组名插入数据缓存子句中。对规则访问数组,检查数组各维下标表达式,若下标索引变量个数大于1,该维不划分,否则检查索引变量与前一同名数组的同维下标索引变量是否相同,若不同,标记该维不划分,若相同,存储下标索引变量的系数和常数项。当遍历完循环内的同名引用时,判断各维的划分标记,并分析已存储的下标索引变量的系数和常数项的值,获得各维的数据划分信息,把这些信息和数组名一起添加到合适的数据拷贝子句中。
步骤3的主要工作是对循环中访问不连续的规则数组生成数组转置子句,使这些数组可以通过连续的数据拷贝操作从主存传送到从核局存,并获得与循环嵌套访问方式一致的存储方式,从而将不连续访存转换为连续访存。
由于数组是否连续访问与数组下标索引变量次序和循环嵌套迭代次序是否一致有关,判断数组是否需要转置的过程即两个次序的比对过程。当两个次序不一致时,即要按循环嵌套的迭代顺序对数组进行转置。数组转置顺序分析过程为:首先将引用数组的下标索引变量从低维到高维依次存到数组ref_order中,再将循环嵌套索引变量从外层到内层依次存到数组loop_order中,然后从最后一个元素,即最内层循环索引开始遍历,查找其在数组中的编号,存到整型数组swap_order中,若swap_order与数组编号不一致,说明数组需要转置,置标志位为真,并把swap_order作为数组转置顺序添加到数组转置子句中。
步骤4的主要工作是针对外层串行、内层并行的多重嵌套循环创建加速数据区,解决内层并行循环的数据多次传输的问题,并添加数据区编译指示,并根据整个循环嵌套的数据流分析结果,把需要传输的变量放到数据拷贝子句、缓存子句等子句中。
自动生成加速数据区编译指示及子句,首先要确定需要优化数据传输的循环。能够使用加速数据区编译指示进行优化的循环一般是外层串行、内层并行的多重嵌套循环。并行化编译对这类循环的一般处理过程是自顶向下分析,若外层循环不具有并行性,则分析内层循环,若内层循环可并行加速,则添加作用于该层循环的并行编译指示及数据传输子句。由于并行循环包含于串行循环,其上的数据传输操作往往由于串行循环的迭代而被多次启动。对这类循环的并行化编译过程进行改善,使编译系统在并行化内层循环时不添加数据传输子句,遍历完内层循环回溯到外层串行循环时,添加加速数据区编译指示,并根据整个循环嵌套的数据流分析结果,把需要传输的变量放到数据拷贝子句、缓存子句等子句中。

Claims (5)

1.一种面向异构众核多级存储结构的数据分布与局部性优化方法,其特征是:对程序进行数据流分析,完成数据在不同类型核心的存储器之间的高效映射和布局,通过自动生成指导数据分布的相关数据管理子句,显式控制局部存储器与主存储器的数据传输,决定数据进入局部存储器以及从局部存储器写回的时机、位置和内容,优化异构众核多级存储结构的存储性能;具体含有下列步骤:
步骤1:数据规模自适应的数组分块:通过自动生成数组分块子句,把程序中不同规模的大数组划分为小数组,该小数组的大小适合于运算核心中的局部存储器的容量;
步骤2:数组访问模式指导的数据分布:分析小数组的访问模式,若该访问模式是规则访问,则生成带数据划分信息的数据拷贝子句,将计算所需数据截取和传输进局部存储器;若该访问模式不是规则访问,则生成缓存子句,将不规则访问的数组映射到软件cache;
步骤3:主从协作的数组转置:判断小数组下标索引变量次序和循环嵌套迭代次序是否一致,当两个次序不一致时,按循环嵌套的迭代次序对数组进行转置,通过数组转置子句使数组通过连续的数据拷贝操作从主存储器传送到从核的局部存储器,并获得与循环嵌套访问方式一致的存储方式,从而将不连续访存转换为连续访存,提高并行程序性能;
步骤4:外围数据传输简化:生成加速数据区编译指示,将循环嵌套内层并行循环的数据传输子句转移到循环嵌套外层的加速数据区,仅在循环计算开始前和循环计算结束后进行数据传输,避免外层串行循环执行时内层并行循环的多次数据拷贝。
2.根据权利要求1所述的面向异构众核多级存储结构的数据分布与局部性优化方法,其特征是:所述步骤1中:采用动态分配的编译指导方法,在并行编译指示内插入数组分块子句,将超过局部存储器的容量限制的大数组划分为小数组,使大数组的部分数据也能由当前计算调度进入局部存储器,以利用局部存储器的快捷性加快运算功能。
3.根据权利要求1所述的面向异构众核多级存储结构的数据分布与局部性优化方法,其特征是:所述步骤1中:在生成数组分块子句时,采用基于贪婪策略的启发式搜索算法来获得最优的数组分块方案。
4.根据权利要求1所述的面向异构众核多级存储结构的数据分布与局部性优化方法,其特征是:所述步骤2中:通过对小数组下标表达式的分析来判断小数组的访问模式,如该访问模式是规则访问,则分析小数组的访问规律,获得小数组的划分信息,生成带数组划分信息的数据拷贝子句,由基础编译器依据数据拷贝子句将计算所需数据进行截取和传输进局部存储器。
5.根据权利要求1所述的面向异构众核多级存储结构的数据分布与局部性优化方法,其特征是:所述步骤4中:需要简化的外围数据传输为外层串行、内层并行的多重嵌套循环;外围数据传输简化还含有对该多重嵌套循环的并行化编译过程的改善,编译系统在并行化内层循环时不添加数据传输子句,遍历完内层循环回溯到外层串行循环时添加数据区编译指示,并根据整个循环嵌套的数据流分析结果,把需要传输的变量放到数据拷贝子句、缓存子句中。
CN201310148326.4A 2013-04-25 2013-04-25 面向异构众核多级存储结构的数据分布与局部性优化方法 Expired - Fee Related CN103226487B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310148326.4A CN103226487B (zh) 2013-04-25 2013-04-25 面向异构众核多级存储结构的数据分布与局部性优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310148326.4A CN103226487B (zh) 2013-04-25 2013-04-25 面向异构众核多级存储结构的数据分布与局部性优化方法

Publications (2)

Publication Number Publication Date
CN103226487A true CN103226487A (zh) 2013-07-31
CN103226487B CN103226487B (zh) 2016-01-13

Family

ID=48836949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310148326.4A Expired - Fee Related CN103226487B (zh) 2013-04-25 2013-04-25 面向异构众核多级存储结构的数据分布与局部性优化方法

Country Status (1)

Country Link
CN (1) CN103226487B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103871088A (zh) * 2014-04-08 2014-06-18 武汉大学 基于图像稀疏特征的空间统计数据分块压缩方法及系统
CN104572501A (zh) * 2015-01-08 2015-04-29 北京航空航天大学 一种基于访存踪迹局部性分析的多核环境下共享缓存优化方法
CN105159737A (zh) * 2015-07-28 2015-12-16 哈尔滨工程大学 一种面向类仿射数组下标应用的参数化并行存储结构模版
CN105242909A (zh) * 2015-11-24 2016-01-13 无锡江南计算技术研究所 一种基于多版本代码生成的众核循环分块方法
CN105426296A (zh) * 2015-11-24 2016-03-23 无锡江南计算技术研究所 基于插装标签的核间协同多线程pmu事件监测方法
CN105487911A (zh) * 2015-11-24 2016-04-13 无锡江南计算技术研究所 一种基于编译指导的众核数据分片方法
CN105159737B (zh) * 2015-07-28 2018-08-31 哈尔滨工程大学 一种面向类仿射数组下标应用的参数化并行存储结构模版
CN108694136A (zh) * 2017-03-31 2018-10-23 英特尔公司 用于超越基于非局部性的指令处理的系统、设备和方法
CN112130848A (zh) * 2020-09-24 2020-12-25 中国科学院计算技术研究所 一种面向便笺式存储器的带宽感知循环分块优化技术
CN112416825A (zh) * 2019-08-21 2021-02-26 无锡江南计算技术研究所 面向异构众核基于空间重排的数据传输方法
CN112433965A (zh) * 2019-08-26 2021-03-02 无锡江南计算技术研究所 面向spm存储层次的数据缓存实现方法
CN112559435A (zh) * 2019-09-26 2021-03-26 无锡江南计算技术研究所 基于片上分块的大规模三维矩阵转置的众核并行优化方法
CN112579089A (zh) * 2019-09-27 2021-03-30 无锡江南计算技术研究所 异构众核数据重用方法
CN112631593A (zh) * 2019-09-24 2021-04-09 无锡江南计算技术研究所 基于rma的众核分布式共享spm实现方法
CN112738142A (zh) * 2019-10-14 2021-04-30 无锡江南计算技术研究所 面向众核多层次存储系统的数据高效传输支持方法
CN112948319A (zh) * 2019-12-10 2021-06-11 无锡江南计算技术研究所 面向异构融合众核架构的数据自动布局方法和装置
CN114968752A (zh) * 2021-02-25 2022-08-30 北京嘀嘀无限科技发展有限公司 赋值元素的确定方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1828773A (zh) * 2005-03-04 2006-09-06 中国科学院计算技术研究所 多维数组在动态随机存取存储器上的快速读写方法及装置
CN101441569A (zh) * 2008-11-24 2009-05-27 中国人民解放军信息工程大学 基于异构可重构体系结构面向任务流的新型编译方法
WO2011079942A1 (en) * 2009-12-28 2011-07-07 Hyperion Core, Inc. Optimisation of loops and data flow sections
CN102929724A (zh) * 2012-11-06 2013-02-13 无锡江南计算技术研究所 基于异构众核处理器的多级访存方法、离散访存方法
CN102929580A (zh) * 2012-11-06 2013-02-13 无锡江南计算技术研究所 数组多引用访问的分块方法和装置
US20130055225A1 (en) * 2011-08-25 2013-02-28 Nec Laboratories America, Inc. Compiler for x86-based many-core coprocessors

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1828773A (zh) * 2005-03-04 2006-09-06 中国科学院计算技术研究所 多维数组在动态随机存取存储器上的快速读写方法及装置
CN101441569A (zh) * 2008-11-24 2009-05-27 中国人民解放军信息工程大学 基于异构可重构体系结构面向任务流的新型编译方法
WO2011079942A1 (en) * 2009-12-28 2011-07-07 Hyperion Core, Inc. Optimisation of loops and data flow sections
US20130055225A1 (en) * 2011-08-25 2013-02-28 Nec Laboratories America, Inc. Compiler for x86-based many-core coprocessors
CN102929724A (zh) * 2012-11-06 2013-02-13 无锡江南计算技术研究所 基于异构众核处理器的多级访存方法、离散访存方法
CN102929580A (zh) * 2012-11-06 2013-02-13 无锡江南计算技术研究所 数组多引用访问的分块方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
钟光清等: "一种基于循环并行模式的多核优化方法", 《厦门大学学报(自然科学版)》 *
高翔: "多核处理器的访存模拟与优化技术研究", 《中国博士学位论文全文数据库》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103871088A (zh) * 2014-04-08 2014-06-18 武汉大学 基于图像稀疏特征的空间统计数据分块压缩方法及系统
CN104572501A (zh) * 2015-01-08 2015-04-29 北京航空航天大学 一种基于访存踪迹局部性分析的多核环境下共享缓存优化方法
CN104572501B (zh) * 2015-01-08 2017-05-17 北京航空航天大学 一种基于访存踪迹局部性分析的多核环境下共享缓存优化方法
CN105159737A (zh) * 2015-07-28 2015-12-16 哈尔滨工程大学 一种面向类仿射数组下标应用的参数化并行存储结构模版
CN105159737B (zh) * 2015-07-28 2018-08-31 哈尔滨工程大学 一种面向类仿射数组下标应用的参数化并行存储结构模版
CN105242909A (zh) * 2015-11-24 2016-01-13 无锡江南计算技术研究所 一种基于多版本代码生成的众核循环分块方法
CN105426296A (zh) * 2015-11-24 2016-03-23 无锡江南计算技术研究所 基于插装标签的核间协同多线程pmu事件监测方法
CN105487911A (zh) * 2015-11-24 2016-04-13 无锡江南计算技术研究所 一种基于编译指导的众核数据分片方法
CN105426296B (zh) * 2015-11-24 2018-04-10 无锡江南计算技术研究所 基于插装标签的核间协同多线程pmu事件监测方法
CN105487911B (zh) * 2015-11-24 2018-07-06 无锡江南计算技术研究所 一种基于编译指导的众核数据分片方法
CN108694136A (zh) * 2017-03-31 2018-10-23 英特尔公司 用于超越基于非局部性的指令处理的系统、设备和方法
CN112416825A (zh) * 2019-08-21 2021-02-26 无锡江南计算技术研究所 面向异构众核基于空间重排的数据传输方法
CN112433965A (zh) * 2019-08-26 2021-03-02 无锡江南计算技术研究所 面向spm存储层次的数据缓存实现方法
CN112433965B (zh) * 2019-08-26 2022-07-12 无锡江南计算技术研究所 面向spm存储层次的数据缓存实现方法
CN112631593A (zh) * 2019-09-24 2021-04-09 无锡江南计算技术研究所 基于rma的众核分布式共享spm实现方法
CN112631593B (zh) * 2019-09-24 2022-10-04 无锡江南计算技术研究所 基于rma的众核分布式共享spm实现方法
CN112559435A (zh) * 2019-09-26 2021-03-26 无锡江南计算技术研究所 基于片上分块的大规模三维矩阵转置的众核并行优化方法
CN112579089A (zh) * 2019-09-27 2021-03-30 无锡江南计算技术研究所 异构众核数据重用方法
CN112579089B (zh) * 2019-09-27 2022-11-15 无锡江南计算技术研究所 异构众核数据重用方法
CN112738142A (zh) * 2019-10-14 2021-04-30 无锡江南计算技术研究所 面向众核多层次存储系统的数据高效传输支持方法
CN112738142B (zh) * 2019-10-14 2022-11-25 无锡江南计算技术研究所 面向众核多层次存储系统的数据高效传输支持方法
CN112948319A (zh) * 2019-12-10 2021-06-11 无锡江南计算技术研究所 面向异构融合众核架构的数据自动布局方法和装置
CN112130848A (zh) * 2020-09-24 2020-12-25 中国科学院计算技术研究所 一种面向便笺式存储器的带宽感知循环分块优化技术
CN114968752A (zh) * 2021-02-25 2022-08-30 北京嘀嘀无限科技发展有限公司 赋值元素的确定方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN103226487B (zh) 2016-01-13

Similar Documents

Publication Publication Date Title
CN103226487B (zh) 面向异构众核多级存储结构的数据分布与局部性优化方法
Shan et al. FPMR: MapReduce framework on FPGA
CN112465108B (zh) 一种面向存算一体平台的神经网络编译方法
Lieberman et al. A fast similarity join algorithm using graphics processing units
CN107329828B (zh) 一种面向cpu/gpu异构集群的数据流编程方法和系统
CN103617150B (zh) 一种基于gpu的大规模电力系统潮流并行计算的系统及其方法
US8959138B2 (en) Distributed data scalable adaptive map-reduce framework
CN106383695B (zh) 基于fpga的聚类算法的加速系统及其设计方法
CN109002659B (zh) 一种基于超级计算机的流体机械仿真程序优化方法
CN109918199B (zh) 基于gpu的分布式图处理系统
CN103150265B (zh) 面向嵌入式片上异构存储器的细粒度数据分配方法
CN105808309B (zh) 一种基于申威平台的基础线性代数库blas三级函数gemm的高性能实现方法
CN102981807A (zh) 一种基于cuda并行环境的gpu程序优化方法
CN103559148B (zh) 面向多任务嵌入式系统的片上便笺式存储器管理方法
CN101717817A (zh) 对基于随机上下文无关文法的rna二级结构预测进行加速的方法
CN112947870B (zh) 一种3D打印模型的G-code并行生成方法
CN104765589A (zh) 基于mpi的网格并行预处理方法
CN110852930B (zh) 一种基于OpenCL的FPGA图处理加速方法和系统
CN102722472B (zh) 一种复数矩阵的优化方法
CN102981836B (zh) 异构系统的编译方法和编译器
Wu et al. Multipredicate join algorithms for accelerating relational graph processing on GPUs
Wang et al. Gpu register packing: Dynamically exploiting narrow-width operands to improve performance
Malik et al. Task scheduling for GPU accelerated hybrid OLAP systems with multi-core support and text-to-integer translation
CN115756605A (zh) 一种基于多gpu的浅积云对流参数化方案异构计算方法
Zhou et al. Parallel cube computation on modern CPUs and GPUs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160113

Termination date: 20170425

CF01 Termination of patent right due to non-payment of annual fee