[发明专利]利用C++编译器的CPU-GPU数据同步方法和装置有效
申请号: | 202210409838.0 | 申请日: | 2022-04-19 |
公开(公告)号: | CN114756369B | 公开(公告)日: | 2022-12-09 |
发明(设计)人: | 贾磊 | 申请(专利权)人: | 北京领为军融科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54;G06F8/41 |
代理公司: | 北京远大卓悦知识产权代理有限公司 11369 | 代理人: | 卞静静 |
地址: | 102627 北京市大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 c++ 编译器 cpu gpu 数据 同步 方法 装置 | ||
1.一种利用C++编译器的CPU-GPU数据同步方法,其特征在于,包括:
获取需要进行CPU-GPU同步的数据的描述,所述需要进行CPU-GPU同步的数据的描述是用户通过模板标签在特定维度对需要进行CPU-GPU同步的数据进行标注得到的,所述需要进行CPU-GPU同步的数据的描述中记载有数据所属的数据类型、以及不同数据类型对应的存储规则;
调用C++编译器对需要进行CPU-GPU同步的数据的描述进行编译,执行编译结果,计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址,以使渲染系统共享数据和各模块专属数据可在内存中连续保存,以及可在显存中连续保存;
将需要进行CPU-GPU同步的数据按渲染系统共享数据和各模块专属数据各自在内存中的存储地址分别加载至共享数据和各模块专属数据各自在内存中的存储空间内;
将渲染系统共享数据和各模块专属数据按各自在显存中的存储地址从内存中同步至共享数据和各模块专属数据各自在显存中的存储空间内。
2.如权利要求1所述的利用C++编译器的CPU-GPU数据同步方法,其特征在于,所述特定维度包括:数据静态/动态更新、数据类型两个维度。
3.一种利用C++编译器的CPU-GPU数据同步装置,其特征在于,包括:
编码单元,其用于获取需要进行CPU-GPU同步的数据的描述,所述需要进行CPU-GPU同步的数据的描述是用户通过模板标签在特定维度对需要进行CPU-GPU同步的数据进行标注得到的,所述需要进行CPU-GPU同步的数据的描述中记载有数据所属的数据类型、以及不同数据类型对应的存储规则;
编译单元,其用于调用C++编译器对需要进行CPU-GPU同步的数据的描述进行编译,执行编译结果,计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址,以使渲染系统共享数据和各模块专属数据可在内存中连续保存,以及可在显存中连续保存;
加载单元,其用于将需要进行CPU-GPU同步的数据按渲染系统共享数据和各模块专属数据各自在内存中的存储地址分别加载至共享数据和各模块专属数据各自在内存中的存储空间内;
同步单元,其用于将渲染系统共享数据和各模块专属数据按各自在显存中的存储地址从内存中同步至共享数据和各模块专属数据各自在显存中的存储空间内。
4.如权利要求3所述的利用C++编译器的CPU-GPU数据同步装置,其特征在于,所述特定维度包括:数据静态/动态更新、数据类型两个维度。
5.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1~2中任一项所述的方法。
6.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1~2中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京领为军融科技有限公司,未经北京领为军融科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210409838.0/1.html,转载请声明来源钻瓜专利网。