CN109582512B - 用于测试并行计算装置的部件的方法和系统 - Google Patents

用于测试并行计算装置的部件的方法和系统 Download PDF

Info

Publication number
CN109582512B
CN109582512B CN201811088528.3A CN201811088528A CN109582512B CN 109582512 B CN109582512 B CN 109582512B CN 201811088528 A CN201811088528 A CN 201811088528A CN 109582512 B CN109582512 B CN 109582512B
Authority
CN
China
Prior art keywords
result
computer device
test
test operation
selecting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811088528.3A
Other languages
English (en)
Other versions
CN109582512A (zh
Inventor
S·王
G·M·班威特
S·纳克拉
S·M·博纳
J·G·丹布罗修
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN109582512A publication Critical patent/CN109582512A/zh
Application granted granted Critical
Publication of CN109582512B publication Critical patent/CN109582512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2247Verification or detection of system hardware configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)

Abstract

提供了用于测试车辆的第一计算机装置的系统和方法。一种方法包括选择第一计算机装置的操作部件并且选择被配置为利用操作部件的整个能力的测试操作。该方法进一步包括指示第一计算机装置执行测试操作并生成第一结果。该方法又进一步包括检索测试操作的第二结果,并且将来自第一计算机装置的测试操作的第一结果与第二结果进行比较。该方法又进一步包括至少部分地基于第一结果与第二结果之间的差异来指示第一计算机装置有故障。

Description

用于测试并行计算装置的部件的方法和系统
技术领域
本公开总体上涉及测试计算机装置的操作部件,并且更具体地涉及用于指示计算机装置执行测试操作以及当结果不如预期时指示故障的系统和方法。
背景技术
自主车辆是能够感测其环境并且以很少或不需要用户输入进行导航的车辆。自主车辆使用诸如雷达、激光雷达、图像传感器等感测装置来感测其环境。自主车辆系统进一步使用来自全球定位系统(GPS)技术、导航系统、车对车通信、车对基础设施技术和/或线控驱动系统的信息来对车辆进行导航。
分析来自传感器装置的数据需要相当大的计算能力。为了满足车辆自动化的计算需求,并行处理装置在车辆硬件中变得越来越普遍。例如,利用图形处理单元(GPU)来利用增加对某些操作的计算能力。虽然这些并行处理装置可以提供增加的计算能力,但是它们通常不具有测试其自身的功能正确性的强大能力。
一些复杂的装置具有内置自测(BIST)能力。在启动时在装置本身执行BIST以确定装置是否有故障。然而,BIST在启动后在装置操作时无法运行测试,不允许测试单独部件以限制测试对性能的影响,否则在测试装置或装置部件时几乎没有灵活性。另外,并行处理装置通常不具有BIST能力。
因此,希望提供在装置操作时测试装置的单独部件的系统和方法。另外,从以下结合附图和前面的技术领域及背景技术进行的具体实施方式和所附权利要求书中将更清楚地明白本发明的其它期望特征和特性。
发明内容
提供了用于测试车辆的第一计算机装置的操作部件的系统和方法。在一个实施例中,一种方法包括选择第一计算机装置的操作部件并且选择被配置为利用操作部件的整个能力的测试操作。该方法进一步包括指示第一计算机装置执行测试操作并生成第一结果。该方法又进一步包括检索测试操作的第二结果,并且将来自第一计算机装置的测试操作的第一结果与第二结果进行比较。该方法又进一步包括至少部分地基于第一结果与第二结果之间的差异来指示第一计算机装置有故障。
在一个实施例中,一种测试车辆的第一计算机装置的方法包括选择第一计算机装置的操作部件,其中操作部件是存储器部件、寄存器或算术逻辑单元(ALU)中的一个。该方法进一步包括选择被配置为利用操作部件的整个能力的测试操作,其中选择测试操作包括响应于操作部件是存储器部件而选择写操作和读操作作为测试操作。选择测试操作进一步包括响应于操作部件是寄存器而选择位移操作作为测试操作,并且响应于操作部件是ALU而选择向量加法操作、向量乘法操作或逻辑操作中的一个。该方法进一步包括指示第一计算机装置执行测试操作并生成第一结果。该方法又进一步包括指示车辆的第二计算机装置执行测试操作并生成第二结果。该方法进一步包括基于第一计算机装置的功能正确性将来自第一计算机装置的测试操作的第一结果与第二结果进行比较。该方法又进一步包括至少部分地基于第一结果与第二结果之间的差异来指示第一计算机装置有故障。
在一个实施例中,一种用于测试车辆的计算机装置的系统包括至少一个处理器。该至少一个处理器被配置用于选择第一计算机装置的操作部件,选择被配置为利用操作部件的整个能力的测试操作,指示第一计算机装置执行测试操作并生成第一结果,检索测试操作的第二结果,将来自第一计算机装置的测试操作的第一结果与第二结果进行比较,并且至少部分地基于第一结果与第二个结果之间的差异来指示第一计算机装置有故障。
附图说明
下文将结合以下附图描述示例性实施例,其中相同标号表示相同元件,且其中:
图1是说明根据各种实施例的具有控制系统的自主车辆的功能框图;
图2是说明根据各种实施例的自主车辆的控制系统的简化框图;以及
图3是说明根据各种实施例的用于测试图2的计算机装置的部件的控制方法的流程图。
具体实施方式
具体实施方式本质上仅仅是示例性的,而不旨在限制应用和用途。另外,不存在被任何前述的技术领域、背景技术、发明内容或具体实施方式中提出的任何明确的或暗示的理论约束的意图。如本文所使用,术语模块是指
单独地或呈任何组合的任何硬件、软件、固件、电子控制部件、处理逻辑和/或处理器装置,包括但不限于:专用集成电路(ASIC)、电子电路、处理器(共享、专用或成组)以及执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所述功能性的其它合适部件。
本公开的实施例在本文可以依据功能和/或逻辑块部件和各个处理步骤来描述。应当明白的是,这些块部件可以由被配置为执行指定功能的任何数量的硬件、软件和/或固件部件来实施。例如,本公开的实施例可以采用各种集成电路部件(例如,存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其它控制装置的控制下执行多种功能)。另外,本领域技术人员将明白的是,本公开的实施例可以结合任何数量的系统来实践,并且本文所述的系统仅仅是本公开的示例性实施例。
为了简明起见,本文可以不详细描述与信号处理、数据传输、信令、控制以及该系统(和该系统的单个操作部件)的其它功能方面有关的常规技术。另外,本文所包括的各个图式中所示的连接线旨在表示各个元件之间的示例功能关系和/或物理联接。应当注意的是,在本公开的实施例中可以存在许多替代或附加的功能关系或物理连接。
参考图1,根据各种实施例,总体上以100示出的控制系统与车辆10相关联。通常,控制系统100具有架构和运行时服务以在操作期间检查并行计算装置的功能正确性。控制系统100利用由车辆10的计算机装置执行的各种测试案例和测试调用的组合。可以使用不同的配置来实施测试以满足不同并行计算硬件的不同需求。测试在运行时是可重新配置的,并且能够控制对计算机装置的正常计算的干扰。
如图1中所描绘,车辆10通常包括底盘12、车身14、前轮16以及后轮18。车身14被布置在底盘12上并且大致上包围车辆10的部件。车身14和底盘12可以共同形成框架。车轮16到18各自在车身14的相应拐角附近旋转地联接到底盘12。
在各种实施例中,车辆10是自主车辆,并且控制系统100被结合到车辆10中。自主车辆10例如是被自动控制以将乘客从一个位置运送到另一个位置的车辆。在所说明的实施例中,车辆10被描绘为乘用车,但是应当明白的是,也可以使用包括摩托车、卡车、运动型多用途车辆(SUV)、休闲车辆(RV)、船舶、飞行器等任何其它车辆。在示例性实施例中,车辆10是所谓的四级或五级自动化系统。四级系统指示“高度自动化”,其指代自动驾驶系统在动态驾驶任务的所有方面的驾驶模式所特有的性能,即使人类驾驶员对干预请求没有做出适当响应。五级系统指示“全自动化”,其指代自动驾驶系统在可由人类驾驶员管理的所有道路和环境状况下在动态驾驶任务的所有方面的全面性能。
如所示,自主车辆10通常包括推进系统20、变速器系统22、转向系统24、制动系统26、传感器系统28、致动器系统30、至少一个数据存储装置32、至少一个控制器34以及通信系统36。推进系统20在各种实施例中可以包括内燃机、诸如牵引电动机等电机和/或燃料电池推进系统。变速器系统22被配置为根据可选速比将来自推进系统20的动力传输到车轮16到18。根据各种实施例,变速器系统22可以包括分级传动比自动变速器、无级变速器或其它适当的变速器。制动系统26被配置为向车轮16到18提供制动转矩。在各种实施例中,制动系统26可以包括摩擦制动器、线控制动器、诸如电机等再生制动系统,和/或其它适当的制动系统。转向系统24影响车轮16到18的位置。虽然为了说明目的而被描绘为包括方向盘,但是在本公开的范围内预期的一些实施例中,转向系统24可以不包括方向盘。
传感器系统28包括感测车辆10的外部环境和/或内部环境的可观察状况的一个或多个感测装置40a到40n。感测装置40a到40n可以包括但不限于雷达、激光雷达、全球定位系统、光学相机、热像仪、超声波传感器和/或其它传感器。致动器系统30包括一个或多个致动器装置42a到42n,其控制一个或多个车辆特征,诸如但不限于推进系统20、变速器系统22、转向系统24以及制动系统26。在各种实施例中,车辆特征可以进一步包括内部和/或外部车辆特征,诸如但不限于车门、行李箱以及诸如无线电、音乐、照明等驾驶室特征(未编号)。
数据存储装置32存储用于自动控制车辆10的数据。在各种实施例中,数据存储装置32存储可导航环境的定义地图。在各种实施例中,定义地图可以由远程系统预定义并且从远程系统获取(关于图2进一步详细描述)。例如,定义地图可以由远程系统组装并且(以无线方式和/或以有线方式)传送到自主车辆10并存储在数据存储装置32中。如可以明白的是,数据存储装置32可以为控制器34的一部分,与控制器34分开,或作为控制器34的一部分以及单独系统的一部分。
控制器34包括多个计算机装置,它们各自包括至少一个处理器44和计算机可读存储装置或介质46。处理器44可以为任何定制的或商业上可用的处理器或通常用于执行指令的任何装置。计算机可读存储装置或介质46可以包括例如只读存储器(ROM)、随机存取存储器(RAM)和保活存储器(KAM)中的易失性和非易失性存储器。KAM是一种持久或非易失性存储器,其可以在处理器44断电时用于存储各种操作变量。计算机可读存储装置或介质46可以使用诸如PROM(可编程只读存储器)、EPROM(电PROM)、EEPROM(电可擦除PROM)、闪速存储器或能够存储数据的任何其它电动、磁性、光学或组合存储器装置的许多已知存储器中的任何一种来实施,其中的一些数据表示由控制器34用于控制车辆10的可执行指令。
指令可以包括一个或多个单独的程序,每个程序包括用于实施逻辑功能的可执行指令的有序列表。指令在由处理器44执行时接收并处理来自传感器系统28的信号,执行用于自动控制车辆10的部件的逻辑、计算、方法和/或算法,并且向致动器系统30生成控制信号以基于逻辑、计算、方法和/或算法来自动地控制车辆10的部件。虽然图1中仅示出了一个控制器34,但是车辆10的实施例可以包括通过任何合适的通信介质或通信介质的组合进行通信并且协作以处理传感器信号、执行逻辑、计算、方法和/或算法且生成控制信号以自动控制车辆10的特征的任意数量的控制器34。在各种实施例中,控制器34的一个或多个指令被实施在控制系统100中,并且在由处理器44执行时执行下文描述的方法。
通信系统36可以被配置为向和从其它实体48(诸如但不限于其它车辆(“V2V”通信)、基础设施(“V2I”通信)、远程系统和/或个人装置(关于图2更详细地描述)无线地传送信息。在示例性实施例中,通信系统36是被配置为经由使用IEEE 802.11标准的无线局域网(WLAN)或通过使用蜂窝数据通信来进行通信的无线通信系统。然而,诸如专用短程通信(DSRC)信道等附加或替代通信方法也被认为在本公开的范围内。DSRC信道是指专门为汽车使用以及相应的一组协议和标准而设计的单向或双向短程到中程无线通信信道。
现在参考图2并且继续参考1,简化框图说明了控制系统100和控制器34的各种实施例。在所提供的示例中,控制系统100嵌入在控制器34的装置内。根据本公开的控制系统100的各种实施例可以包括控制系统100的任何数量的子模块和控制器34的任何数量的装置。可以明白的是,图2中所示的子模块可以组合和/或进一步划分以类似地控制车辆10。控制系统100的输入可以从控制器34的装置接收,从传感器系统28接收,从与车辆10相关联的其它控制模块(未示出)接收,从通信系统36处的通信网络56接收,以及/或由控制器34内的其它子模块(未示出)确定/建模。
在各种实施例中,控制系统100包括测试控制模块110、测试案例模块112、预配置测试数据库114、预计算测试结果116以及结果比较模块118。控制系统100被配置为通过执行下面描述的方法来测试装置的部件。
控制器34包括任何数量的计算机装置130a-n。如本文定义的计算机装置是包括多个部件(下面定义)并且可由在控制器34上运行的操作系统单独寻址的计算机硬件。在所提供的示例中,该装置包括中央处理单元(CPU)、图形处理单元(GPU)、基于半导体的微处理器(以微芯片或芯片集的形式)、宏处理器以及它们的任何组合。该装置是可单独寻址的,使得在控制器34上执行的操作系统可以选择性地利用或不利用任何特定计算机装置130a-n进行计算。
装置130a-n中的每一个包括操作部件132a-n。如本文定义的,每个操作部件是算术逻辑单元(ALU)、寄存器、存储器部件和高速缓存中的一个。在所提供的示例中,单独部件132a-n不能由在控制器34上执行的操作系统单独寻址。例如,操作系统可以不直接指示第一计算机装置130a(例如,GPU)的第一操作部件132a(例如,存储器部件)进行操作。相反,在所提供的示例中,指示第一计算机装置130a执行利用第一操作部件132a的测试操作。例如,当第一操作部件132a是存储器部件时,可以将数据发送到第一计算机装置130a并从第一计算机装置130a检索数据以测试第一操作部件132a。
测试控制模块110被配置用于选择第一计算机装置的操作部件并且用于指示第一计算机装置执行测试操作并生成第一结果。在所提供的示例中,第一计算机装置130a的第一操作部件132a被选择作为要测试的操作部件。
在一些实施例中,测试控制模块110基于由在控制器34上运行的软件应用程序接收的请求结构来执行任务。请求结构可以由软件应用程序或预定义生成策略来生成。在一个示例中,预定义策略是以下一项:依次定期测试部件,随机定期测试部件,以及测试利用率高于40%的部件。
在一个示例中,请求结构可以具有<type,comp,method,invoc>的形式,其中“type”是测试类型(例如,存储或生成的测试案例),“comp”指示部件或要测试的部件,“方法”指示生成信息(例如,模式选择、大小等),“invoc”指示调用控制(例如,空闲、周期、立即等)。通过指定要测试的部件,可以对测试进行划分以减少对第一计算机装置130a的正常操作的干扰。例如,第一操作部件132a(例如,存储器)可以与第二操作部件132b(例如,寄存器)分开测试以分开测试第二操作部件132b所需的时间。因此,可以比测试第一计算机装置130a的所有部件所需的速度更快地计算第一操作部件132a的结果。通过指定调用,可以使用第一装置130a的空闲循环(“时间裕量”)来执行测试操作,或者可以按需执行测试操作以控制对第一计算机装置130a的正常操作的干扰。应当明白的是,在不脱离本公开的范围的情况下,请求结构可以具有不同的形式。
在一些实施例中,测试控制模块110被配置用于指示车辆的第二计算机装置执行测试操作。例如,当没有预计算测试结果可用于来自预计算测试结果116的测试操作时,测试控制模块110可以指示另一个计算机装置(例如,CPU、GPU等)执行测试操作。例如,测试控制模块110可以指示第二计算机装置130b作为冗余装置来执行相同的测试操作,使得可以比较来自第一和第二装置130a-b的测试结果。应当明白的是,第二计算机装置130b可以是与第一计算机装置(例如,GPU和GPU)相同的类型,或者可以是不同的(例如,GPU和CPU),而不脱离本公开的范围。
测试控制模块110进一步被配置用于选择指示测试操作的执行定时的调用控制。例如,选择调用控制可以包括选择立即执行、定期执行以及空闲循环执行中的一个。在所提供的示例中,基于请求结构确定调用策略。
测试控制模块110可以响应于新请求的到达而终止测试,或者可以生成测试操作以继续当前测试。当接收到新请求时,在请求结构指示测试是“按需”测试的情况下,可以基于软件应用程序生成测试。当请求结构不指示“按需”测试时,也可以基于装置使用量来生成测试。
测试案例模块112被配置用于选择被配置为利用操作部件的整个能力的测试操作。如本文使用的术语“整个能力”意味着寄存器的每一位、存储器或高速缓存的每个分配单元、处理器的每个ALU,或者可以由计算机装置使用的每个其它可操作单元。
测试案例模块112可以构建测试或者可以从预配置测试数据库114来检索预配置测试。当测试案例模块112使用预配置测试并且在预配置测试数据库114中存在一个以上的合适的预配置测试时,测试案例模块112可以轮流进行预配置测试或者可以随机选择预配置测试中的一个。
在一个示例中,选择测试操作包括响应于操作部件是存储器部件而选择写操作和读操作作为测试操作。在一些示例中,选择测试操作包括响应于操作部件是寄存器而选择位移操作作为测试操作。在一些示例中,选择测试操作包括响应于操作部件是算术逻辑单元(ALU)而选择向量加法运算、向量乘法运算和逻辑运算中的一个。
在所提供的示例中,测试案例模块112基于所接收的请求结构来选择测试案例。如果测试类型是“存储的”,则测试案例模块112从预配置测试数据库114中选择存储的预配置测试。如果测试类型是“运行时”,则测试案例模块112生成利用部件的整个能力的测试。
例如,具有128个ALU元件的计算机装置的请求结构<“存储”、“ALU”、“full,add”、“100ms”>检索预配置测试案例,该测试案例使用大小为每100ms128次操作的存储向量(vect<128>a,b,a+b)。在另一个示例中,具有32位寄存器的计算机装置的请求结构<“存储”、“寄存器A”、“0-4位,xor”、“200ms”>将每200ms使用逻辑异或(XOR)运算来测试位0-4。在又一示例中,具有128个ALU元素的计算机装置的请求结构<“运行时”、“ALU”、“full,any”,“按需”>产生在运行时使用值随机生成的向量生成的测试案例,并且执行从预定义列表中选择的数学运算(例如,加法、乘法、除法等)。
为了生成测试,测试案例模块112对ALU使用向量加法、乘法或逻辑运算(与(AND)、异或(XOR)),对寄存器使用位移,并且对存储器使用读和写操作。选择测试数据的大小以覆盖一轮中的所有单元。例如,128个ALU部件将使用128个元素向量运算进行测试。将使用16KB数据测试16KB存储器。例如,可以通过在不同测试中在所有“0”与“1”之间改变来测试存储器。在另一个示例中,可以通过16次位移操作来测试16位寄存器。
当计算机部件(例如,高速缓存、一些寄存器等)不能直接测试时,可以使用其它测试生成间接测试。例如,可以利用使计算机装置从高速缓存进行读写的测试来测试高速缓存。
预配置测试数据库114被配置用于存储已经被预配置为利用被测试部件的全部能力的测试。例如,预配置测试可以指定所指定的128元素向量的乘法作为128ALU部件的预配置测试操作。
预计算测试结果116被配置用于存储预配置测试的预计算结果。因此,在一些实施方案中,可以省略第二计算机装置130b的测试操作的并行计算。在所提供的示例中,索引唯一地识别测试案例并且促进同步其余结果的接收。
结果比较模块118被配置用于检索测试操作的第二结果,将来自第一计算机装置的测试操作的第一结果与第二结果进行比较,并且至少部分地基于第一结果与第二结果之间的差异来指示第一计算机装置有故障。例如,当预计算测试结果可用时,检索第二结果包括读取存储在预计算测试结果116中的预生成的第二结果。相反,当第二计算机装置执行测试操作时,检索第二结果包括从第二计算机装置中检索第二测试结果。
在所提供的示例中,将第一结果与第二结果进行比较进一步基于第一计算机装置的功能正确性。例如,比较测试结果的值,而不是计算时间。在所提供的示例中,基于预定义故障模式比较结果。例如,当模式通过/失败时,在测试结果的值不相等时,比较将会失败。在一些实施例中,故障模式可以给出诊断信息。例如,如果项“X”不相等,则ALU“X”可能是故障装置。
结果比较模块118基于预期结果与计算结果之间的比较指示第一计算机装置130a有故障。例如,结果比较模块118可以将故障指示馈送到系统软件和/或应用程序以用于缓解或恢复动作。
在一些实施例中,应用程序或系统软件可以标记故障并且停止使用第一计算机装置130a。例如,应用程序或系统软件可以标记整个装置或装置的故障部件,并且可以将请求结构重新提交给不同的计算机装置。然后,应用程序或系统软件可以停止使用第一计算机装置130a。
现在参考图3且并继续参考图1到2,流程图说明了根据本公开的用于测试计算机装置的操作部件的控制方法200。如可以根据本公开明白的是,该方法内的操作顺序不限于如图3中所说明的顺序执行,而是可以根据需要并且根据本公开来以一个或多个不同顺序来执行。在各种实施例中,该方法200可以被安排为基于一个或多个预定事件运行,和/或可以在车辆10的操作期间连续运行。
控制系统100选择要在任务202中测试的第一装置的部件。例如,请求结构可以指示测试控制模块110将测试第一计算机装置130a的第一操作部件132a。
控制系统100确定是否在任务204中使用存储的测试。例如,测试案例模块112可以评估请求结构确定是生成新的测试案例还是从预配置测试数据库114中检索预配置测试。当控制系统100将使用存储的测试时,方法200前进到任务206。当控制系统100将不使用存储的测试时,方法200前进到任务208。
控制系统100为任务206中的操作部件选择预配置测试。例如,当第一计算机装置130a的第一操作部件132a是128元素的ALU操作部件时,测试案例模块112可以检索128元素向量乘法测试。控制系统100为任务208中的部件生成测试操作。例如,当第一计算机装置130a的第一操作部件132a是128元素的ALU操作部件时,测试案例模块112可以生成128元素向量乘法测试。
控制系统100确定是否在任务210中使用存储的结果。例如,结果比较模块118可以确定预计算测试结果116中是否存在测试操作的测试结果。当控制系统100将使用存储的测试结果时,方法200前进到任务214。当控制系统100将不使用存储的测试结果时,方法200前进到任务212。
控制系统100指示第二装置在任务212中执行测试。例如,测试控制模块110可以指示第二操作部件132b在任务212中执行测试。控制系统100在任务214中检索存储的测试结果。例如,结果比较模块118可以从预计算测试结果116中检索预计算测试结果。
控制系统100比较结果以确定它们在任务218中是否不同。例如,结果比较模块118可以比较由第一计算机装置130a和第二计算机装置130b上的测试操作产生的值,以指示第一计算机装置130a的第一操作部件132a的功能正确性。当结果不同时,方法200前进到任务222。当结果相同时,方法200前进到任务220。
控制系统100指示第一装置在任务220中没有故障。例如,结果比较模块118可以向应用程序或系统服务报告第一计算机装置130a的第一操作部件132a可被接受以供进一步使用。控制系统100指示第一装置可能在任务222中有故障。例如,结果比较模块118可以向应用程序或系统服务指示第一计算机装置不应当在将来的计算中使用。
虽然前述详细描述中已经提出了至少一个示例性实施例,但是应当明白的是,存在许多变化。还应当明白的是,示例性实施例仅仅是示例的并且不旨在以任何方式限制本公开的范围、适用性或配置。实情是,前文详细描述将给本领域技术人员提供用于实施示例性实施例或多个示例性实施例的便捷指引。应当理解的是,在不脱离所附权利要求书和其合法等同物的范围的情况下,可对元件的功能和设置作出各种改变。

Claims (10)

1.一种测试车辆的控制器的第一计算机装置的方法,所述方法包括:
在所述控制器的操作系统中运行的程序处选择所述第一计算机装置的不能由所述操作系统单独寻址的操作部件;
在所述程序处选择被配置为利用所述操作部件的整个能力的测试操作,而不由所述操作系统直接寻址所述操作部件;
当所述操作系统在所述控制器上执行时通过单独寻址所述第一计算机装置指示所述第一计算机装置执行所述测试操作并生成第一结果;
检索所述测试操作的第二结果;
将来自所述第一计算机装置的所述测试操作的所述第一结果与所述第二结果进行比较;
以及
至少部分地基于所述第一结果与所述第二结果之间的差异来指示所述第一计算机装置有故障。
2.根据权利要求1所述的方法,其中检索所述第二结果包括利用所述程序指示所述控制器的第二计算机装置执行所述测试操作。
3.根据权利要求1所述的方法,其中检索所述第二结果包括读取存储在测试结果存储器中的预生成第二结果。
4.根据权利要求1所述的方法,其中将所述第一结果与所述第二结果进行比较进一步基于所述第一计算机装置的功能正确性。
5.根据权利要求1所述的方法,其中选择所述测试操作进一步包括响应于所述操作部件是存储器部件而选择写操作和读操作作为所述测试操作。
6.根据权利要求1所述的方法,其中选择所述测试操作进一步包括响应于所述操作部件是寄存器而选择位移操作作为所述测试操作。
7.根据权利要求1所述的方法,其中选择所述测试操作进一步包括响应于所述操作部件是算术逻辑单元(ALU)而选择向量加法运算、向量乘法运算或逻辑运算中的一种。
8.根据权利要求1所述的方法,进一步包括选择指示所述测试操作的执行定时的调用控制。
9.根据权利要求8所述的方法,其中选择所述调用控制包括选择立即执行、定期执行以及空闲循环执行中的一种。
10.一种用于测试车辆的控制器的计算机装置的系统,所述系统包括:
具有带有操作部件的第一计算机装置的控制器,所述控制器被编程为:
利用在所述控制器的操作系统中运行的程序选择所述第一计算机装置的不能由所述操作系统单独寻址的操作部件;
利用所述程序选择被配置为利用所述操作部件的整个能力的测试操作,而不由所述操作系统直接寻址所述操作部件;
当所述操作系统在所述控制器上执行时通过单独寻址所述第一计算机装置指示所述第一计算机装置执行所述测试操作并生成第一结果;
检索所述测试操作的第二结果;
将来自所述第一计算机装置的所述测试操作的所述第一结果与所述第二结果进行比较;
并且
至少部分地基于所述第一结果与所述第二结果之间的差异来指示所述第一计算机装置有故障。
CN201811088528.3A 2017-09-28 2018-09-18 用于测试并行计算装置的部件的方法和系统 Active CN109582512B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/719102 2017-09-28
US15/719,102 US10558539B2 (en) 2017-09-28 2017-09-28 Methods and systems for testing components of parallel computing devices

Publications (2)

Publication Number Publication Date
CN109582512A CN109582512A (zh) 2019-04-05
CN109582512B true CN109582512B (zh) 2022-06-21

Family

ID=65638386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811088528.3A Active CN109582512B (zh) 2017-09-28 2018-09-18 用于测试并行计算装置的部件的方法和系统

Country Status (3)

Country Link
US (1) US10558539B2 (zh)
CN (1) CN109582512B (zh)
DE (1) DE102018123652A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10981578B2 (en) * 2018-08-02 2021-04-20 GM Global Technology Operations LLC System and method for hardware verification in an automotive vehicle
US20240070014A1 (en) * 2022-08-26 2024-02-29 Micron Technology, Inc. Commands for testing error correction in a memory device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336587A (zh) * 2000-07-26 2002-02-20 国际商业机器公司 在以正常模式执行指令期间执行硬件测试的处理器
CN101313281A (zh) * 2005-11-18 2008-11-26 罗伯特·博世有限公司 用于在包括至少两个具有寄存器的执行单元的系统中消除错误的装置和方法
CN102591763A (zh) * 2011-12-31 2012-07-18 龙芯中科技术有限公司 一种基于确定性重放的处理器整体故障检测系统与方法
CN103092714A (zh) * 2012-12-31 2013-05-08 哈尔滨工业大学 用于容错系统的处理器瞬时故障检测方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293202B2 (en) * 2003-06-26 2007-11-06 Microsoft Corporation Isolating the evaluation of actual test results against expected test results from the test module that generates the actual test results
JP4408921B2 (ja) * 2007-08-22 2010-02-03 株式会社デンソー 電子機器
JP5641244B2 (ja) * 2011-09-12 2014-12-17 トヨタ自動車株式会社 車両用ネットワークシステム及び車両用情報処理方法
DE102015204337A1 (de) * 2015-03-11 2016-09-15 Siemens Aktiengesellschaft Sicherheitsrelevantes Computersystem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336587A (zh) * 2000-07-26 2002-02-20 国际商业机器公司 在以正常模式执行指令期间执行硬件测试的处理器
CN101313281A (zh) * 2005-11-18 2008-11-26 罗伯特·博世有限公司 用于在包括至少两个具有寄存器的执行单元的系统中消除错误的装置和方法
CN102591763A (zh) * 2011-12-31 2012-07-18 龙芯中科技术有限公司 一种基于确定性重放的处理器整体故障检测系统与方法
CN103092714A (zh) * 2012-12-31 2013-05-08 哈尔滨工业大学 用于容错系统的处理器瞬时故障检测方法

Also Published As

Publication number Publication date
CN109582512A (zh) 2019-04-05
US10558539B2 (en) 2020-02-11
DE102018123652A1 (de) 2019-03-28
US20190095302A1 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
JP6605642B2 (ja) 車両及び車両を管理制御するシステム
CN109900491B (zh) 使用冗余处理器架构通过参数数据进行诊断故障检测的系统、方法和装置
CN103488161B (zh) 用于ecu任务重构的系统和方法
US10437242B2 (en) Vehicle remote operation system
JP5187194B2 (ja) マルチプロセッサシステム
CN112000458A (zh) 汽车计算任务配置给有异构能力的联网设备的方法和装置
US10611381B2 (en) Decentralized minimum risk condition vehicle control
CN110214312A (zh) 共享备用单元和控制系统
CN109582512B (zh) 用于测试并行计算装置的部件的方法和系统
CN113242320A (zh) 智能驾驶系统、方法、设备及存储介质
EP3809226B1 (en) Method and system for development and verification of autonomous driving features
CN111273634A (zh) 至少部分自动的机动车的控制系统的配置
CN112650977B (zh) 保护神经网络模型的方法
CN109143918A (zh) 多阶段表决控制
KR101914624B1 (ko) 자율주행시스템의 사고 예방을 위한 프로세서 및 동작 방법
CN115657647A (zh) 故障确定方法、装置、车辆及存储介质
US20230061577A1 (en) Vehicle-based safety processor
US11842225B2 (en) Systems and methods for decentralized-distributed processing of vehicle data
CN117377991A (zh) 装置级故障检测
CN112046419B (zh) 控制车辆的方法和装置
CN114194203A (zh) 作业的安全分布式执行
JP2021128531A5 (zh)
US20240174259A1 (en) Vehicle controls supporting multiple ads ecus
US9916700B2 (en) Asset-agnostic framework with asset-specific module for alternate bus parameter calculation
US20230185614A1 (en) System and method for providing decentralized vehicle computing using blockchain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant