[发明专利]一种GPU的模拟方法有效

专利信息
申请号: 201610751451.8 申请日: 2016-08-29
公开(公告)号: CN106371890B 公开(公告)日: 2019-05-28
发明(设计)人: 石磊;张辉;程栋;牛文强 申请(专利权)人: 山东乾云启创信息科技股份有限公司
主分类号: G06F9/455 分类号: G06F9/455
代理公司: 济南圣达知识产权代理有限公司 37221 代理人: 黄海丽
地址: 250101 山东省济南市高*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种GPU的模拟方法,首先基于系统虚拟化和GPU使用原理,在内核态模拟器中截获客户GPU的指令序列,然后根据用户配置,选择如下两种机制的任意一种完成对客户GPU的模拟。机制一,基于二进制翻译技术在低级语义上直接完成指令翻译,并最终在宿主GPU上执行;机制二,利用GPU现有软件栈完成指令转换,并最终在宿主GPU上执行。本发明基于宿主机的物理GPU为虚拟机提供高效模拟的GPU(虚拟GPU和物理GPU的型号版本可以不同),解决了GPU模拟速度慢的问题。本发明主要基于系统虚拟化技术,同时借助现有GPU软件栈提供的便利条件,提高GPU模拟速度,并有效控制该方法实现的难度和复杂度。
搜索关键词: 一种 gpu 模拟 方法
【主权项】:
1.一种GPU的模拟方法,其特征是,包括如下步骤:步骤101:在虚拟机中,应用程序向客户GPU驱动发出高级命令;步骤102:客户GPU驱动,把应用程序提交的高级命令转化为对应客户GPU可识别的一组低级指令序列,然后写入客户GPU指令缓冲;步骤103:客户GPU驱动在提交若干相关联的高级命令后,触发一次提交操作,该提交操作触发虚拟机退出VM‑Exit,控制权转移到内核态模拟器,由内核态模拟器根据配置策略决定GPU模拟不同的机制;所述不同的机制包括:第一类机制:基于二进制翻译技术在低级语义上直接完成指令翻译,并最终在宿主GPU上执行;第二类机制:利用GPU现有软件栈完成指令转换和执行;如果步骤103选择第二类机制,则执行步骤301至步骤305,还包括步骤401的优化旁路:步骤301:内核态模拟器扫描客户GPU指令缓冲中的当前指令序列,对照内置的转换缓存,检查当前指令序列是否已经存在对应的缓存项;如果存在,直接转步骤401;如果不存在,内核态模拟器在转换缓存中注册一项记录,标记为待转换,退出内核态,把控制权返回到用户态模拟器,然后转步骤302;步骤302:用户态模拟器从转换缓存取出待转换的客户GPU指令序列,查询内置的映射表,把低级指令序列翻译为高级的命令形式;步骤303:用户态模拟器调用宿主GPU驱动,向宿主GPU驱动发出高级命令;步骤304:宿主GPU驱动处理高级命令,产生宿主GPU对应的指令序列,宿主GPU对应的指令序列经由宿主机内核向宿主GPU提交时,被内核态模拟器截获,用于更新转换缓存中待转化的记录;步骤305:宿主GPU指令序列被宿主机内核提交给宿主GPU执行;步骤401:内核态模拟器发现,转换缓存中存在当前的客户GPU指令序列与宿主GPU指令序列的映射项,则内核态模拟器直接利用该映射项完成转换,然后把转换结果提交给宿主GPU执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东乾云启创信息科技股份有限公司,未经山东乾云启创信息科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610751451.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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