[发明专利]实现CPU/GPU异构平台的虚拟执行环境的方法有效

专利信息
申请号: 201010519516.9 申请日: 2010-10-26
公开(公告)号: CN101963918A 公开(公告)日: 2011-02-02
发明(设计)人: 管海兵;陈凯;贾昭元;董国星;章一超 申请(专利权)人: 上海交通大学
主分类号: G06F9/455 分类号: G06F9/455;G06F15/16
代理公司: 上海交达专利事务所 31201 代理人: 王锡麟;王桂忠
地址: 200240 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 实现 cpu gpu 平台 虚拟 执行 环境 方法
【权利要求书】:

1.一种实现CPU/GPU异构平台的虚拟执行环境的方法,其特征在于,利用动态二进制翻译技术使得程序运行在X86 CPU和NVIDIA GPU混合架构上,并且利用动态二进制翻译技术来收集程序的静态信息和动态信息,利用这些信息寻找程序执行嵌套的循环、循环之间的依赖关系和进出热块的数据流;执行中分两阶段实施:

第一阶段、收集信息和优化热块,并存储到文件中;

第二阶段、生成包含串行指令和并行指令的混合程序,执行含有混合指令的程序。

2.根据权利要求1所述的实现CPU/GPU异构平台的虚拟执行环境的方法,其特征是,包括以下步骤:

①、首先对整个二进制程序文件进行静态分析,找到和标记出其中的嵌套循环部分;

②、然后对这部分单独执行,获得该块的控制流和数据流信息;

③、利用这些信息建立多面体模型,检测循环之间的依赖;

④、为后续生成并行指令的算法提供信息;

⑤、静态分析结束后,开始动态执行。

3.根据权利要求2所述的实现CPU/GPU异构平台的虚拟执行环境的方法,其特征是,步骤①中所述的二进制程序中for循环进行分析、优化和并行化处理。

4.根据权利要求3所述的实现CPU/GPU异构平台的虚拟执行环境的方法,其特征是,所述的并行化处理,是指:CPU的执行是线性的,而GPU采用了流计算模型,要在GPU上运行传统的程序,必须改变程序的结构,将传统串行的程序转换变为流计算模型,包括将串行的指令转换为并行的指令。

5.根据权利要求1所述的实现CPU/GPU异构平台的虚拟执行环境的方法,其特征是,所述的并行化处理,在CPU切换到GPU时保存处理器的状态,并且在GPU的执行的时候要保持CPU状态寄存器的一致性。

6.根据权利要求1所述的实现CPU/GPU异构平台的虚拟执行环境的方法,其特征是,所述的优化,是指:结合了动态分析和静态分析,用静态分析找到二进制程序中的循环部分,利用动态分析中获得循环的索引、循环的边界等信息,通过静态二进制分析得到程序的全局信息,而程序执行时是单路径的,得不到全局信息;静态分析也有其缺陷,因为有些信息只能在程序执行的时候获得,如条件跳转时的目的地址只能在执行的阶段获得,而且静态分析要扫描所有的执行路径,因此开销较大;动态分析是在程序执行的时候进行的,执行的路径取决于程序的输入,它获取的是程序在执行时的信息。

7.根据权利要求1所述的实现CPU/GPU异构平台的虚拟执行环境的方法,其特征是,所述的动态二进制翻译技术,是指基于Crossbit实现了一个CPU/GPU异构平台的虚拟执行环境GXBIT,使得x86平台上程序可并行在x86CPU和NVIDIA GPU异构平台上,前端将源机器指令翻译为自行设计的中间指令块,后端将中间指令翻译为目标机器指令并执行。

8.根据权利要求1所述的实现CPU/GPU异构平台的虚拟执行环境的方法,其特征是,所述的执行的第一阶段、收集信息和优化热块,并存储到文件中,实施步骤如下:

①、读入某个二进制可执行文件,首先扫描该文件中的可执行的代码段,找出其中所有嵌套循环,将它们作为备选的热块;

②、然后只执行找到的嵌套循环部分,在执行的过程中,在每个访存指令后面插入额外的指令,在执行的时候,所有的访存地址都会被记录下来;在最外层的循环执行了一次以后,动态分析工具利用上述记录的访存地址信息建立多面体模型,确定循环之间是否有依赖,如果没有依赖,则这些循环就被并行化在GPU上执行,并将这些循环设置为热块;

③、优化器针对特定GPU架构对热块进行某些优化,最后将收集的信息和优化后的热块存储到文件中。

9.根据权利要求1所述的实现CPU/GPU异构平台的虚拟执行环境的方法,其特征是,所述的执行的第二阶段、生成包含串行指令和并行指令的混合程序,执行含有混合指令的程序,实施步骤如下:

①、第二次读入该可执行文件,并装载上一阶段收集到的信息和优化后的热块,并获取热块的入口和出口地址;

②、执行整个二进制文件,当执行流进入某一个热块中时,启动并行翻译引擎,将优化后的热块翻译为GPU上可运行的并行指令,这样就生成了一个混合的二进制文件,它同时包含串行指令和并行指令;

③、将上一步生成的混合指令放到CPU/GPU异构平台上执行,并且处理内存的一致性问题。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010519516.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top