“核心电子器件、高端通用芯片及基础软件产品”国家科技重大专项(2009ZX01036-001-001)
- 作品数:14 被引量:20H指数:3
- 相关作者:庞建民赵荣彩岳峰刘晓楠尉红梅更多>>
- 相关机构:解放军信息工程大学江南计算技术研究所南京大学更多>>
- 发文基金:国家科技重大专项国家高技术研究发展计划河南省科技攻关计划更多>>
- 相关领域:自动化与计算机技术更多>>
- 一种动态二进制翻译中间表示变量活性分析改进算法被引量:2
- 2016年
- 动态二进制翻译是指可实现不同体系结构上软件兼容移植的系统,翻译过程使用源体系结构的一条或多条指令来模拟目标体系结构的一条指令,完成两者指令功能的等价,但也同时增大了代码的膨胀率,降低了程序执行的效率.变量活性分析是提高二进制翻译系统执行效率重要的方法,本文在QEMU中间表示TCG(Tiny Code Generator)变量活性分析算法的基础上,提出线性扫描冗余ld M和st M指令匹配删除算法删除TCG中间代码冗余指令,有效简化指令翻译.整体性能测试表明,该方法可有效减少TCG中间指令的数目,比QEMU优化前翻译性能平均提高约12%.
- 戴涛单征岳峰崔韫楠
- 关键词:QEMUTCG
- CUDA到异构众核架构的线程映射模型
- 2012年
- 统一计算设备架构(CUDA)程序移植到其他异构众核架构时的线程数不匹配。为此,提出一种层次化的线程映射模型。在第1个映射层次上,将CUDA主机端线程和设备端线程分别映射到目标平台的主核和从核阵列上,在第2个映射层次上,采用线程循环的方法消除协作线程阵列(CTA)中线程间同步操作,将整个CTA映射到从核阵列的一个从核上。实验结果表明,该模型能使CUDA程序在其他异构众核系统上得到有效运行。
- 余勇庞建民单征刘晓楠
- 关键词:代码移植图形处理器统一计算设备架构
- 一种多线程动态二进制翻译优化系统的研究与实现被引量:1
- 2015年
- 动态二进制翻译通过对程序的动态跟踪,实时对目标代码进行解码和翻译,被广泛地应用于软件跨平台移植等领域.但是动态二进制翻译仍然存在运行开销过大和翻译低效等问题,为解决这一问题,开发了一种基于QEMU的多线程动态二进制翻译优化系统.系统通过引入多线程技术,将翻译执行前端和热路径优化后端分别放置在不同的线程中,实现了前端翻译执行和后端热路径优化的多线程并行执行.系统前端利用局部预测算法进行热路径选择,后端通过超级块封装和条件跳转优化进行本地码优化.系统的cache管理采用了分层管理策略.整体性能测试实验表明,系统在低翻译执行开销的基础上,比现有二进制翻译平台QEMU整体性能提升了约5%.
- 崔韫楠庞建民岳峰王银浩
- 关键词:动态二进制翻译QEMU多线程
- 一种基于增量式实例学习的迭代编译方法被引量:1
- 2012年
- 为提高编译器的自适应性,以应对复杂的体系结构,提出一个结合迭代编译和机器学习的编译框架。编译器可将在优化空间中搜索到的最佳编译选项信息保存到知识库中,并能从知识库中学习获得适合当前程序的最佳编译选项。实例学习算法具有增量式的特点,可有效利用编译过程中积累的数据。通过避免冗余实例入库以及从库中剔除噪声实例,保证学习的精度与效率。
- 马晓东李中升漆锋滨尉红梅
- 关键词:增量式算法
- 需求驱动的流敏感别名检查被引量:1
- 2013年
- 别名分析的精度影响着很多其他编译优化的效果。在对展开后的循环体做指令调度的时候,不精确的别名分析结果会导致冗余数据依赖的产生,从而限制了调度。流敏感的别名分析因为代价过高而扩展性不好。在流不敏感别名信息的基础上,提出了一种需求驱动的流敏感别名检查方法,能够以流敏感的方式判断两个表达式在某程序点上是否为别名。该方法假设两个表达式之间具有别名关系,从而获取初始的数据流事实。用数据流分析技术计算逆向程序点上的数据流事实。如果在所有逆向路径上的数据流事实中都产生了矛盾,则认为别名关系不成立。实验结果表明,该方法能较好地提高别名分析的精度。
- 马晓东匡碧英尉红梅
- 基于依赖分析的SPMD程序隐式同步检测及处理算法被引量:1
- 2013年
- SPMD翻译是指将一种特定类型的SPMD程序编译到多种设备上,当前的细粒度SPMD翻译研究建立在线程之间相互独立的假定上,线程之间只通过显式同步进行通信.但线程之间还隐含存在着各种数据依赖,如隐式同步,这导致了SPMD翻译在处理隐式同步时的正确性缺陷.为了对隐式同步进行处理,对细粒度SPMD模型CUDA中的隐式同步进行了系统的分析,指出了当前翻译CUDA程序到多核平台的相关研究在处理隐式同步上的不足,提出了基于依赖分析的隐式同步检测方法.在检测出隐式同步的基础上,设计了循环重排序的优化处理算法,对显式同步和隐式同步进行了统一处理.实验结果表明,与现有的SPMD翻译方法相比,该检测及处理算法能够正确而快速地检测并翻译CUDA中的各种隐式同步,代价较小,有助于编译器产生正确而有效的翻译结果.
- 岳峰庞建民赵荣彩
- 面向国产平台的二进制翻译库函数替换优化处理机制
- 2019年
- 在二进制翻译中,库函数本地化处理是指不直接翻译源文件中的库函数而是使用本地目标机的库函数进行替换,以此提高翻译性能。针对国产平台二进制翻译中库函数处理翻译模式的相关特性,提出一种库函数解析处理机制,借助helper函数实现库函数替换操作。通过修改基本块划分规则,将库函数替换部分翻译的基本块进行合并,构建超级块,减少源程序中基本块划分数量与程序执行跳转次数,在保证翻译正确性基础上有效提高翻译效率。在动态二进制翻译器QEMU上进行的实验结果表明,与未优化的库函数处理翻译方式相比,翻译后程序加速比平均提升9%,有效提高了翻译效率。
- 张家豪单征岳峰傅立国王军
- 关键词:二进制翻译
- 软件移植、二进制翻译和国产处理器发展被引量:4
- 2014年
- 二进制翻译作为软件移植的一种重要形式,其具体实现与处理器体系结构密切关联,在处理器发展中扮演重要角色。国产通用处理器的发展是打破外国芯片制造商在该领域垄断的有效手段。二进制翻译技术与国产通用处理器相结合,可以加快改善国产通用处理器的生态环境,对推动国产处理器发展具有重要意义。
- 刘晓楠赵荣彩庞建民
- 关键词:二进制翻译
- 二进制程序跨平台移植时用户过程的数据恢复
- 2015年
- 二进制程序跨平台移植时,不能完全恢复用户自定义过程中的参数和变量等数据,为此采用基于语义镜像和栈帧动态维护的实现策略,提出一种在二进制翻译中针对用户自定义过程中数据的有效数据恢复方案。语义镜像策略具体包含寄存器的精确映射、数据段克隆和全态模拟等手段,针对多种数据存储方式解决数据恢复的问题;栈帧动态维护保证异构平台间程序移植时用户自定义过程参数传递的有效模拟和恢复。实验结果表明,使用该方案实现的静态二进制翻译系统可以正确有效地运行。
- 刘晓楠赵荣彩庞建民魏振方
- 关键词:二进制翻译数据恢复
- 基于程序分析的代码查询技术被引量:2
- 2012年
- 提出了一种基于程序分析的代码查询技术,它能有效地应用于代码审查、程序自动插桩等常用的软件工程的研究场景。它通过代码静态分析获得程序元素信息,并将其保存为中间结构,作为代码查询过程的目标集合;查询过程以程序元素为目标,查询语言以谓词逻辑表达式的形式描述查询条件。基于此技术,实现了一个面向C/C++语言的代码查询工具。
- 曾锃赵建华
- 关键词:查询语言