在异类系统中使用虚拟化编译和执行应用的方法和装置与流程

文档序号:12008409阅读:来源:国知局
在异类系统中使用虚拟化编译和执行应用的方法和装置与流程

技术特征:
1.一种在包括中央处理单元(CPU)和图形处理单元(GPU)的系统中编译和执行应用的方法,该方法包括:接收对编译应用的请求,该应用包括CPU源代码和GPU源代码;响应于对编译应用的请求通过将CPU源代码编译为CPU机器代码以及将GPU源代码编译为GPU虚拟指令来生成包括CPU机器代码和GPU虚拟指令的执行文件;接收对执行所述执行文件的请求;响应于对执行所述执行文件的请求,将GPU虚拟指令翻译为GPU机器代码,并且将GPU机器代码插入所述执行文件;以及执行CPU机器代码和GPU机器代码。2.如权利要求1所述的方法,其中,所述执行文件包括虚拟段,该虚拟段包括CPU机器代码和GPU虚拟指令。3.如权利要求2所述的方法,其中,所述虚拟段还包括虚拟段首标、CPU机器代码、以及GPU虚拟指令,该虚拟段首标具有用于识别虚拟段的水印。4.如权利要求2所述的方法,其中,执行所述执行文件包括:由所述系统的操作系统(OS)检测执行文件中的异常;将系统控制移交给混合虚拟化块;由所述混合虚拟化块识别所述虚拟段;将GPU虚拟指令翻译为GPU机器代码;将系统控制移交回所述OS;以及由所述OS使用GPU执行GPU机器代码。5.如权利要求4所述的方法,其中,所述混合虚拟化块位于应用层和硬件层之间的虚拟化层上。6.如权利要求2所述的方法,其中,执行所述执行文件包括:由所述系统的操作系统(OS)检测执行文件中的异常;识别虚拟段;将GPU虚拟指令翻译为GPU机器代码;以及使用GPU执行GPU机器代码。7.如权利要求1所述的方法,其中,在机器代码级格式化所述GPU虚拟指令和GPU机器代码。8.一种用于编译和执行包括中央处理单元(CPU)源代码和图形处理单元(GPU)源代码的应用的装置,该装置包括:硬件设备,包括CPU和GPU;编译器,用于响应于对编译应用的请求,将CPU源代码编译为CPU机器代码,将GPU源代码编译为GPU虚拟指令,并且生成包括CPU机器代码和GPU虚拟指令的执行文件;以及混合虚拟化块,用于响应于对执行所述执行文件的请求,将GPU虚拟指令翻译为GPU机器代码,将GPU机器代码插入所述执行文件,并且执行CPU机器代码和GPU机器代码。9.如权利要求8所述的装置,其中,所述混合虚拟化块被插入在应用层和硬件层之间。10.如权利要求9所述的装置,其中,所述执行文件包括虚拟段,该虚拟段包括CPU机器代码和GPU虚拟指令。11.如权利要求10所述的装置,其中,所述虚拟段包括虚拟段首标、CPU机器代码、以及GPU虚拟指令,该虚拟段首标包括用于识别虚拟段的水印。12.如权利要求10所述的装置,其中,所述硬件设备包括操作系统(OS),其运行所述执行文件,并将系统控制移交给混合虚拟化块。13.如权利要求12所述的装置,其中,所述混合虚拟化块将GPU虚拟指令翻译为GPU机器代码,并将系统控制移交给OS。14.如权利要求12所述的装置,其中,所述OS将GPU机器代码放在执行文件中,并响应于用于执行GPU虚拟指令的命令执行所述执行文件的GPU机器代码。15.如权利要求8所述的装置,其中,在机器代码级格式化所述GPU虚拟指令和GPU机器代码。16.一种用于编译和执行包括中央处理单元(CPU)源代码和图形处理单元(GPU)源代码的应用的装置,该装置包括:硬件设备,包括CPU和GPU;编译器,用于响应于对编译应用的请求,将CPU源代码编译为CPU机器代码,将GPU源代码编译为GPU虚拟指令,并且生成包括CPU机器代码和GPU虚拟指令的执行文件;以及操作系统(OS),用于响应于对执行所述执行文件的请求,将GPU虚拟指令翻译为GPU机器代码,将GPU机器代码插入所述执行文件,并且执行CPU机器代码和GPU机器代码。17.如权利要求16所述的装置,其中,所述执行文件包括虚拟段,该虚拟段包括CPU机器代码和GPU虚拟指令。18.如权利要求17所述的装置,其中,所述虚拟段包括虚拟段首标、CPU机器代码、以及GPU虚拟指令,该虚拟段首标包括用于识别虚拟段的水印。19.如权利要求18所述的装置,其中,所述OS将GPU虚拟指令翻译为GPU机器代码。20.如权利要求19所述的装置,其中,所述OS将GPU机器代码放在执行文件中,并响应于用于执行GPU虚拟指令的命令执行所述执行文件的GPU机器代码。21.如权利要求16所述的装置,其中,在机器代码级格式化所述GPU虚拟指令和GPU机器代码。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1