-
公开(公告)号:CN104866295A
公开(公告)日:2015-08-26
申请号:CN201410065503.7
申请日:2014-02-25
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
IPC: G06F9/44
Abstract: 本发明实施例公开了一种OpenCL运行时系统框架的设计方法及装置,涉及信息技术领域,可以降低异构系统的平台开发复杂度。所述方法包括:首先将OpenCL运行时系统框架划分为功能层、优化层及平台层,平台层包括平台层中间表示IR、平台层实现框架及至少一个平台实现,然后向功能层及优化层提供平台层IR,并向至少一个平台实现提供平台层实现框架。本发明实施例适用于在异构系统中进行跨平台移植。
-
公开(公告)号:CN104679484A
公开(公告)日:2015-06-03
申请号:CN201310617816.4
申请日:2013-11-27
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
Abstract: 本发明公开了一种并发分析方法及装置,包括:获取程序控制流图,其中,在所述程序控制流图中,线程创建节点为所述线程创建节点所创建的线程的开始节点的直接前驱节点,计算程序控制流图中每个线程的开始节点的初始并发节点集合、每个线程创建节点的直接后继节点的初始并发节点集合、以及每个线程终止节点的直接后继节点的初始无法并发节点集合,初始化程序控制流图的首节点的并发节点集合,从程序控制流图的首节点开始向下遍历,在遍历过程中,根据继承规则计算出遍历到的每个节点的并发节点集合,由于一次遍历即得到每个节点的并发节点集合,运算简单且运算量小,实现了提高并发分析效率的目的。
-
公开(公告)号:CN104239126A
公开(公告)日:2014-12-24
申请号:CN201310244090.4
申请日:2013-06-19
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
IPC: G06F9/46
Abstract: 本发明实施例提供了一种有向图的最小割获取方法和设备,通过具有依次包含关系的子图的形式对结点集合进行有向图最小割获取的方法和设备,减少了并行计算时的活跃结点间的通信次数和同步次数,提高了性能,其中该方法包括:按照预设策略,分别将有向图划分成至少两个汇点子图和至少两个源点子图;并行计算全部汇点子图的最小割集并通过汇点子图之间的通信获得有向图的等效汇点,以及并行计算全部源点子图的最小割集并通过源点子图之间的通信获得有向图的等效源点;根据有向图的等效汇点和有向图的等效源点连接的所有边获取有向图的最小割。
-
公开(公告)号:CN103902273A
公开(公告)日:2014-07-02
申请号:CN201210584770.6
申请日:2012-12-28
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
IPC: G06F9/44
Abstract: 本发明的实施例提供一种无损压缩系统依赖图的方法及装置,涉及计算机领域,能够实现系统依赖图的无损压缩,并降低系统依赖图的规模,从而降低以系统依赖图为基础的切片算法的开销。其方法为:首先提取程序中所有变量之间的等价关系,而后通过该等价关系将程序中所有变量分为不同的等价类,并根据这些等价类为系统依赖图中的节点设置键值,而后根据系统依赖图中的节点的键值压缩系统依赖图。本发明实施例用于对系统依赖图进行压缩。
-
公开(公告)号:CN101866315A
公开(公告)日:2010-10-20
申请号:CN201010204249.6
申请日:2010-06-11
Applicant: 中国科学院计算技术研究所
IPC: G06F11/36
Abstract: 本发明涉及软件开发工具的测试方法及其系统,方法包括:步骤1,配置模块获得并存储开源软件项目的构建命令,保存配置的对所述构建命令的修改方式;步骤2,测试执行模块读取存储的构建命令,依据配置的修改方式修改所述构建命令流,以将构建命令流转化为测试命令流;步骤3,测试执行模块调用待测试的软件开发工具执行所述测试命令流,进行构建过程重放;步骤4,测试执行模块监控构建过程重放,测试报告生成模块根据测试执行模块输出的监控结果生成测试报告。本发明能够提高对软件开发工具的测试的效率。
-
公开(公告)号:CN100559344C
公开(公告)日:2009-11-11
申请号:CN200510093279.3
申请日:2005-08-23
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种支持用规则记录变量访问专用寄存器组的处理方法。该方法包括:1)设计新的类型属性,以标识需要放入专用寄存器组的规则记录变量类型;2)设计规则记录变量的语法树结构,用递归算法实现计算规则记录变量各成员相对位置;3)设计规则记录变量的中间表示;4)生成利用规则记录变量访问专用寄存器组的代码。本发明的优点:1)保留高级语言开发的优点,又克服了高级语言难以对特殊硬件进行直接控制的缺点,提高编程效率,缩短开发周期;2)向程序员屏蔽了底层硬件的细节,能灵活的处理各种专用寄存器组的使用规范;3)向编译器暴露更多的优化机会,提高系统性能。
-
公开(公告)号:CN100426254C
公开(公告)日:2008-10-15
申请号:CN200510093280.6
申请日:2005-08-23
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种检测运行栈与静态数据区重叠的方法。该方法在链接器中对运行栈和静态数据区在数据内存中的布局进行调整,然后在软件模拟器中进行运行时检测,在软件模拟器中添加判断栈指针值与数据内存最低地址大小关系的代码,如果栈指针值小于数据内存最低地址,就说明发生了运行栈下溢,在原程序中出现运行栈与静态数据区重叠的错误。本发明的优点:1)在模拟器中只需要添加判断栈指针值与数据内存基址大小关系的代码,当程序执行中发生运行栈下溢的情况时就可以自动报告错误;2)没有带来内存开销;3)生成的可执行文件可以加载到硬件上运行。
-
公开(公告)号:CN100377088C
公开(公告)日:2008-03-26
申请号:CN200510051448.7
申请日:2005-03-04
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明公开了一种二进制翻译中对局部变量识别和提升的方法包括以下步骤:a、对翻译单元进行条件判别,判断在此翻译单元内能否进行局部变量的提升;b、依次对可处理翻译单元的每个基本块进行处理,对每条指令的局部变量进行识别;c、将b步骤中识别出来的局部变量进行提升,将识别出来的信息传播到整个翻译单元,并在必要的时候进行同步;本发明克服现有二进制翻译技术中局部变量不能和其他内存操作数区别对待的缺陷,通过对局部变量识别和提升,提高翻译质量和效果,从而提高二进制翻译的性能。
-
公开(公告)号:CN1920771A
公开(公告)日:2007-02-28
申请号:CN200510093279.3
申请日:2005-08-23
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种支持用规则记录变量访问专用寄存器组的处理方法。该方法包括:1)设计新的类型属性,以标识需要放入专用寄存器组的规则记录变量类型;2)设计规则记录变量的语法树结构,用递归算法实现计算规则记录变量各成员相对位置;3)设计规则记录变量的中间表示;4)生成利用规则记录变量访问专用寄存器组的代码。本发明的优点:1)保留高级语言开发的优点,又克服了高级语言难以对特殊硬件进行直接控制的缺点,提高编程效率,缩短开发周期;2)向程序员屏蔽了底层硬件的细节,能灵活的处理各种专用寄存器组的使用规范;3)向编译器暴露更多的优化机会,提高系统性能。
-
公开(公告)号:CN1755631A
公开(公告)日:2006-04-05
申请号:CN200410081020.2
申请日:2004-09-30
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明公开了一种二进制翻译中的库函数调用处理方法,包括在目标机中用内存模拟原系统的寄存器和堆栈;应用目标机本地的约定进行传参和返回值处理,依次对原系统二进制程序中的每个基本块进行处理。本发明通过用目标机本地的约定进行传参和返回值处理,而不是去模拟原机器的调用约定,省去了将参数压入模拟原系统的模拟堆栈或寄存器,然后又从堆栈或寄存器中取出放入到目标机传参寄存器或堆栈中过程中频繁对内存的操作,提高了程序执行的效率,进而提高了系统翻译效率,提高了系统性能。
-
-
-
-
-
-
-
-
-