本发明涉及gpu系统架构,特别涉及一种gpu设备任务执行方法、装置、设备及存储介质。
背景技术:
1、近年来,随着人工智能(ai,即artificial intelligence)的高速发展,gpu(graphics processing unit,即图形处理器)已经发展到与cpu(central processingunit,即中央处理器)同等重要的程度。生成式人工智能、自动驾驶等大语言模型的训练,以及智能检索、人体识别检测等实时推理应用,对高性能gpu设备的需求也越来越旺盛。
2、云端设备应用是ai计算应用的一个主流应用方式,通过将大量板卡部署在云端服务器,利用超量增发和多用户分时复用的方式,满足用户的训练和实时推理需求。云端服务器主机与gpu设备通过总线方式互联,并根据ai计算模型将参数预发送给gpu设备,将计算任务实时发送给gpu设备。当参数总量过大时,采用多次迭代的方式,进行参数和计算任务的传输。当前采用pcie(peripheral component interconnect express,即一种高速串行计算机扩展总线标准)或dma协议(direct memory access,即直接存储器访问)的存储访问延迟大,且设备端需要根据任务的需求,定制不同内存容量的板卡,灵活性较差。因此,如何降低云端服务器主机与gpu设备的存储访问延迟是本领域技术人员需要解决的问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种gpu设备任务执行方法、装置、设备及存储介质,能够实现主机端与设备端内存资源的低延时访问。其具体方案如下:
2、第一方面,本申请公开了一种基于cxl协议的gpu设备任务执行方法,应用于gpu设备端,包括:
3、通过cxl交换机获取主机端下发的目标执行任务,并基于cxl控制器将所述目标执行任务对应的资源控制指令发送至risc-v控制器;
4、通过所述risc-v控制器对所述资源控制指令进行解析以根据解析结果对所述目标执行任务分配对应的目标计算核,并启动所述目标计算核执行任务;
5、通过所述目标计算核控制所述cxl控制器访问所述主机端的内存地址以获取所述目标执行任务对应的数据信息;
6、通过所述目标计算核和所述数据信息对所述目标执行任务进行并行任务计算操作以得到任务执行结果,并将所述任务执行结果发送至所述主机端。
7、可选的,所述目标执行任务为所述主机端通过所述cxl交换机获取所述gpu设备端的内存资源和可用计算资源后,基于所述内存资源、所述可用计算资源和任务流对上层ai应用下发的总执行任务进行分配确定的执行任务。
8、可选的,所述主机端通过所述cxl交换机获取所述gpu设备端的内存资源和可用计算资源,包括:
9、所述主机端通过存储状态查询函数获取所述gpu设备端的内存资源;
10、所述主机端利用任务查询函数获取gpu内部risc-v控制器的状态寄存器以确定所述gpu设备端的可用计算资源。
11、可选的,所述通过所述risc-v控制器对所述资源控制指令进行解析以根据解析结果对所述目标执行任务分配对应的目标计算核,包括:
12、通过所述risc-v控制器对所述资源控制指令进行解析以确定计算核数量;
13、通过所述risc-v控制器从本地存储或l2缓存中读取所述目标执行任务的任务指令段,并基于所述任务指令段将所述目标执行任务和对应的数据调度地址分配给对应的目标计算核。
14、可选的,所述通过所述目标计算核控制所述cxl控制器访问所述主机端的内存地址以获取所述目标执行任务对应的数据信息之前,还包括:
15、通过所述risc-v控制器对所述目标计算核下发数据访问权限,以便所述目标计算核基于所述数据访问权限控制所述cxl控制器对所述主机端的内存进行访问。
16、可选的,所述通过所述risc-v控制器对所述资源控制指令进行解析以根据解析结果对所述目标执行任务分配对应的目标计算核,并启动所述目标计算核执行任务之后,还包括:
17、利用所述目标计算核直接通过crossbar总线从本地存储或l2缓存中获取所述目标执行任务对应的数据信息。
18、可选的,所述通过所述目标计算核和所述数据信息对所述目标执行任务进行并行任务计算操作以得到任务执行结果之后,还包括:
19、基于资源控制指令将所述任务执行结果发送其他gpu设备中的目标gpu设备,以便所述目标gpu设备基于所述任务执行结果中的数据进行并行任务计算操作,然后跳转至通过所述目标计算核控制所述cxl控制器访问所述主机端的内存地址以获取所述目标执行任务对应的数据信息的步骤。
20、第二方面,本申请公开了一种基于cxl协议的gpu设备任务执行装置,应用于gpu设备端,包括:
21、指令发送模块,用于通过cxl交换机获取主机端下发的目标执行任务,并基于cxl控制器将所述目标执行任务对应的资源控制指令发送至risc-v控制器;
22、任务分配模块,用于通过所述risc-v控制器对所述资源控制指令进行解析以根据解析结果对所述目标执行任务分配对应的目标计算核,并启动所述目标计算核执行任务;
23、数据信息读取模块,用于通过所述目标计算核控制所述cxl控制器访问所述主机端的内存地址以获取所述目标执行任务对应的数据信息;
24、任务执行模块,用于通过所述目标计算核和所述数据信息对所述目标执行任务进行并行任务计算操作以得到任务执行结果,并将所述任务执行结果发送至所述主机端。
25、第三方面,本申请公开了一种电子设备,包括:
26、存储器,用于保存计算机程序;
27、处理器,用于执行所述计算机程序以实现前述的基于cxl协议的gpu设备任务执行方法。
28、第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的基于cxl协议的gpu设备任务执行方法。
29、可见,本实施例中,通过cxl交换机获取主机端下发的目标执行任务,并基于cxl控制器将所述目标执行任务对应的资源控制指令发送至risc-v控制器;通过所述risc-v控制器对所述资源控制指令进行解析以根据解析结果对所述目标执行任务分配对应的目标计算核,并启动所述目标计算核执行任务;通过所述目标计算核控制所述cxl控制器访问所述主机端的内存地址以获取所述目标执行任务对应的数据信息;通过所述目标计算核和所述数据信息对所述目标执行任务进行并行任务计算操作以得到任务执行结果,并将所述任务执行结果发送至所述主机端。这样一来,通过融合cxl协议的运行时调度cxl控制器,实现主机端与设备端内存资源的低延时访问,有效解决了gpu设备端内存资源不足的问题,提高了gpu设备的灵活性,降低了gpu板卡的成本。
1.一种基于cxl协议的gpu设备任务执行方法,其特征在于,应用于gpu设备端,包括:
2.根据权利要求1所述的gpu设备任务执行方法,其特征在于,所述目标执行任务为所述主机端通过所述cxl交换机获取所述gpu设备端的内存资源和可用计算资源后,基于所述内存资源、所述可用计算资源和任务流对上层ai应用下发的总执行任务进行分配确定的执行任务。
3.根据权利要求2所述的gpu设备任务执行方法,其特征在于,所述主机端通过所述cxl交换机获取所述gpu设备端的内存资源和可用计算资源,包括:
4.根据权利要求1所述的gpu设备任务执行方法,其特征在于,所述通过所述risc-v控制器对所述资源控制指令进行解析以根据解析结果对所述目标执行任务分配对应的目标计算核,包括:
5.根据权利要求1所述的gpu设备任务执行方法,其特征在于,所述通过所述目标计算核控制所述cxl控制器访问所述主机端的内存地址以获取所述目标执行任务对应的数据信息之前,还包括:
6.根据权利要求1所述的gpu设备任务执行方法,其特征在于,所述通过所述risc-v控制器对所述资源控制指令进行解析以根据解析结果对所述目标执行任务分配对应的目标计算核,并启动所述目标计算核执行任务之后,还包括:
7.根据权利要求1至6任一项所述的gpu设备任务执行方法,其特征在于,所述通过所述目标计算核和所述数据信息对所述目标执行任务进行并行任务计算操作以得到任务执行结果之后,还包括:
8.一种基于cxl协议的gpu设备任务执行装置,其特征在于,应用于gpu设备端,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于cxl协议的gpu设备任务执行方法。