[发明专利]一种基于延迟发送机制的GPU虚拟化性能提升的方法有效
| 申请号: | 201510818290.5 | 申请日: | 2015-11-24 |
| 公开(公告)号: | CN105487915B | 公开(公告)日: | 2018-11-27 |
| 发明(设计)人: | 沈国军 | 申请(专利权)人: | 上海君是信息科技有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 200030 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种基于延迟发送机制的GPU虚拟化性能提升的方法,采用GPU独占和API重定向相结合的GPU虚拟化方法,利用延迟发送的机制,并通过虚拟机之间共享内存的方法来减少GPU交互次数,从而提高GPU虚拟化性能。本发明根据循环体中的参数变化和数据依赖的不同情况给出了三种延迟发送指令提交的方法,分别是:第一种是在没有参数和数据变化下延迟发送;第二种是没有数据依赖和有参数的变化下延迟发送;第三种是没有参数变化,却有数据依赖的延迟发送。根据具体情况来选择使用这三种延迟发送方法来降低发送的次数,通过延迟发送指令的方法来充分利用GPU物理资源,使虚拟机几乎达到跟实体机同样的效果。 | ||
| 搜索关键词: | 延迟发送 虚拟化 数据依赖 参数变化 性能提升 虚拟机 共享内存 数据变化 物理资源 指令提交 循环体 重定向 独占 发送 指令 | ||
【主权项】:
1.一种基于延迟发送机制的GPU虚拟化性能提升的方法,使用GPU独占和API重定向相结合的GPU虚拟化方法,通过减少指令传输的次数来提高GPU虚拟化性能;其特征在于,所述方法具体包括以下步骤:步骤一:首先找到CUDA程序中的循环体,然后判断该循环体中是否包含CUDA API;步骤二:如果循环体中不包含CUDA API,则继续寻找下一个循环体;如果循环体中包含有CUDA API,接着判断该循环体中是否有参数变化;步骤三:如果该循环体没有参数变化且没有数据依赖,则使用第一种延迟提交方法,该方法为,每次循环时,不需要将循环体中的有关函数名和参数信息缓存,只要将有关信息缓存一次即可;如果该循环体没有参数变化但有数据依赖,则采用第三种延迟提交方法,该方法为,在缓存循环中CUDA API的函数名和参数信息时,将那些没有数据依赖的参数,直接缓存其参数值,对于那些有数据依赖的参数,采用不直接缓存参数,而是缓存参数表达式系数的方法,等待GPU根据已知计算得出数据,传回,然后等循环结束后再一次性将缓存的信息传给GPU独占设备虚拟机;步骤四:如果该循环体有参数变化但没有数据依赖,则采用第二种延迟提交方法,该方法为,每次将循环时的信息都进行缓存,等到循环结束后再一次性将这些信息传给图形设备虚拟机执行;步骤五:如果该循环体有参数变化且有数据依赖,则采用与第三种延迟提交方法相同的方法,将循环次数也作为参数表达式中的一个变量,对其系数进行待定。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海君是信息科技有限公司,未经上海君是信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510818290.5/,转载请声明来源钻瓜专利网。





