-
公开(公告)号:CN101719105B
公开(公告)日:2012-01-04
申请号:CN200910243195.1
申请日:2009-12-31
Applicant: 中国科学院计算技术研究所
IPC: G06F12/08
Abstract: 本发明公开了一种多核系统中对内存访存的优化方法和系统。该方法包括下列步骤:在中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;对操作系统中同时执行的多个目标程序中的每一个程序,利用操作系统中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核系统中总的行缓存失效率,达到多核系统中对内存访存的优化。
-
公开(公告)号:CN100359471C
公开(公告)日:2008-01-02
申请号:CN200410081020.2
申请日:2004-09-30
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明公开了一种二进制翻译中的库函数调用处理方法,包括在目标机中用内存模拟原系统的寄存器和堆栈;应用目标机本地的约定进行传参和返回值处理,依次对原系统二进制程序中的每个基本块进行处理。本发明通过用目标机本地的约定进行传参和返回值处理,而不是去模拟原机器的调用约定,省去了将参数压入模拟原系统的模拟堆栈或寄存器,然后又从堆栈或寄存器中取出放入到目标机传参寄存器或堆栈中过程中频繁对内存的操作,提高了程序执行的效率,进而提高了系统翻译效率,提高了系统性能。
-
公开(公告)号:CN100337203C
公开(公告)日:2007-09-12
申请号:CN200410030988.2
申请日:2004-04-05
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明涉及一种遗产代码向现代语言变换过程中的控制流变换方法。该方法包括以下步骤:将COBOL程序的一个“过程”转换成一个Java类;在上述Java类中设置一个“入口函数”;设置上述“入口函数”的内容;对COBOL程序的段名进行编号;对COBOL过程体结构进行处理:对PERFORM语句进行处理:对GOTO语句进行处理:对PERFORM语句进行处理:当遇到PERFORM语句时,将其翻译为:执行函数,包括其入口,出口对应的编号,参数列表;在每个段尾增加一条语句:if(出口点=本段编号)return。在遗产代码向现代语言变换过程中利用高级语言的switch和while语句来同时消除GOTO和PERFORM复合控制结构。该方法不改变程序的结构,保持了程序可读性,并较好地控制了代码膨胀。
-
公开(公告)号:CN1920792A
公开(公告)日:2007-02-28
申请号:CN200510093280.6
申请日:2005-08-23
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种检测运行栈与静态数据区重叠的方法。该方法在链接器中对运行栈和静态数据区在数据内存中的布局进行调整,然后在软件模拟器中进行运行时检测,在软件模拟器中添加判断栈指针值与数据内存最低地址大小关系的代码,如果栈指针值小于数据内存最低地址,就说明发生了运行栈下溢,在原程序中出现运行栈与静态数据区重叠的错误。本发明的优点:1)在模拟器中只需要添加判断栈指针值与数据内存基址大小关系的代码,当程序执行中发生运行栈下溢的情况时就可以自动报告错误;2)没有带来内存开销;3)生成的可执行文件可以加载到硬件上运行。
-
公开(公告)号:CN118796196A
公开(公告)日:2024-10-18
申请号:CN202410034003.0
申请日:2024-01-09
Applicant: 中国移动通信有限公司研究院 , 中国科学院计算技术研究所 , 中国移动通信集团有限公司
Abstract: 本申请实施例提供一种编译方法、编译装置、处理设备、芯片及计算机可读存储介质,所述方法包括:获取第一源代码;所述第一源代码为通过第一编程语言编程的源代码;所述第一编程语言为具备领域特定语言DSL的编程语言;提取所述第一源代码中的DSL;所述DSL表征所述第一源代码中的线性代数计算过程;将所述DSL转换为第一中间表示;对所述第一中间表示进行优化操作,生成第二中间表示;所述第二中间表示是所述第一中间表示的等价中间表示,所述第二中间表示的计算量小于所述第一中间表示的计算量;将所述第二中间表示转换为第一代码;所述第一代码的编码语言为所述第一编码语言;将所述第一代码与所述第一源代码进行结合,生成第二源代码。
-
公开(公告)号:CN117075868A
公开(公告)日:2023-11-17
申请号:CN202311050170.6
申请日:2023-08-21
Applicant: 中国科学院计算技术研究所
IPC: G06F8/30 , G06F8/75 , G06F16/901 , G06F16/903 , G06N3/045 , G06N3/0475 , G06N3/08
Abstract: 本发明提供一种用于编译器后端生成的神经网络模型的训练方法,包括:对于不同目标架构的函数,将同组函数对应的抽象语法树进行匹配,得到各个函数中的语句所对应的语句模板,以及特定于目标架构的信息的位置;分析语句模板和特定于目标架构的信息,形成目标相关索引表,以保存特征至特征值定义位置的映射关系;根据所述每一个语句模板,查找所述目标相关索引表,在不同目标架构的目标描述文件中提取所述语句模板的特征值以生成所述不同目标架构下与所述语句模板对应的特征序列。本发明能够解决编译器后端开发慢和难的问题,节约时间与人工成本,改变了传统编译器后端手工移植方式,极大地提高了编译器开发效率。
-
公开(公告)号:CN116521235A
公开(公告)日:2023-08-01
申请号:CN202310303174.4
申请日:2023-03-24
Applicant: 中国科学院计算技术研究所
IPC: G06F9/38 , G06F15/80 , G06F12/0811
Abstract: 本发明提出一种支持弹性向量执行的数据处理方法,包括:将主程序划分为多个子程序,选取该子程序中的向量化循环子程序为目标子程序,获取该目标子程序的计算访存比;依据该计算访存比对处理器的核分配SIMD计算通道,并运行该主程序;当任一目标子程序的计算访存比发生变化时,预测该目标子程序的性能上限,根据该性能上限对该核重新分配SIMD计算通道后,继续运行该主程序。本发明还提出一种支持弹性向量执行的数据处理系统,以及一种支持弹性向量执行的数据处理装置。
-
公开(公告)号:CN112130848B
公开(公告)日:2022-06-14
申请号:CN202011013688.9
申请日:2020-09-24
Applicant: 中国科学院计算技术研究所
Abstract: 本发明提出了一种面向便笺式存储器的带宽感知循环分块优化技术,该技术通过协调考虑带宽利用率和片上存储器容量来增强传统的循环分块优化方法。根据针对DMA的测试分析得到的带宽行为模型,创建决策树以针对不同类型的数据访问模式,从而选择最佳的数据提取操作。利用运行时循环分块框架来确定最佳分块大小,并在运行时生成分块代码。并且,本发明还通过利用参数引导的IPA来寻找不规则访问的静态分块机会,并使用冗余计算来节省SPM容量,从而增强循环分块的效果。
-
公开(公告)号:CN114237573A
公开(公告)日:2022-03-25
申请号:CN202111563671.5
申请日:2021-12-20
Applicant: 中国科学院计算技术研究所
IPC: G06F8/30 , G06F8/33 , G06F40/186
Abstract: 本发明提供一种编译器后端代码自动构建方法,所述方法包括:S1、获取与目标平台同一框架下的已有样本平台的后端描述文件,构建其基于定义‑引用关系的标识符引用关系图;S2、基于标识符引用关系图,对标识符分类,其中,标识符被分为语言特定类型、平台特性信息类型、开发者定义类型;S3、将每条指令中不同类型的标识符转换为对应的敏捷标识符,并基于标识符引用关系图生成每条指令对应的以敏捷标识符表示的代码布局模板,所述代码布局模板中包含有平台特性信息的标识符定位;S4、基于代码布局模板生成目标平台的指令模块,按照定位将目标平台编码指令中的平台特性信息属性值填入指令模板中以生成当前目标平台编码指令对应的编译器后端代码。
-
公开(公告)号:CN112130848A
公开(公告)日:2020-12-25
申请号:CN202011013688.9
申请日:2020-09-24
Applicant: 中国科学院计算技术研究所
Abstract: 本发明提出了一种面向便笺式存储器的带宽感知循环分块优化技术,该技术通过协调考虑带宽利用率和片上存储器容量来增强传统的循环分块优化方法。根据针对DMA的测试分析得到的带宽行为模型,创建决策树以针对不同类型的数据访问模式,从而选择最佳的数据提取操作。利用运行时循环分块框架来确定最佳分块大小,并在运行时生成分块代码。并且,本发明还通过利用参数引导的IPA来寻找不规则访问的静态分块机会,并使用冗余计算来节省SPM容量,从而增强循环分块的效果。
-
-
-
-
-
-
-
-
-