-
公开(公告)号:CN104516823A
公开(公告)日:2015-04-15
申请号:CN201310464285.X
申请日:2013-09-30
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
IPC: G06F12/02
Abstract: 本发明的实施例提供一种数据存储的方法和装置,应用于计算机领域,能够支持混合内存中待存储数据的存储。所述数据存储方法用于编译器,包括:判断待存储数据的数据类型;若所述待存储数据的数据类型是预设数据类型,获取所述待存储数据贡献值;根据所述待存储数据的贡献值判断所述待存储数据在混合内存的存储位置,所述混合内存由消息式内存和普通内存构成。本发明的实施例提供一种数据存储方法和装置,用于混合内存中数据的存储。
-
公开(公告)号:CN104503819A
公开(公告)日:2015-04-08
申请号:CN201510003749.6
申请日:2015-01-05
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明公开了一种面向异OS的汇编器及汇编移植方法,本发明涉及计算机代码移植领域,该方法包括获取源代码,将所述源代码进行编译,获取源汇编程序;选择目标操作系统,按照所述目标操作系统的汇编格式,将所述源汇编程序转化为符合所述汇编格式的目标汇编程序;获取所述目标操作系统的应用程序二进制接口规范,将所述目标汇编程序转化为符合所述应用程序二进制接口规范的新目标汇编程序;面向所述目标操作系统,将所述新目标汇编程序进行封装,以完成汇编移植。通过本发明的面向异OS汇编器可以转换成面向不同目标操作系统的可运行的汇编程序,这样就克服了不同OS带来的代码移植的困难。
-
公开(公告)号:CN103885886A
公开(公告)日:2014-06-25
申请号:CN201210558814.8
申请日:2012-12-20
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
Inventor: 刘颖
IPC: G06F12/02
Abstract: 本发明实施例公开了一种全局数据的地址分配方法及相关装置,其中,一种全局数据的地址分配方法包括:对源程序中的全局数据进行分组,其中,同一分组内的所有全局数据满足如下条件:同一分组内的所有全局数据在同一个基本块中被使用,同一分组内的所有全局数据的数据大小之和不大于计算机系统的缓存行大小,所述同一个基本块的执行总数大于执行总数预设值;为每个分组内的全局数据分配地址,使同一分组的全局数据分配在同一缓存行中,且使每个分组的全局数据段起始位置都与缓存行的起始位置对齐;若存在未分组的全局数据,则为所述未分组的全局数据分配地址。本发明提供的技术方案能够有效减少访问全局数据引起的缓存不命中。
-
公开(公告)号:CN109933327A
公开(公告)日:2019-06-25
申请号:CN201910106880.3
申请日:2019-02-02
Applicant: 中国科学院计算技术研究所
IPC: G06F8/41
Abstract: 本发明涉及一种基于代码融合编译框架的OpenCL编译器设计方法和系统,包括:基于共享内存提供主机-内核代码融合编译框架,在编译器的中间表示——AST层上实现不同端代码的融合;WII-CFG图用来刻画Kernel代码被实例化成众多线程后,线程之间的指令执行行为,亦即分析工作组内平台特征敏感的程序执行行为;主机-内核代码联合的数据流分析,用来发掘跨越主机端或内核端的数据流关系以及线程之间的数据流关系,以分析两端代码之间的数据相关性;基于前述分析实施针对性的代码优化,并生成汇编代码进而结束编译过程。本发明能面向不同加速设备,针对主机端代码、Kernel代码同时开展分析,充分发掘线程间优化机会,使得OpenCL程序获得良好的性能可移植性。
-
公开(公告)号:CN109901840A
公开(公告)日:2019-06-18
申请号:CN201910114572.5
申请日:2019-02-14
Applicant: 中国科学院计算技术研究所
IPC: G06F8/41
Abstract: 本发明通过自动选择优化策略以及分维度进行线程间冗余删除的收益代价分析,能自动根据代码是否含有同步操作和硬件平台的特点,针对性地选择一种优化策略,通过对Kernel代码的编译分析,得出合适的合并维度和合并因子,利于提高Kernel代码的运行性能。采用本发明方法能面向多种异构平台,进行自动分析和变换,得以优化设备端代码的线程间冗余和同步开销,提高设备端代码(即OpenCL的Kernel代码)的性能。
-
公开(公告)号:CN104516823B
公开(公告)日:2018-04-27
申请号:CN201310464285.X
申请日:2013-09-30
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
IPC: G06F12/02
Abstract: 本发明的实施例提供一种数据存储的方法和装置,应用于计算机领域,能够支持混合内存中待存储数据的存储。所述数据存储方法用于编译器,包括:判断待存储数据的数据类型;若所述待存储数据的数据类型是预设数据类型,获取所述待存储数据贡献值;根据所述待存储数据的贡献值判断所述待存储数据在混合内存的存储位置,所述混合内存由消息式内存和普通内存构成。本发明的实施例提供一种数据存储方法和装置,用于混合内存中数据的存储。
-
公开(公告)号:CN104866295B
公开(公告)日:2018-03-06
申请号:CN201410065503.7
申请日:2014-02-25
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
IPC: G06F9/44
Abstract: 本发明实施例公开了一种OpenCL运行时系统框架的设计方法及装置,涉及信息技术领域,可以降低异构系统的平台开发复杂度。所述方法包括:首先将OpenCL运行时系统框架划分为功能层、优化层及平台层,平台层包括平台层中间表示IR、平台层实现框架及至少一个平台实现,然后向功能层及优化层提供平台层IR,并向至少一个平台实现提供平台层实现框架。本发明实施例适用于在异构系统中进行跨平台移植。
-
公开(公告)号:CN104615473A
公开(公告)日:2015-05-13
申请号:CN201310539297.4
申请日:2013-11-04
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
IPC: G06F9/45
CPC classification number: G06F8/443 , G06F11/3404
Abstract: 本发明实施例提供一种轮廓技术编译的优化方法及装置。本发明轮廓技术编译的优化方法,包括:在程序控制流图上划分出至少两个区域,将各个区域对应程序包含的插桩函数替换为计数操作;将所述各个区域对应程序在主线程上执行,执行至一个区域对应程序结束时,启动至少一个微线程执行所述区域对应程序包含的插桩函数除计数操作外的操作,用于记录所述区域对应程序执行时的信息;所述微线程与执行下一个区域对应程序的主线程并行执行。本发明实施例提高了轮廓技术编译时的执行效率,解决了现有技术中执行效率较低的问题。
-
公开(公告)号:CN104424009A
公开(公告)日:2015-03-18
申请号:CN201310404125.6
申请日:2013-09-06
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
Inventor: 刘颖
IPC: G06F9/45
CPC classification number: G06F8/41
Abstract: 本申请实施例提供了一种开放运算语言OpenCL程序编译方法和编译器,所述方法包括:获取OpenCL程序的源程序文件,并确定所述源程序文件中定义的操作数据的第一数据传输模式;计算所述操作数据分别在所述第一数据传输模式和第二数据传输模式下的执行消耗时间,所述第二数据传输模式与所述第一数据传输模式不同,所述执行消耗时间包括所述操作数据的数据传输时间和设备程序执行时间;选择所述执行消耗时间较小的数据传输模式作为所述源程序文件编译时所述操作数据的编译数据传输模式;按照所述编译数据传输模式生成编译执行代码文件。本申请实施例有效保证了程序执行效率。
-
-
-
-
-
-
-
-