数据获取方法、装置、存储介质以及电子设备制造方法及图纸

技术编号:33737369 阅读:29 留言:0更新日期:2022-06-08 21:34
本公开涉及一种数据获取方法、装置、存储介质以及电子设备,涉及计算机技术领域,该方法包括:获取调用第一终端自身安装的虚拟GPU的第一调用请求,第一调用请求携带第一函数对应的标识;通过第一函数对第一调用请求进行处理,得到第二调用请求,并通过第一函数将第二调用请求发送到第二终端,以使第二终端根据第二调用请求,调用物理GPU的原生函数库中的第二函数,并根据第二函数调用自身安装的物理GPU进行处理,得到第二调用请求对应的目标数据,第一函数为第一终端的函数库中与第二函数同名的函数;接收第二终端返回的目标数据。采用该方法可以避免用户在编写GPU任务时对代码进行修改,对用户程序更加透明。对用户程序更加透明。对用户程序更加透明。

【技术实现步骤摘要】
数据获取方法、装置、存储介质以及电子设备


[0001]本公开涉及计算机
,具体地,涉及一种数据获取方法、装置、存储介质以及电子设备。

技术介绍

[0002]目前GPU(graphics processing unit,图形处理器)资源有限,成本高,直接使用本地安装GPU的设备完成GPU任务,大部分时间GPU都是空闲的,会造成严重的资源浪费,并且为每一台设备本地安装GPU也不太现实。
[0003]相关技术中,存在将本地GPU任务发送到远程设备的GPU执行,从而通过远程的设备的GPU完成GPU任务的方案,如此,便能够实现在没有GPU的本地设备也完成GPU任务的功能,然而,相关技术中的方案通常需要在编写GPU任务时对代码进行修改。

技术实现思路

[0004]提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0005]第一方面,本公开提供一种数据获取方法,应用于第一终端,该方法包括:
[0006]获取调用所述第一终端自身安装的虚拟GPU的第一调用请求,所述第一调用请求携带第一函数对应的标识;
[0007]通过所述第一函数对所述第一调用请求进行处理,得到第二调用请求,并通过所述第一函数将所述第二调用请求发送到第二终端,以使所述第二终端根据所述第二调用请求,调用物理GPU的原生函数库中的第二函数,并根据所述第二函数调用自身安装的物理GPU进行处理,得到所述第二调用请求对应的目标数据,所述第一函数为所述第一终端的函数库中与所述第二函数同名的函数;
[0008]接收所述第二终端返回的所述目标数据。
[0009]第二方面,本公开提供一种数据获取装置,应用于第一终端,该装置包括:
[0010]第一调用请求获取模块,用于获取调用所述第一终端自身安装的虚拟GPU的第一调用请求,所述第一调用请求携带第一函数对应的标识;
[0011]第二调用请求生成模块,用于通过所述第一函数对所述第一调用请求进行处理,得到第二调用请求,并通过所述第一函数将所述第二调用请求发送到第二终端,以使所述第二终端根据所述第二调用请求,调用物理GPU的原生函数库中的第二函数,并根据所述第二函数调用自身安装的物理GPU进行处理,得到所述第二调用请求对应的目标数据,所述第一函数为所述第一终端的函数库中与所述第二函数同名的函数;
[0012]目标数据接收模块,用于接收所述第二终端返回的所述目标数据。
[0013]第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面所述方法的步骤。
[0014]第四方面,本公开提供一种电子设备,包括:
[0015]存储装置,其上存储有至少一个计算机程序;
[0016]至少一个处理装置,用于执行所述存储装置中的所述至少一个计算机程序,以实现第一方面所述方法的步骤。
[0017]基于上述技术方案,由于在未安装物理GPU的第一终端获取到第一调用请求时,可以对第一调用请求进行处理得到第二调用请求,然后再通过远程第二终端的物理GPU来对第二调用请求进行处理,并将处理后的目标数据返回给第一终端,实现了在第一终端没有GPU的情况下也能够完成GPU任务的功能,此外,由于在第一终端安装有虚拟GPU,并且虚拟GPU对应的第一终端的函数库中的第一函数与物理GPU的原生函数库中的第二函数同名,使得用户在对GPU任务进行编程时,可以按照第一终端存在物理GPU一样的编程习惯进行编程,避免用户在编写GPU任务时对代码进行修改,使得对用户程序更加透明,也降低用户编程出错的可能性。
[0018]本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0019]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
[0020]图1是根据一示例性实施例提供的一种应用环境的示意图;
[0021]图2是根据一示例性实施例提供的一种数据获取方法的流程示意图;
[0022]图3是根据一示例性实施例提供的另一种应用环境的示意图;
[0023]图4是根据一示例性实施例提供的一种数据获取装置的模块连接示意图;
[0024]图5是根据一示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
[0025]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0026]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0027]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0028]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0029]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域
技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0030]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0031]相关技术中,存在一些框架,例如tensorflow、pytorch等可以把GPU任务提交到远程机器上执行,然而,这些框架在使用时,用户意识到自己使用的是远程机器上的GPU,在GPU任务编程时需要在GPU任务的代码的基础上额外增加一些代码。其中,GPU任务可以包括开发、调试以及运行GPU程序等,且在执行GPU任务时,调用GPU进行处理。
[0032]例如,tf需要显示调用tf.config.experimental_connect_to_cluster方法,又例如,Torch通常需要用xla编译,并且需要在原本单机能跑通的代码上添加一些代码。比如xm.mark_step()等。
[0033]由于需要额外增加一些代码,导致整个GPU任务编程过程变本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据获取方法,其特征在于,应用于第一终端,所述方法包括:获取调用所述第一终端自身安装的虚拟GPU的第一调用请求,所述第一调用请求携带第一函数对应的标识;通过所述第一函数对所述第一调用请求进行处理,得到第二调用请求,并通过所述第一函数将所述第二调用请求发送到第二终端,以使所述第二终端根据所述第二调用请求,调用物理GPU的原生函数库中的第二函数,并根据所述第二函数调用自身安装的物理GPU进行处理,得到所述第二调用请求对应的目标数据,所述第一函数为所述第一终端的函数库中与所述第二函数同名的函数;接收所述第二终端返回的所述目标数据。2.根据权利要求1所述的数据获取方法,其特征在于,所述通过所述第一函数对所述第一调用请求进行处理,得到第二调用请求,包括:在所述第二调用请求包括用于调用所述物理GPU进行计算的计算子请求的情况下,通过所述第一函数获取所述第一函数对应的标识、物理GPU的配置信息、计算参数以及目标显存地址;通过所述第一函数基于所述第一函数对应的标识、所述物理GPU的配置信息、所述计算参数以及所述目标显存地址,生成所述计算子请求。3.根据权利要求2所述的数据获取方法,其特征在于,获取所述目标显存地址,包括:获取所述虚拟GPU进行计算时使用的第一终端的原始显存地址;基于第一终端中的显存地址与第二终端中的显存地址之间的映射关系,确定与所述原始显存地址对应的第二终端中的目标显存地址。4.根据权利要求3所述的数据获取方法,其特征在于,在所述第二调用请求为用于调用所述物理GPU对显存进行变更的变更子请求的情况下,所述目标数据包括所述物理GPU对显存进行变更后的第一变更显存地址,获取所述目标数据之后,所述方法还包括:获取所述虚拟GPU对显存进行变更后的第二变更显存地址,以及所述第一变更显存地址;基于所述第一变更显存地址以及所述第二变更显存地址,对所述映射关系进行更新。5.根据权利要求1所述的数据获取方法,其特征在于,所述方法还包括:获取所述第一终端的所述函数库的实际安装位置;将所述实际安装位置软连接到物理GPU的原生函数库在所述第一终端上的通用安装位置。6.根据权利要求1

5任一项所述的数据获取方法,其特征在于,所述第二调用请求对应的数据包类型包括控制传输数据包以及数据传输数据包,所述目标数据对应的数据...

【专利技术属性】
技术研发人员:齐思凯张宗强白云刘哲瑞王剑
申请(专利权)人:北京有竹居网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1