掌桥专利:专业的专利平台
掌桥专利
首页

软错误检测方法和装置

文献发布时间:2023-06-19 16:06:26



技术领域

本申请涉及计算机技术领域,特别是涉及一种软错误检测方法和装置。

背景技术

近年来,卷积神经网络因其优越的性能而广泛部署在物联网智能终端、自动驾驶等应用系统中。依靠大量的训练数据,网络算法可应用于图像分类与检测、人机博弈以及自然语言处理等诸多技术领域。通常情况下,卷积神经网络由卷积层、池化层和全连接层构成,其大部分的计算发生在卷积层。每个卷积层由许多滤波器组成,滤波器用于捕捉各种特征。池化层用于将特征图分割成几个部分,并通过特定的规则如最大池化和平均池化处理之后,只保留分割的这些部分中的一个代表值,以减少特征图的大小。全连接层利用从前一个卷积层所提取到的特征进行分类或检测。在这样的背景下,卷积神经网络结构越来越复杂,且深度不断增加,网络计算量也随之而增大,导致通用硬件平台的计算效率较低或功耗较大等。

为了解决该技术弊端,采用专用硬件来加速卷积神经网络的计算。其中,脉动阵列设计重复使用输入数据来加速卷积神经网络中主要的乘法和累加操作,表现了高效的性能和优越的可扩展性,得到了学术界和工业界的广泛关注。脉动阵列由一组高度并行的处理元件(Processing Element,PE)组成,工作原理如图1所示,每个处理元件执行乘法和累加操作,并与各自邻居在两个维度上紧密相连。在技术设计中,包含256×256个处理元件的权重固定式脉动阵列是基线架构,如谷歌的张量处理单元。在权重固定式数据流中,滤波器的每个权重将沿着一列预先分配给一个处理元件。输入将数组从左边流向右边的处理元件,用于将输入数据在滤波器之间重复使用。同时,每个处理元件产生一个部分和,并将其传播至下面的邻居进行累加。

随着半导体尺寸规模的缩小和芯片集成密度的增加,拥有数万个处理元件的脉动阵列越来越容易受到高能中子或阿尔法粒子的打击,存储的0和1会发生跳变,例如001变为000,这将导致执行过程中的瞬时比特翻转,称为软错误。虽然卷积神经网络本身具有一定容错性,但是有时发生在关键故障点的错误仍然可能导致灾难性的故障,如图2所展示的软错误发生时造成的重大影响。此外,由于系统阵列中频繁的数据重用,单个PE中的错误将随着数据流传播,可能导致卷积神经网络的精度急剧下降。因此,当卷积神经网络加速器在追求更高的性能和能源效率的同时,也必须考虑在软错误存在的情况下的可靠执行。

卷积神经网络的执行程序包括训练和推理两个步骤,训练阶段通常在高性能平台上进行,其中反向传播过程一般会压制错误。相反,推理阶段将被多次执行,并可能被部署在不可靠的平台上,如能源有限的嵌入式系统。因此,这项技术于卷积神经网络推理阶段的抗错性。此外,由于卷积层和全连接层在脉动阵列上被加速了,通常只关注卷积层和全连接层的权重错误。由软错误引起的数据扰动可能会导致网络的错误分类。由于各个推理过程的输入不同,在每个类别中选择10个输入来捕捉卷积神经网络的一般错误恢复能力。脉动阵列中卷积神经网络的推理过程为:当卷积神经网络中的推理过程是分层进行的,在计算进行到卷积层或者全连接层阶段,脉动阵列接管计算过程,该层的滤波器的权重参数被展开,并按计算顺序平铺在脉动阵列的处理元件中。其中一个滤波器占据脉动阵列的单独一列,如果一轮脉动阵列计算无法完成该层全部计算操作,那么脉动阵列会进行水平和竖直空间上的展开轮次计算,最终输出该层的计算结果用于下层计算。因此,脉动阵列每轮计算只能用于同一层,不能跨层使用。

相关技术为了检测脉动阵列在此推理过程中出现的软错误,通常采用双模冗余方法,具体过程为:在脉动阵列上计算的全连接层和卷积层,每一层均在脉动阵列中执行两次,最终将相同计算的两轮脉动阵列输出结果进行对比,如果计算结果相同,则可认为无错误发生,此时认为两轮脉动计算不可能出现发生在相同位置的软错误。若计算结果不同,则认为软错误发生,此时软错误被检测出来,需要进行其他后续处理过程。由此可见,双模冗余方法需要对卷积神经网络中的计算关键层如卷积层和全连接层进行重复计算,这就成倍增加了推理计算时间,不适合一些时间关键应用。此外,卷积神经网络本身在推理计算阶段进行前,整体结构是固定的。按照其在脉动阵列上的计算模式,当小规模的卷积层被部署到加速器上时,即滤波器的数量小于脉动阵列的宽度,一些整列的PE被闲置。此外,当具体的滤波层的规模不能被脉动阵列的宽度平均分配时,卷积层的多个滤波器由于其功能倾向,在出现错误时也会表现出弹性差异,据统计,同一卷积层中只有少数的滤波器表现为错误敏感,并最终影响卷积神经网络计算结果。因此双模冗余方法在功效上表现得差强人意。

鉴于此,如何在保证错误检测能力的基础上,降低能量开销,是所属领域技术人员需要解决的计算问题。

发明内容

本申请提供了一种软错误检测方法和装置,在保证错误检测能力的基础上,可以显著降低能量开销。

为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种软错误检测方法,包括:

根据脉动阵列的参数和目标卷积神经网络的目标层的滤波器总数,确定所述目标层的冗余因子;

根据所述目标卷积神经网络的滤波器之间的弹性差异信息和各冗余因子,确定每一层网络中用于冗余执行的脆弱滤波器;

在所述目标卷积神经网络的权重加载过程中,将各脆弱滤波器重复加载至所述脉冲阵列中;

将所述脉冲阵列的当前周期的输出信息发送至缓存区进行数值验证,并对所述脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测。

可选的,所述根据所述目标卷积神经网络的滤波器之间的弹性差异信息和各冗余因子之前,还包括:

基于梯度分析方法,确定目标卷积神经网络的滤波器之间的弹性差异信息。

可选的,所述将各脆弱滤波器重复加载至所述脉冲阵列,包括:

对每个脆弱滤波器,将当前脆弱滤波器的重复滤波器分配至所述当前脆弱滤波器旁,以使所述重复滤波器和所述当前脆弱滤波器在相邻周期内被处理。

可选的,所述对所述脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测之后,还包括:

若检测到错误,则输出重新启动所述脉动阵列的整轮计算指令;

若没有检测到错误,则将所述脉冲阵列的当前周期的输出信息写入至输入缓存区。

可选的,所述若检测到错误,则输出重新启动所述脉动阵列的整轮计算指令之后,还包括:

对执行所述指令之后的所述脉冲阵列,将所述脉冲阵列的新输出信息再次进行数值验证,并将所述脉冲阵列的下一个周期的重复滤波器的新输出信息发送至所述比较器进行错误检测;

若检测到错误,将所述脉冲阵列的下一个周期的重复滤波器的新输出信息发送至所述输入缓存区,并发送维持正常运行状态的指令。

可选的,所述对所述脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测,包括:

判断当前层的滤波器的总数是否大于所述脉冲阵列的列宽;

若所述当前层的滤波器的总数大于所述脉冲阵列的列宽,且存在一个脆弱滤波器恰好被分配至所述脉冲阵列的最后一列,则对所述脉冲阵列的下下个周期的重复滤波器的输出信息进行错误检测;

若所述当前层的滤波器的总数小于等于所述脉冲阵列的列宽,和/或不存在一个脆弱滤波器恰好被分配至所述脉冲阵列的最后一列,则对所述脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测。

可选的,所述根据所述目标卷积神经网络的滤波器之间的弹性差异信息和各冗余因子,确定每一层网络中用于冗余执行的脆弱滤波器,包括:

若当前层网络的滤波器刚好完全填充所述脉冲阵列,则触发生成一个冗余轮次的指令,以获取所述脉冲阵列的空闲列;

对于每一层网络,若当前层的冗余因子大于预设冗余阈值,则所述当前层的所有滤波器均为脆弱滤波器;

若当前层的冗余因子小于等于所述预设冗余阈值,则根据所述弹性差异信息,从所述当前层的所有滤波器中选择目标个数的滤波器作为脆弱滤波器;所述目标个数与所述脉冲阵列的空闲列数量相同;

将各脆弱滤波器映射至所述脉冲阵列的闲置处理元件上。

本发明实施例另一方面提供了一种软错误检测装置,包括:

网络部署模块,用于根据脉动阵列的参数和目标卷积神经网络的目标层的滤波器总数,确定所述目标层的冗余因子;根据所述目标卷积神经网络的滤波器之间的弹性差异信息和各冗余因子,确定每一层网络中用于冗余执行的脆弱滤波器;在所述目标卷积神经网络的权重加载过程中,将各脆弱滤波器重复加载至所述脉冲阵列中;

软错误检测模块,用于将所述脉冲阵列的当前周期的输出信息发送至缓存区进行数值验证,并对所述脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测。

可选的,所述网络部署模块还用于:基于梯度分析方法,确定目标卷积神经网络的滤波器之间的弹性差异信息。

可选的,所述网络部署模块进一步用于:对每个脆弱滤波器,将当前脆弱滤波器的重复滤波器分配至所述当前脆弱滤波器旁,以使所述重复滤波器和所述当前脆弱滤波器在相邻周期内被处理。

本申请提供的技术方案的优点在于,采用滤波器粒度之间的弹性差异信息结合在脉动阵列中循环再利用列空闲处理元件列,用于脆弱滤波器软的错误检测,替代了低效的错误注入过程所实现模拟软错误在硬件的实际发生,与传统的双模冗余(即DMR)和其优化后的再循环双模块冗余(即R-DMR)相比,可在保证错误检测能力的基础上,显著降低能量开销,并能准确地检测到卷积神经网络中的大部分软错误。

此外,本发明实施例还针对软错误检测方法提供了相应的实现装置,进一步使得所述方法更具有实用性,所述装置具有相应的优点。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的脉动系列的工作原理示意图;

图2为本发明实施例提供的一个示意性例子中软错误导致的影响示意图;

图3为本发明实施例提供的一种软错误检测方法的流程示意图;

图4为本发明实施例提供的软错误检测装置的一种具体实施方式结构图;

图5为本发明实施例提供的电子设备的一种具体实施方式结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图3,图3为本发明实施例提供的一种软错误检测方法的流程示意图,卷积神经网络的计算通常分为训练和推理两个过程,而其计算所需的参数在训练过程完成后便不再改变,此时会根据应用场景的不同,将卷积神经网络部署到智能计算设备上进行离线计算。本申请的技术方案是应用于完成训练后和部署计算前这段时间,也即是针对训练好的卷积神经网络的,本发明实施例可包括以下内容:

S301:根据脉动阵列的参数和目标卷积神经网络的目标层的滤波器总数,确定目标层的冗余因子。

在本实施例中,目标卷积神经网络为任何一种已训练完成且需要进行部署至智能计算设备的网络模型。由于卷积神经网络会分层进入脉动阵列中,对于卷积神经网络的每一层,需要基于脉动阵列的参数例如可为脉冲阵列的列宽,和目标卷积神经网络的各层所包含的滤波器总数来确定各层的冗余因子,冗余因子作为进行冗余滤波器的策略选择标准。

S302:根据目标卷积神经网络的滤波器之间的弹性差异信息和各冗余因子,确定每一层网络中用于冗余执行的脆弱滤波器。

在执行本步骤之前,需要先确定目标卷积神经网络之间的弹性差异信息,为了获得卷积神经网络的滤波器粒度的弹性差异,典型的方法是对每个滤波器进行充分的错误注入试验。然而,由于现代卷积神经网络中的滤波器数量巨大,这种方法会引入大量的时间或能源开销。基于此,本实施例可梯度分析来代替错误注入,用于评估卷积神经网络软错误弹性差异。在模型测试过程中,可利用反向传播来获得权重的梯度,并将其作为后续冗余滤波器的选择标准。也即可基于梯度分析方法确定目标卷积神经网络的滤波器之间的弹性差异信息。对于训练后的卷积神经网络模型,滤波器级梯度分析被用来进行滤波器的敏感性估计。当然,所属领域技术人员也可根据实际需求灵活选择其他方式,如可采用显著度分析方法、收益分析方法,平均L2范式分析方法等计算卷积神经网络滤波器级容错弹性差异。

S303:在目标卷积神经网络的权重加载过程中,将各脆弱滤波器重复加载至脉冲阵列中。

在上个步骤中,脆弱滤波器是指从每层所有滤波器中选择出来的可重复使用的滤波器,或者是说,可以重复加载至脉冲阵列进行计算的滤波器。为了区别,可称这类滤波器为脆弱滤波器也即亮列。不同层的脆弱滤波器的数量不同,且对于每个脆弱滤波器,将脆弱滤波器作为原始滤波器,重复使用的脆弱滤波器可称为重复滤波器也即阴影列。为了提高错误检测效率,对每个脆弱滤波器,将当前脆弱滤波器的重复滤波器分配至当前脆弱滤波器旁,以使重复滤波器和当前脆弱滤波器在相邻周期内被处理。也即可将重复的滤波器(即阴影列)分配到原始滤波器旁边,这样它们将在相邻的周期内被处理,相应的,输出结果可以在相邻的周期内获得,从而有更高的错误检测效率。

在本实施例中,将各脆弱滤波器重复加载至脉冲阵列,可在脉动阵列中回收列空闲处理元件列,基于每个网络层如卷积层内滤波器的错误敏感性,通过循环再利用脉动阵列中空闲的处理元件列,最脆弱的部分滤波器被重复分配到收缩阵列中,以进行软错误检测。

S304:将脉冲阵列的当前周期的输出信息发送至缓存区进行数值验证,并对脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测。

本实施例在进行错误检测时,可先将脉冲阵列的输出发送到缓冲区进行数据值验证。在下一个周期,重复的滤波器的输出将到达比较器进行错误检测。若检测到错误,则输出重新启动脉动阵列的整轮计算指令;若没有检测到错误,则将脉冲阵列的当前周期的输出信息写入至输入缓存区。也就是说,如果检测到错误,整轮执行将被重新启动以确保模型执行的正确性。否则,经过验证的数据将被写回输入缓冲区。考虑到脉动阵列中的一些错误会被激活函数和池化层所掩盖,可将执行错误检测的功能单元置于执行轮询任务的轮询单元之后,从而提高整体工作效率。进一步的,由于软错误的性质,在同一个滤波器的两次执行中出现错误的概率极低。此外,本申请还可采用门控方法来确保引入的硬件组件如解复用器、比较器和比较缓冲器的数据正确性。由于这些硬件组件的尺寸与高密度脉动阵列相比可以忽略不计,所以引入的面积/能量开销是微不足道的。

在本发明实施例提供的技术方案中,采用滤波器粒度之间的弹性差异信息结合在脉动阵列中循环再利用列空闲处理元件列,用于脆弱滤波器软的错误检测,替代了低效的错误注入过程所实现模拟软错误在硬件的实际发生,与传统的双模冗余(即DMR)和其优化后的再循环双模块冗余(即R-DMR)相比,可在保证错误检测能力的基础上,显著降低能量开销,并能准确地检测到卷积神经网络中的大部分软错误。

需要说明的是,本申请中各步骤间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图3只是一种示意方式,并不代表只能是这样的执行顺序。

可以理解的是,对于检测到软错误之后,脉冲阵列会重新启动并执行整轮计算,对执行指令之后的脉冲阵列,可将脉冲阵列的新输出信息再次进行数值验证,并将脉冲阵列的下一个周期的重复滤波器的新输出信息发送至比较器进行错误检测;若检测到错误,将脉冲阵列的下一个周期的重复滤波器的新输出信息发送至输入缓存区,并发送维持正常运行状态的指令。

在本实施例中,脉冲阵列在接收到重新启动并执行整轮计算指令之后,为了清楚无疑义表述,区别上述实施例的输出信息,对于执行指令对应的整轮计算的输出,可称为新输出信息。也即如果检测到错误,会首先重新启动下一轮,并再次执行验证。如果仍然检测到错误,意味着原始结果是不正确的。这时会将重复滤波器的输出发送到输入缓冲区,并保持程序运行。

可以理解的是,当滤波器数量大于脉动阵列的列宽时,可能存在一种特殊情况,也即其中一个脆弱的滤波器恰好被分配到阵列的最后一列即最右边。对于这种情况,重复的滤波器将在下一轮执行。基于此,上述步骤对脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测的一种可选的实施方式可为:

判断当前层的滤波器的总数是否大于脉冲阵列的列宽;

若当前层的滤波器的总数大于脉冲阵列的列宽,且存在一个脆弱滤波器恰好被分配至脉冲阵列的最后一列,则对脉冲阵列的下下个周期也即下个周期的下个周期的重复滤波器的输出信息进行错误检测;

若当前层的滤波器的总数小于等于脉冲阵列的列宽,和/或不存在一个脆弱滤波器恰好被分配至脉冲阵列的最后一列,则对脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测。

在上述实施例中,对于如何执行步骤S102并不做限定,本实施例中给出脆弱滤波器的一种可选的识别方式,可包括如下步骤:

若当前层网络的滤波器刚好完全填充脉冲阵列,也即当前层的脉冲阵列没有空闲机会,则触发生成一个冗余轮次的指令,通过该冗余轮次来获取脉冲阵列的空闲列或者是说回收空闲列,以提高软错误检测的可靠性。

对于每一层网络,若当前层的冗余因子大于预设冗余阈值,则当前层的所有滤波器均为脆弱滤波器;若当前层的冗余因子小于等于预设冗余阈值,则根据弹性差异信息,从当前层的所有滤波器中选择目标个数的滤波器作为脆弱滤波器;目标个数与脉冲阵列的空闲列数量相同;将各脆弱滤波器映射至脉冲阵列的闲置处理元件上。

在本实施例中,冗余因子可通过列空闲率这一参数来表征,列空闲率可以通过脉动阵列的列宽(width)和一层中的滤波器数量(fnum)轻松计算出来。在计算中,[fnum/width]是脉动阵列中特定卷积层的脉动阵列满载执行轮数,也即代表空闲列的数量,因此,列空闲率=(width-(fnum%width))/fnum。滤波器将在两种情况下被重复:第一种情况,当列空闲率大于预设冗余阈值如0.5时,意味着将有足够的空闲列用于该层滤波器的完全冗余,这种情况通常发生在卷积神经网络的前几层。第二种情况,也就是不满足第一种情况时,部分冗余将被触发。基于滤波器间的弹性差异,可选择前k个敏感滤波器进行复制,其中k是空闲列的数量。由于网络的规模、滤波器的梯度和脉动阵列的大小都是固定的,上述脆弱的滤波器识别或者选择阶段很容易在离线情况下实现。为了提高可靠性。在一些中间层的处理过程中,滤波器可能会刚好完全填充脉动阵列(也即fnum%width=0),这表明没有机会回收空闲列的PE进行错误检测。为了追求更高的可靠性,可触发一个冗余的轮次。在这种情况下,通过牺牲一点执行时间来获得k(k=width)空闲列。将通过上述分析方法来选择用于冗余执行的前k个脆弱滤波器。考虑到卷积神经网络中滤波器的错误敏感性,有机会将脆弱滤波器映射到脉动阵列的闲置PE上,以提高软错误的可靠性,这在可靠性和成本之间实现了更好的权衡。此外,整个方法不影响基线脉动阵列的工作流程,因此它不会引入太多的性能下降。

本发明实施例还针对软错误检测方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的软错误检测装置进行介绍,下文描述的软错误检测装置与上文描述的软错误检测方法可相互对应参照。

基于功能模块的角度,参见图4,图4为本发明实施例提供的软错误检测装置在一种具体实施方式下的结构图,该装置可包括:

网络部署模块401,用于根据脉动阵列的参数和目标卷积神经网络的目标层的滤波器总数,确定目标层的冗余因子;根据目标卷积神经网络的滤波器之间的弹性差异信息和各冗余因子,确定每一层网络中用于冗余执行的脆弱滤波器;在目标卷积神经网络的权重加载过程中,将各脆弱滤波器重复加载至脉冲阵列中。

软错误检测模块402,用于将脉冲阵列的当前周期的输出信息发送至缓存区进行数值验证,并对脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测。

可选的,在本实施例的一些实施方式中,上述网络部署模块401可用于:基于梯度分析方法,确定目标卷积神经网络的滤波器之间的弹性差异信息。

作为本实施例的一种可选的实施方式,上述网络部署模块401还可用于:对每个脆弱滤波器,将当前脆弱滤波器的重复滤波器分配至当前脆弱滤波器旁,以使重复滤波器和当前脆弱滤波器在相邻周期内被处理。

作为本实施例的另一种可选的实施方式,上述网络部署模块401还可进一步用于:若当前层网络的滤波器刚好完全填充脉冲阵列,则触发生成一个冗余轮次的指令,以获取脉冲阵列的空闲列;对于每一层网络,若当前层的冗余因子大于预设冗余阈值,则当前层的所有滤波器均为脆弱滤波器;若当前层的冗余因子小于等于预设冗余阈值,则根据弹性差异信息,从当前层的所有滤波器中选择目标个数的滤波器作为脆弱滤波器;目标个数与脉冲阵列的空闲列数量相同;将各脆弱滤波器映射至脉冲阵列的闲置处理元件上。

可选的,在本实施例的另一些实施方式中,上述软错误检测模块402可用于:若检测到错误,则输出重新启动脉动阵列的整轮计算指令;若没有检测到错误,则将脉冲阵列的当前周期的输出信息写入至输入缓存区。

作为上述实施例的一种可选的实施方式,上述软错误检测模块402还可用于:对执行指令之后的脉冲阵列,将脉冲阵列的新输出信息再次进行数值验证,并将脉冲阵列的下一个周期的重复滤波器的新输出信息发送至比较器进行错误检测;若检测到错误,将脉冲阵列的下一个周期的重复滤波器的新输出信息发送至输入缓存区,并发送维持正常运行状态的指令。

作为上述实施例的另一种可选的实施方式,上述软错误检测模块402还可进一步用于:判断当前层的滤波器的总数是否大于脉冲阵列的列宽;若当前层的滤波器的总数大于脉冲阵列的列宽,且存在一个脆弱滤波器恰好被分配至脉冲阵列的最后一列,则对脉冲阵列的下下个周期的重复滤波器的输出信息进行错误检测;若当前层的滤波器的总数小于等于脉冲阵列的列宽,和/或不存在一个脆弱滤波器恰好被分配至脉冲阵列的最后一列,则对脉冲阵列的下一个周期的重复滤波器的输出信息进行错误检测。

本发明实施例所述软错误检测装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例在保证错误检测能力的基础上,可以显著降低能量开销。

上文中提到的软错误检测装置是从功能模块的角度描述,进一步的,本申请还提供一种电子设备,是从硬件角度描述。图5为本申请实施例提供的电子设备在一种实施方式下的结构示意图。如图5所示,该电子设备包括存储器50,用于存储计算机程序;处理器51,用于执行计算机程序时实现如上述任一实施例提到的软错误检测方法的步骤。

其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器51还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器51可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器51也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器51可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器50在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器50在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器50还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器50不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行漏洞处理方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的软错误检测方法的相关步骤。另外,存储器50所存储的资源还可以包括操作系统502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作系统502可以包括Windows、Unix、Linux等。数据503可以包括但不限于软错误检测结果对应的数据等。

在一些实施例中,上述电子设备还可包括有显示屏52、输入输出接口53、通信接口54或者称为网络接口、电源55以及通信总线56。其中,显示屏52、输入输出接口53比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口54可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线56可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

本领域技术人员可以理解,图5中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器57。

本发明实施例所述电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例在保证错误检测能力的基础上,可以显著降低能量开销。

可以理解的是,如果上述实施例中的软错误检测方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。

基于此,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时如上任意一实施例所述软错误检测方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本申请所提供的一种软错误检测方法和装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

相关技术
  • 软错误检查方法、软错误检查装置以及软错误检查系统
  • 软错误检查方法、软错误检查装置以及软错误检查系统
技术分类

06120114702782