CN102929580A - 数组多引用访问的分块方法和装置 - Google Patents

数组多引用访问的分块方法和装置 Download PDF

Info

Publication number
CN102929580A
CN102929580A CN201210442053XA CN201210442053A CN102929580A CN 102929580 A CN102929580 A CN 102929580A CN 201210442053X A CN201210442053X A CN 201210442053XA CN 201210442053 A CN201210442053 A CN 201210442053A CN 102929580 A CN102929580 A CN 102929580A
Authority
CN
China
Prior art keywords
array
access
parameter
quoted
association type
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
CN201210442053XA
Other languages
English (en)
Other versions
CN102929580B (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.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201210442053.XA priority Critical patent/CN102929580B/zh
Publication of CN102929580A publication Critical patent/CN102929580A/zh
Application granted granted Critical
Publication of CN102929580B publication Critical patent/CN102929580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Memory System (AREA)

Abstract

一种数组多引用访问的分块方法和装置,其中,所述数组多引用访问的分块方法包括:分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离;根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数;输出数组访问的数组分块参数和缓冲大小参数。本发明的数组多引用访问的分块方法分析了应用程序中多个引用访问之间的相关性,又考虑了系统存储架构的结构限制,确保可以获得有效的数组分块参数和缓冲大小参数。

Description

数组多引用访问的分块方法和装置
技术领域
本发明涉及编译方法和编译器,特别涉及数组多引用访问的分块方法和装置。
背景技术
在传统的处理器体系架构中,通常将大容量片上静态存储器(SRAM)存储器组织为硬件管理的高速缓冲存储器(Cache)。然而,随着容量的增大和工艺的发展,Cache与处理器之间的性能差距越来越大。大容量的Cache使得面积和功耗成为一个重要的问题,因为Cache通常消耗25%~50%的芯片面积和功耗,而且这个比例还在上升。此外,对于很多应用,Cache的最近最少使用(LRU:Least Recently Used)替换机制并不能有效捕获程序中的局部性。因此,在嵌入式系统和新兴的体系结构中,越来越多地将大容量片上SRAM组织为暂存器(SPM:Scratch-Pad Memory),采用软件管理。
在SPM和DRAM(动态随机存取存储器:Dynamic Random AccessMemory)共用的存储架构中,SPM为片上存储器,容量有限;DRAM为主存,容量较大,大数组一般存储在DRAM中。对于程序核心段频繁访问的大数组,如果数组的访问具有空间局限性,往往需要结合循环分块进行数据的分块传输优化,即在SPM上预先分配一块缓冲空间,数组访问之前先通过异步块数据传输装置将DRAM中的数据传输至SPM上,然后将程序核心段频繁访问DRAM中数据转化为频繁访问SPM上的缓冲空间中的临时数据。而对于应用程序循环中多次引用同一个数组的情况,程序员在SPM上预先分配缓冲空间需要特别谨慎,防止出现导致程序语义错误的情况,例如,函数中多次引用一个数组的情况通常为:
如果在程序中给a数组分别开一个ra_buf[blk]用于优化数据的读,wa_buf[blk]用于优化数据的写,那么存在导致程序语义错误的隐患。请参考图1,在上述程序中,如果数组a两次引用之间距离d=q-p小于SPM上分配的缓冲大小blk时,将会导致写的数据还没更新到DRAM中,读的数据已经从DRAM中读出来了,从而导致程序语义错误。
现有技术中,对于SPM和DRAM共用的存储架构,存在根据数据分块结合循环分块的一些基本原理,主要考虑的是挖掘循环中的局部性,没有考虑程序中数据片上空间整体需求对数组分块大小的影响;另外,还有一种二叉树搜索最优分块大小的方法,着重于开发核心(Kernel)重用,该算法是一种启发式方法,没有建立详尽的参数模型以准确指导最优分块大小选择,也没有同时考虑预取和重用优化的折中。现有技术对于数组多引用访问,仅通过分析程序的行为来确定分块参数,但是由于数组的分块优化受限于硬件结构的制约,所以不能分析在SPM和DRAM共用的存储架构下的有效分块参数。
其他有关数组多引用访问的方法还可以参考公开号为CN1329302的中国发明专利申请,其公开了一种流水线微处理器的循环高速缓冲存储器及高速缓存控制器。
发明内容
本发明解决的问题是现有技术不能分析在SPM和DRAM共用的存储架构下的有效分块参数。
为解决上述问题,本发明技术方案提供了一种数组多引用访问的分块方法,包括:分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离;根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数;输出数组访问的数组分块参数和缓冲大小参数。
可选的,所述计算数组分块参数和缓冲大小参数包括:根据数组访问的关联类型和关联距离计算正确语义下的数组分块参数和缓冲大小参数;结合存储系统结构特征优化所述数组分块参数和缓冲大小参数。
可选的,所述的分析各循环内数组访问模式包括:先根据语法树确定数组的访问表达式,再根据数组的访问表达式判断数组访问模式。
可选的,所述数组访问的关联类型和关联距离保存在循环信息链表中。
可选的,所述循环信息链表为遍历应用程序控制图后为每个循环所创建,所述循环信息链表中还保存有分析所述循环后收集的变量访存信息。
可选的,所述数组访问的关联类型和关联距离与所述变量访存信息具有对应关系。
为解决上述问题,本发明技术方案还提供了一种数组多引用访问的分块装置,包括:分析单元,适于分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离;计算单元,适于在分析单元分析出数组访问的关联类型和关联距离后,根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数;输出单元,适于在计算单元计算出数组分块参数和缓冲大小参数后,输出所述数组分块参数和所述缓冲大小参数。
可选的,所述的计算单元计算数组分块参数和缓冲大小参数包括:根据数组访问的关联类型和关联距离计算正确语义下的数组分块参数和缓冲大小参数;结合存储系统结构特征优化所述数组分块参数和缓冲大小参数。
可选的,所述的分析单元分析各循环内数组访问模式包括:先根据语法树确定数组的访问表达式,再根据数组的访问表达式判断数组访问模式。
可选的,还包括填写单元,适于在所述分析单元根据所述数组访问模式进行各循环内数组访问的关联类型和关联距离分析后,将所述关联类型和关联距离系保存在循环信息链表中。
可选的,还包括创建单元,适于在遍历应用程序控制图后创建循环信息链表,分析所述循环,收集变量访存信息并保存在所述循环信息链表中。
可选的,所述数组访问的关联类型和关联距离与所述变量访存信息具有对应关系。
与现有技术相比,本发明技术方案提出了一种数组多引用访问的分块方法和装置。上述技术方案中数组多引用访问的分块方法,先分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离,该方法引入类别分析和关联分析自动分析程序中数组多个引用访问之间的相关性,通过进行不同访问模式,如区间访问、连续访问和离散访问的依赖关系分析,填写数组的关联类型和关联距离信息;然后根据每个循环中的数组访问的关联类型和关联距离计算可行的数组分块参数和缓冲大小参数,以保证了程序运行过程中的正确语义,不存在导致程序语义错误的隐患;同时,在计算数组分块参数和缓冲大小参数的同时,结合了存储系统的结构特征,剔除掉无优化价值的数组分块参数和缓冲大小参数,例如数组分块参数过小,远小于异步数据块传输的一个内存行的大小,或者缓冲大小参数过大,超出了片上暂存器的容量等情况,最后将有使用价值的数组分块参数和缓冲大小参数输出供编译器优化或者用户优化选择。因此,本技术方案的数组多引用访问的分块方法既分析了应用程序中多个引用访问之间的相关性,又充分考虑了系统存储架构的结构限制,确保所获得的数组分块参数和缓冲大小参数在保证程序语义正确的前提下具有使用价值。
附图说明
图1是现有技术的数组多引用访问的分块方法的操作实例;
图2是本发明的数组多引用访问的分块方法的流程示意图;
图3是本发明的数组多引用访问的分块装置的机构示意图。
具体实施方式
现有技术中,对于SPM和DRAM共用的存储架构,对于数组多引用访问,仅通过分析程序的行为来确定分块参数,但是由于数组的分块受限于硬件结构的制约,所以不能获得有效分块参数。
本发明技术方案提供了一种数组多引用访问的分块方法,包括:分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离;根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数;输出数组访问的数组分块参数和缓冲大小参数。本技术方案的数组多引用访问的分块方法既分析了应用程序中多个引用访问之间的相关性,又充分考虑了系统存储架构的结构限制,确保所获得的数组分块参数和缓冲大小参数在确保程序语义正确的前提下具有使用价值。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图和实施例对本发明的具体实施方式做详细的说明。
请参考图2,其示出了本发明技术方案一实施例的数组多引用访问的分块方法的基本流程,所述的数组多引用访问的分块方法包括:
步骤S201,遍历应用程序控制图,为每个循环创建循环信息链表,分析所述循环,收集变量访存信息并添加到所述循环信息链表。
所述的数组多引用访问的分块方法作为程序编译方法中的一部分,本实施例数组多引用访问的分块方法为程序编译器提供可选的数组分块参数和缓冲大小参数,因此本技术方案以此前程序编译过程中编译器生成的应用程序控制图和语法树等数据结构作为基础。遍历应用程序控制图,为每个循环创建循环信息链表,分析所述循环,收集变量访存信息并添加到所述循环信息链表。所述的变量访存信息包括:循环变量信息、数组访问信息、循环语句信息和循环索引变量信息。
本实施例中,为每个循环创建循环信息链表后分析所述循环,收集变量访问信息,具体包括:将当前循环的循环变量添加到循环信息链表;计算循环的长度,将循环体内的数组访问信息添加到循环信息链表;将循环中语句的相关信息添加到循环信息链表;识别循环的索引变量,将循环索引变量添加到循环信息链表。
步骤S202,根据函数调用关系,利用调用过程间信息整理更新所述循环信息链表。
本步骤主要针对循环体中含有函数调用的情形,将被调用函数中循环体之外的数组访问信息,以及函数的形参指针等访问信息更新到上层循环体中,具体包括:将当前函数的数组访问、形参指针访问以及指针访问,创建变量访问项并添加到上层循环信息链表。
步骤S203,分析所述循环内的数组访问模式,根据所述数组访问模式进行数组访问的关联关系分析,所述关联关系包括关联类型和关联距离。
分析数组访问模式,根据所述数组访问模式进行关联关系分析。根据编译器前端生成的语法树确定数组的引用模式,所述的语法树是按照规则进行推导形成的树,它是程序语言的结构的图形表示,代表了句子的推导过程,有利于理解句子语法结构的层次。对于每个循环中的数组,都有与之对应的语法树,根据语法树确定数组的访问表达式后,再根据数组的访问表达式判断数组访问模式。
所述的数组访问模式包括区间访问、连续访问和离散访问。连续访问具有数据访问的空间局部性,而离散访问不具有这种空间局部性,所述的空间局部性是指数组访问过程中,在访问了内存区的一个位置,那么内存区的下一个位置也将会被访问到。
对区间访问关联性分析的目的是分析区间访问之间的关系,确定多个区间访问是否可以共用缓冲,达到减少缓冲空间需求和减少直接内存存取(DMA:Direct Memory Access)次数的目的。在本实施例中,对于区间访问,通过“expr&CONST”或者“expr%CONST”这两种运算,算出数组变量访问的最大数据区范围,expr为循环的索引变量,CONST为一个较小的整数常数,与系统存储架构有关。对于区间访问,所述的关联类型包括:包含、相交、相离和不确定。
对于连续访问所述的关联类型包括:读读相关、读写相关、读写无关、写写相关、多读一写、多读。本实施例数组多引用访问的分块方法通过编译器中的自动分析装置确定变量之间的关联关系,计算出关联数组之间的关联距离。
对于离散访问,构建离散访问同类项,即用同名项组中具有离散访问属性的项构成离散访问同类项链,如果同名项组中只有读存在,扫描同类项,如果同名项组中存在写,而且只存在一类同类项,缓冲可共用,否则,将所有同类项中的可优化标记全部置为不可优化。
步骤S204,在所述循环信息链表中填写数组访问的关联类型和关联距离。具体为将上述步骤中分析所得的区间访问、连续访问和离散访问的关联类型和关联距离填写到对应的循环信息链表。
步骤S205,根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数。
通过前述步骤中所获得的数组访问的关联类型和关联距离,可以计算获得保证程序运行过程中正确语义的数组分块参数和缓冲大小参数。但在暂存器和主存共用的存储架构下,受限于硬件结构的制约,数组多引用访问的分块方法存在更为复杂的依赖关系,如果不充分考虑结合存储系统的硬件结构,虽然可以保证程序语义的正确,但可能带来优化效率低和优化无意义的后果。例如,当数组分块参数过小,远小于异步数据块传输的一个内存行的大小时,对数组访问优化本身而言无实际意义,异步数据块传输带来的优化效率极低;或者缓冲大小参数过大,超出了片上暂存器的容量,那么这种优化也无实际意义。
本实施例中,所述计算数组分块参数和缓冲大小参数包括:根据数组访问的关联类型和关联距离计算正确语义下的数组分块参数和缓冲大小参数;结合存储系统结构特征优化所述数组分块参数和缓冲大小参数。计算方法为根据优化规则和系统参数定义的规则。计算原则为在不影响程序语义正确的前提下,计算所有满足发挥系统访存带宽的可能分块参数和缓冲大小。关联距离和关联类型引入计算方法中确保所选的数组分块参数和缓冲大小参数不影响程序语义的正确性,存储系统结构特征引入计算方法中确保了所选的这些参数能够保证发挥系统效率,剔除无优化价值的缓冲空间大小参数和数组分块参数,所述的存储系统结构特征包括内存异步数据块传输的一个内存行大小和暂存器容量大小等。所以,本实施例的数组多引用访问的分块方法可以确保所获得的数组分块参数和缓冲大小参数在保证程序语义正确的前提下具有使用价值。
步骤S206,输出数组访问的数组分块参数和缓冲大小参数。所述的数组分块参数和缓冲大小参数在输出后,供后续编译器优化选择或者用户优化选择。
对应于上述数组多引用访问的分块方法,本实施例还提供一种数组多引用访问的分块装置,请参考图3,图3为本实施例的数组多引用访问的分块装置。所述数组多引用访问的分块装置包括:创建单元301,更新单元302,分析单元303,填写单元304,计算单元305,输出单元306。
所述创建单元301,用于在遍历应用程序控制图后为每个循环创建循环信息链表,分析所述循环,收集变量访存信息并保存在所述循环信息链表中。
所述更新单元302,用于在创建单元301收集变量访存信息并添加到所述循环信息链表后,分析函数调用关系,利用调用过程间信息整理更新所述循环信息链表。
所述分析单元303,用于在创建单元301收集变量访存信息并添加到所述循环信息链表后,分析所述循环内的数组访问模式,根据所述数组访问模式进行关联关系分析,所述关联关系包括关联类型和关联距离。所述数组访问的关联关系与所述变量访存信息具有对应关系。所述的分析单元303分析各循环内数组访问模式包括:先根据语法树确定数组的访问表达式,再根据数组的访问表达式判断数组访问模式。
所述填写单元304,用于在所述循环信息链表中填写数组访问的关联类型和关联距离。
所述计算单元305,用于在填写单元在循环信息链表中填写数组访问的关联类型和关联距离后,根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数。本实施例中,所述计算单元305先根据数组访问的关联类型和关联距离计算正确语义下的数组分块参数和缓冲大小参数;再结合存储系统结构特征优化所述数组分块参数和缓冲大小参数。
所述输出单元306,用于在计算单元305计算出数组分块参数和缓冲大小参数后,输出数组访问的数组分块参数和缓冲大小参数。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (12)

1.一种数组多引用访问的分块方法,其特征在于,包括:
分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离;
根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数;
输出数组访问的数组分块参数和缓冲大小参数。
2.如权利要求1所述的数组多引用访问的分块方法,其特征在于,所述计算数组分块参数和缓冲大小参数包括:
根据数组访问的关联类型和关联距离计算正确语义下的数组分块参数和缓冲大小参数;
结合存储系统结构特征优化所述数组分块参数和缓冲大小参数。
3.如权利要求1所述的数组多引用访问的分块方法,其特征在于,所述的分析各循环内数组访问模式包括:先根据语法树确定数组的访问表达式,再根据数组的访问表达式判断数组访问模式。
4.如权利要求1所述的数组多引用访问的分块方法,其特征在于,所述数组访问的关联类型和关联距离保存在循环信息链表中。
5.如权利要求4所述的数组多引用访问的分块方法,其特征在于,所述循环信息链表为遍历应用程序控制图后为每个循环所创建,所述循环信息链表中还保存有分析所述循环后收集的变量访存信息。
6.如权利要求5所述的数组多引用访问的分块方法,其特征在于,所述数组访问的关联类型和关联距离与所述变量访存信息具有对应关系。
7.一种数组多引用访问的分块装置,其特征在于,包括:
分析单元,适于分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离;
计算单元,适于在分析单元分析出数组访问的关联类型和关联距离后,根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数;
输出单元,适于在计算单元计算出数组分块参数和缓冲大小参数后,输出所述数组分块参数和所述缓冲大小参数。
8.如权利要求7所述的数组多引用访问的分块装置,其特征在于,所述的计算单元计算数组分块参数和缓冲大小参数包括:
根据数组访问的关联类型和关联距离计算正确语义下的数组分块参数和缓冲大小参数;
结合存储系统结构特征优化所述数组分块参数和缓冲大小参数。
9.如权利要求7所述的数组多引用访问的分块装置,其特征在于,所述的分析单元分析各循环内数组访问模式包括:先根据语法树确定数组的访问表达式,再根据数组的访问表达式判断数组访问模式。
10.如权利要求7所述的数组多引用访问的分块装置,其特征在于,还包括填写单元,适于在所述分析单元根据所述数组访问模式进行各循环内数组访问的关联类型和关联距离分析后,将所述关联类型和关联距离系保存在循环信息链表中。
11.如权利要求10所述的数组多引用访问的分块装置,其特征在于,还包括创建单元,适于在遍历应用程序控制图后为每个循环创建循环信息链表,分析所述循环,收集变量访存信息并保存在所述循环信息链表中。
12.如权利要求11所述的数组多引用访问的分块装置,其特征在于,所述数组访问的关联类型和关联距离与所述变量访存信息具有对应关系。
CN201210442053.XA 2012-11-06 2012-11-06 数组多引用访问的分块方法和装置 Active CN102929580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210442053.XA CN102929580B (zh) 2012-11-06 2012-11-06 数组多引用访问的分块方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210442053.XA CN102929580B (zh) 2012-11-06 2012-11-06 数组多引用访问的分块方法和装置

Publications (2)

Publication Number Publication Date
CN102929580A true CN102929580A (zh) 2013-02-13
CN102929580B CN102929580B (zh) 2015-07-08

Family

ID=47644394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210442053.XA Active CN102929580B (zh) 2012-11-06 2012-11-06 数组多引用访问的分块方法和装置

Country Status (1)

Country Link
CN (1) CN102929580B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226487A (zh) * 2013-04-25 2013-07-31 中国人民解放军信息工程大学 面向异构众核多级存储结构的数据分布与局部性优化方法
CN110333857A (zh) * 2019-07-12 2019-10-15 辽宁工程技术大学 一种基于约束规划的自定义指令自动识别方法
CN112130848A (zh) * 2020-09-24 2020-12-25 中国科学院计算技术研究所 一种面向便笺式存储器的带宽感知循环分块优化技术

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765534B2 (en) * 2004-04-30 2010-07-27 International Business Machines Corporation Compiler with cache utilization optimizations
CN102722472A (zh) * 2012-05-28 2012-10-10 中国科学技术大学 一种复数矩阵的优化方法
CN102750150A (zh) * 2012-06-14 2012-10-24 中国科学院软件研究所 基于x86架构的稠密矩阵乘法汇编代码自动生成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765534B2 (en) * 2004-04-30 2010-07-27 International Business Machines Corporation Compiler with cache utilization optimizations
CN102722472A (zh) * 2012-05-28 2012-10-10 中国科学技术大学 一种复数矩阵的优化方法
CN102750150A (zh) * 2012-06-14 2012-10-24 中国科学院软件研究所 基于x86架构的稠密矩阵乘法汇编代码自动生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALICE M. TOKARNIA等: "Design of Trace-Based Split Array Caches for Embedded Applications", 《2010 13TH EUROMICRO CONFERENCE ON DIGITAL SYSTEM DESIGN:ARCHITECTURES, METHODS AND TOOLS》 *
陈杰等: "调整数组大小——一种减少Cache失效率的有效方法", 《上海交通大学学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226487A (zh) * 2013-04-25 2013-07-31 中国人民解放军信息工程大学 面向异构众核多级存储结构的数据分布与局部性优化方法
CN103226487B (zh) * 2013-04-25 2016-01-13 中国人民解放军信息工程大学 面向异构众核多级存储结构的数据分布与局部性优化方法
CN110333857A (zh) * 2019-07-12 2019-10-15 辽宁工程技术大学 一种基于约束规划的自定义指令自动识别方法
CN110333857B (zh) * 2019-07-12 2023-03-14 辽宁工程技术大学 一种基于约束规划的自定义指令自动识别方法
CN112130848A (zh) * 2020-09-24 2020-12-25 中国科学院计算技术研究所 一种面向便笺式存储器的带宽感知循环分块优化技术
CN112130848B (zh) * 2020-09-24 2022-06-14 中国科学院计算技术研究所 一种面向便笺式存储器的带宽感知循环分块优化方法、编译系统、设备及存储介质

Also Published As

Publication number Publication date
CN102929580B (zh) 2015-07-08

Similar Documents

Publication Publication Date Title
Dominguez et al. Heap data allocation to scratch-pad memory in embedded systems
US11442713B2 (en) Methods and apparatus to improve optimizing loops with predictable recurring memory reads
US7512615B2 (en) Single pass workload directed clustering of XML documents
US7937419B2 (en) Garbage collection via multiobjects
US7367024B2 (en) Compiler-driven dynamic memory allocation methodology for scratch-pad based embedded systems
Thaler et al. Porting the COSMO weather model to manycore CPUs
EP2702490B1 (en) Conservative garbage collecting and tagged integers for memory management
CN102929580B (zh) 数组多引用访问的分块方法和装置
CN112130848B (zh) 一种面向便笺式存储器的带宽感知循环分块优化方法、编译系统、设备及存储介质
Curial et al. Mpads: memory-pooling-assisted data splitting
Dolby et al. An evaluation of automatic object inline allocation techniques
Stepanek Thinking in Pandas
KR101537725B1 (ko) 워크 그룹 크기 결정 방법, 시스템 및 컴퓨터 판독가능 기록매체
Hu et al. Hierarchical memory size estimation for loop fusion and loop shifting in data-dominated applications
Udayakumaran et al. An integrated scratch-pad allocator for affine and non-affine code
Jibaja et al. Deferred gratification: Engineering for high performance garbage collection from the get go
CN105487911B (zh) 一种基于编译指导的众核数据分片方法
CN103455364A (zh) 一种多核环境并行程序Cache性能在线获取系统及方法
Krylov et al. The evolution of garbage collection in v8: google's javascript engine
Dominguez et al. Recursive function data allocation to scratch-pad memory
Risco-Martín et al. Simulation of high-performance memory allocators
Chilimbi Cache-conscious data structures: design and implementation
US8443337B2 (en) Methodology and tools for tabled-based protocol specification and model generation
Goli Visioncpp: A sycl-based computer vision framework
Shimokawabe et al. A High-Productivity Framework for Adaptive Mesh Refinement on Multiple 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