AI加速卡计算误差自动分析方法、系统、装置及设备与流程
- 国知局
- 2024-08-05 11:58:40
本技术属于集成电路,具体涉及一种ai加速卡计算误差自动分析方法、系统、装置及设备。
背景技术:
1、相关技术中,为了排查ai(人工智能,artificial intelligence)加速卡计算过程中出现数值计算结果不准确的问题,通常使用的方法为:首先,使用一个能够得到正确运行结果的硬件和软件环境进行运算。然后,以此为参照,将其与正在开发中的ai加速卡逐级比较计算过程中的计算结果,排除故障。例如,会选取一个已知的ai加速卡及其对应的软件环境,运行计算任务,获取该ai加速卡的计算结果。然后,使用正在开发中的ai加速卡及其对应的软件环境,运行相同的计算任务,获得另一个计算结果,将两个计算结果进行比较,获取误差。
2、上述计算数值错误的排查过程中,依赖工程师修改源代码,或者手动抓取计算结果做误差分析比较,这导致故障的分析过程效率低,难以准确定位问题,也易出错。
3、例如,数据的抓取,需要根据业务流程改变数值计算程序代码,在合适的位置进行手动抓取或者增加数据输出代码,以抓取到数据,该种方法中需要对业务流程进行分析,以清楚需要抓取数据的位置。如果改动业务程序源代码输出数据,会对源代码有侵入性。此外,对抓取到的数据进行分析需要写专门的程序。
技术实现思路
1、鉴于此,本技术的目的在于提供一种ai加速卡计算误差自动分析方法、系统、装置及设备,以减少误差获取的成本,加快获取速度。
2、第一方面,本技术实施例提供了一种ai加速卡计算误差自动分析方法,所述方法包括:获取第一数据流及第二数据流,所述第一数据流为第一ai加速卡中第一主机和第一设备执行计算任务时二者之间的数据流,所述第二数据流为第二ai加速卡中第二主机和第二设备执行所述计算任务时二者之间的数据流;比较所述第一数据流和第二数据流中属于相同子任务的数据,得到误差。
3、本技术实施例的误差自动分析方法,识别主机和设备执行计算任务时二者之间传输的数据,从传输数据中获取同一计算结果进行比较,获得不同ai加速卡的计算误差,无需改动计算任务的执行程序,也无需针对计算任务进行过程分析,能够快速,简便地获取误差。
4、在本技术一个可选实施例中,所述获取第一数据流,包括:检测传输函数的调用,所述传输函数用于在所述第一主机与所述第一设备之间传输数据;在检测到所述传输函数被调用时,拦截传输给所述传输函数的参数;依据所述参数抓取所述第一主机与所述第一设备之间传递的数据,得到所述第一数据流。
5、上述实施例中,检测传输函数的调用情况,可以在不改动计算程序的情况下,获取主机和设备之间的传输数据。
6、在本技术一个可选实施例中,在所述传输函数为同步传输函数时,所述依据所述参数抓取所述第一主机与所述第一设备之间传递的数据,包括:获取所述第一主机与所述第一设备之间的数据传输阶段;若所述数据传输阶段为所述第一主机向所述第一设备传输数据的阶段,则依据所述参数确定起始地址和内存大小,并依据所述起始地址和内存大小在所述第一主机的内存中获取第一内存数据;若所述数据传输阶段为所述第一设备向所述第一主机传输数据的阶段,则调用所述传输函数将所述第一设备向所述第一主机传输的数据存储到所述第一主机的内存;依据所述参数确定起始地址和内存大小,并依据所述起始地址和内存大小在所述第一主机的内存中获取第二内存数据;其中,所述第一数据流包括:第一内存数据和/或所述第二内存数据。
7、上述实施例中,通过传输函数获取主机和设备之间的传输数据,从而获取h2d、计算核及d2h序列的数据,通过序列数据可以获得指定位置的输入和输出数据。
8、在本技术一个可选实施例中,在所述传输函数为异步传输函数时,所述依据所述参数抓取所述第一主机与所述第一设备之间传递的数据,包括:获取所述第一主机与所述第一设备之间的数据传输阶段;若数据传输阶段为所述第一主机向所述第一设备传输数据的阶段,则依据所述参数确定起始地址和内存大小;依据所述起始地址和内存大小在所述第一主机的内存中获取内存数据;若数据传输阶段为所述第一设备向所述第一主机传输数据的阶段,则调用所述传输函数将所述第一设备向所述第一主机传输的数据存储到所述第一主机的内存;等待所述第一主机当前执行的操作流中所有操作执行完后,依据所述参数确定起始地址和内存大小,依据所述起始地址和内存大小在所述第一主机的内存中获取内存数据。
9、上述实施例中,通过传输函数获取主机和设备之间的传输数据,从而获取h2d、计算核及d2h序列的数据,通过序列数据可以获得指定位置的输入和输出数据。
10、在本技术一个可选实施例中,所述依据所述参数抓取所述第一主机与所述第一设备之间传递的数据,包括:依据所述参数确定所述第一主机与所述第一设备之间数据传递的属性信息,所述属性信息包括:数据传输的阶段和/或数据属性;判断所述属性信息是否满足数据抓取条件;若所述属性信息满足数据抓取条件,则依据所述参数抓取所述第一主机与所述第二设备之间传递的数据。
11、上述实施例中,设置数据抓取条件,能够针对性的进行数据抓取,从而能够快速、准确地进行数据比较。
12、在本技术一个可选实施例中,所述数据抓取条件,包括以下至少一者:数据传输的阶段为所述第一设备向所述第一主机传输数据的阶段、数据传输的阶段为所述第一主机向所述第一设备传输数据的阶段、数据属性为指定序号、数据属性为指定数据类型。
13、第二方面,本技术实施例提供了一种ai加速卡计算误差自动分析系统,所述ai加速卡计算误差自动分析系统包括:分析设备、第一ai加速卡及第二ai加速卡;所述第一ai加速卡包括第一主机和第一设备,所述第一ai加速卡用于执行计算任务;所述第二ai加速卡包括第二主机和第二设备,所述第二ai加速卡用于执行计算任务;所述分析设备用于获取第一数据流及第二数据流,所述第一数据流为所述第一ai加速卡中第一主机和第一设备执行计算任务时二者之间的数据流,所述第二数据流为所述第二ai加速卡中第二主机和第二设备执行所述计算任务时二者之间的数据流;比较所述第一数据流和第二数据流中属于相同子任务的数据,得到误差。
14、第三方面,本技术实施例提供了一种ai加速卡计算误差自动分析装置,所述ai加速卡计算误差自动分析装置包括:获取模块,用于获取第一数据流及第二数据流,所述第一数据流为第一ai加速卡中第一主机和第一设备执行计算任务时二者之间的数据流,所述第二数据流为第二ai加速卡中第二主机和第二设备执行所述计算任务时二者之间的数据流;比较模块,用于比较所述第一数据流和第二数据流中属于相同子任务的数据,得到误差。
15、第四方面,本技术实施例提供了一种电子设备,所述电子设备包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行第一方面中任一项所述的方法。
16、第五方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行第一方面中任一项所述的方法。
17、本技术的其他特征和优点将在随后的说明书阐述。本技术的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
本文地址:https://www.jishuxx.com/zhuanli/20240802/260415.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表