【技术实现步骤摘要】
支持OpenGL的GPU的仿真与集成方法及系统
[0001]本专利技术涉及GPU虚拟化
,具体地,涉及一种支持OpenGL的GPU的仿真与集成方法及系统。
技术介绍
[0002]当前的GPU仿真领域主要包含三种仿真方案:
[0003]1、软件直接模拟。由于GPU中包含大量并行计算处理单元,而宿主机CPU的包含大量的逻辑控制单元。两者的用途分工不同,设计架构不同。因而使用通用宿主机CPU来仿真虚拟机GPU效率较低。但该方案可用于多GPU的计算机系统仿真。
[0004]2、显卡直通。利用不同显卡厂家提供的特殊接口实现虚拟机直接利用GPU硬件,这种方案虚拟GPU效率高,但GPU不能共享,不适用于仿真多GPU的计算机系统的场景。
[0005]3、API转发。这种方案是通过时间片将GPU硬件分配给虚拟机使用即实现了虚拟的多系统共享GPU,同时虚拟机也有较高的仿真运行效率。
[0006]公开号为CN111399976A的专利技术专利,公开了一种基于API重定向技术的GPU虚拟化实现系统及方法,其中: ...
【技术保护点】
【技术特征摘要】
1.一种支持OpenGL的GPU的仿真与集成方法,其特征在于,包括:步骤S1:制作虚拟GPU驱动库;步骤S2:根据所述虚拟GPU驱动库,重新编译在虚拟机上运行的应用程序;步骤S3:制作虚拟GPU接口转发库;步骤S4:虚拟机软件集成所述虚拟GPU接口转发库。2.根据权利要求1所述的支持OpenGL的GPU的仿真与集成方法,其特征在于,所述步骤S1包括:步骤S1.1:虚拟GPU驱动库API接口与OpenGL接口一致,采用所述API接口使虚拟方案适用于多种GPU和多种操作系统;步骤S1.2:编写实现所有的虚拟GPU驱动库API函数;步骤S1.3:使用待虚拟化的目标机的开发工具链,将所有API函数编译成对应的OpenGL链接库。3.根据权利要求2所述的支持OpenGL的GPU的仿真与集成方法,其特征在于,所述步骤S1.2包括:步骤S1.2.1:填充约定好的数据结构:其中包括API函数索引值、API函数传入参数的数目、API函数的各个参数以及返回值结构体指针;步骤S1.2.2:触发运行虚拟GPU接口转发库函数;步骤S1.2.3:读取运行虚拟GPU接口转发库函数的结果;步骤S1.2.4:如果运行成功,继续运行,运行不成功则重新开始步骤S1.2.1;步骤S1.2.5:如果有返回值,则将返回值返回给虚拟驱动API。4.根据权利要求1所述的支持OpenGL的GPU的仿真与集成方法,其特征在于,所述步骤S2包括:步骤S2.1:利用所述虚拟GPU驱动库替换应用程序所引用的OpenGL驱动库;步骤S2.2:使用待虚拟化的目标机的开发工具链重新链接应用程序。5.根据权利要求1所述的支持OpenGL的GPU的仿真与集成方法,其特征在于,所述步骤S3包括:步骤S3.1:对应于虚拟GPU驱动库中的每个API函数都有对应的虚拟GPU接口转发库函数,实现每个虚拟GPU接口转发库函数的流程如下:步骤S3.1.1:读取约定好的数据结构:其中包括API函数索引值、API函数传入参数的数目以及API函数的各个参数;步骤S3.1.2:建立能够通过API函数索引值作为索引查找宿主机的GPU驱动库的HASH表;步骤S3.1.3:使用HASH表查找GPU驱动库;步骤S3.1.4:将传入数据结构中的参数填入运行宿主机GPU驱动API函数;步骤S3.1.5:如果有返回值,将返回值放到数据结构中的指定位置;步骤S3.2:使用开发虚拟机的开发工具链,将所有的API接口转发库编译成虚拟机软件可引用的链接库。6.根据权利要求1所述的支持OpenGL的GPU的仿真与集成方法,其特征在于,所述步骤S4包括:
步骤S4.1:虚拟机软件按照步骤S3集成后运行步骤S2得到虚拟机上的应用;步骤S4.2:步骤S2的虚拟机上的应用程序运行时调用虚拟GPU驱动库;步骤S4.3:虚拟GPU驱动库在虚拟机中通过步骤S3的AP...
【专利技术属性】
技术研发人员:王耀林,凤少波,邢逢峰,
申请(专利权)人:上海创景信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。