一种异构众核架构下进行异步深度学习推理方法及系统与流程
- 国知局
- 2024-10-09 14:42:05
本申请涉及深度学习推理的,特别是涉及一种异构众核架构下进行异步深度学习推理方法、装置、设备及存储介质。
背景技术:
1、深度学习推理是深度学习技术的重要环节,指的是当用户完成模型训练之后,当用户给定输入数据后,根据模型结构和训练好的参数,对输入数据进行计算,将结果返回给用户的过程。
2、当使用gpu等异构设备进行推理时,需要将数据从host端的内存拷贝到device端的内存上,设备进行推理计算,再将结果拷贝回host端的内存。为了增加设备的吞吐与利用率,可以让这几个步骤异步进行,具体来说,在进行设备进行第一批次的数据的计算时,可以同时进行第二批次的数据的从host端到device端的拷贝。同理,第一批次的数据计算完成拷贝回host端时,也可以同步计算第二批次的数据。
3、现有技术中,推理框架提供对设备上的数据进行异步推理计算的方式和接口,用户需要自己完成数据在host端和device端之间的拷贝与这些步骤的异步管理。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种自动完成数据在host端和device端之间的拷贝的异构众核架构下进行异步深度学习推理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种异构众核架构下进行异步深度学习推理方法。方法包括:
3、定义异步获取接口和推理结果接口;
4、调用异步获取接口将主机端的数据发送至预设的推理框架并获取对应的句柄结果;
5、基于所述句柄结果调用推理结果接口获取推理框架对应的推理结果。
6、在其中一个实施例中,在所述定义异步获取接口之前,还包括:
7、推理框架通过计算并设置指针在临时输入缓存的偏移量;
8、将指针指向的主机端的数据拷贝到设备端;
9、在设备端完成计算后通过计算指针在输出临时输出缓存的偏移量;
10、将设备端完成计算后数据拷贝到临时输出缓存的对应位置。
11、在其中一个实施例中,统计众核芯片的核心个数;
12、推理框架开辟等同核心个数的临时输入缓冲和临时输出缓冲,所述临时输入缓冲和临时输出缓冲开辟在所述众核的内存上;
13、基于用户的推理请求设置对应的身份信息;
14、所述临时输入缓冲和临时输出缓冲对输入输出的数据对应的身份信息进行记录。
15、在其中一个实施例中,定义异步获取接口包括:
16、将众核核心对应的临时输入缓存输入的身份信息与输出的身份信息进行比对;
17、若众核核心对应的临时输入缓存输入的身份信息与输出的身份信息相同,则将主机端的数据拷贝到设备端。
18、在其中一个实施例中,定义推理结果接口包括:
19、将众核核心对应的临时输出缓存输入的身份信息与输出的身份信息进行比对;
20、若众核核心对应的临时输出缓存输入的身份信息与输出的身份信息相同,则将设备端的数据拷贝到主机端。
21、在其中一个实施例中,判断临时输入缓存输入数据的身份信息是否大于输出数据的身份信息;
22、若临时输入缓存输入数据的身份信息大于输出数据的身份信息,则将输入数据从临时输入缓冲拷贝并储存至临时输出缓存中;
23、更新临时输入缓存输出的数据对应的身份信息;
24、设备端读取临时输出缓存中的数据进行推理计算并输出推理结果;
25、更新完成计算的数据对应的身份信息;
26、若临时输出缓存输出数据的身份信息与输入数据的身份信息相同,则将推理结果拷贝至临时输出缓存中。
27、第二方面,本申请还提供了一种异构众核架构下进行异步深度学习推理装置。装置包括:
28、用户接口定义模块,用于定义异步获取接口和推理结果接口;
29、获取接口计算模块,用于调用异步获取接口将主机端的数据发送至预设的推理框架并获取对应的句柄结果;
30、推理结果获取模块,用于基于所述句柄结果调用推理结果接口获取推理框架对应的推理结果。
31、第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
32、定义异步获取接口和推理结果接口;
33、调用异步获取接口将主机端的数据发送至预设的推理框架并获取对应的句柄结果;
34、基于所述句柄结果调用推理结果接口获取推理框架对应的推理结果。
35、第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
36、定义异步获取接口和推理结果接口;
37、调用异步获取接口将主机端的数据发送至预设的推理框架并获取对应的句柄结果;
38、基于所述句柄结果调用推理结果接口获取推理框架对应的推理结果。
39、第五方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
40、定义异步获取接口和推理结果接口;
41、调用异步获取接口将主机端的数据发送至预设的推理框架并获取对应的句柄结果;
42、基于所述句柄结果调用推理结果接口获取推理框架对应的推理结果。
43、上述异构众核架构下进行异步深度学习推理方法、装置、计算机设备、存储介质和计算机程序产品,定义异步获取接口和推理结果接口;调用异步获取接口将主机端的数据发送至预设的推理框架并获取对应的句柄结果;基于所述句柄结果调用推理结果接口获取推理框架对应的推理结果。本申请采用上述方法,通过提出一套用户接口,可以让用户方便地在异构众核上进行异步深度学习推理,并提出一种实现方式,能够高效实现将数据从host端的内存拷贝到device端的内存上,异构设备上进行计算,设备进行推理计算,再将结果拷贝回host端的内存的异步进行,同时,能够在用户无感,性能无损的情况下将数据切分到众核架构的各个核上。
技术特征:1.一种异构众核架构下进行异步深度学习推理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述定义异步获取接口之前,还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述定义异步获取接口包括:
5.根据权利要求4所述的方法,其特征在于,所述定义推理结果接口包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.一种异构众核架构下进行异步深度学习推理装置,其特征在于,所述设备包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
技术总结本申请涉及一种异构众核架构下进行异步深度学习推理方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:定义异步获取接口和推理结果接口;调用异步获取接口将主机端的数据发送至预设的推理框架并获取对应的句柄结果;基于所述句柄结果调用推理结果接口获取推理框架对应的推理结果。采用本方法通过提出一套用户接口,可以让用户方便地在异构众核上进行异步深度学习推理,并提出一种实现方式,能够高效实现将数据从Host端的内存拷贝到Device端的内存上,异构设备上进行计算,设备进行推理计算,再将结果拷贝回Host端的内存的异步进行,同时,能够在用户无感,性能无损的情况下将数据切分到众核架构的各个核上。技术研发人员:李益林,韦皓诚,蒋大志,王泽霖,李林炜受保护的技术使用者:太初(无锡)电子科技有限公司技术研发日:技术公布日:2024/9/29本文地址:https://www.jishuxx.com/zhuanli/20241009/306167.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。