CN116069504B - 自动驾驶仿真中多核处理器的调度方法及装置 - Google Patents
自动驾驶仿真中多核处理器的调度方法及装置 Download PDFInfo
- Publication number
- CN116069504B CN116069504B CN202310042664.3A CN202310042664A CN116069504B CN 116069504 B CN116069504 B CN 116069504B CN 202310042664 A CN202310042664 A CN 202310042664A CN 116069504 B CN116069504 B CN 116069504B
- Authority
- CN
- China
- Prior art keywords
- simulation
- core
- link
- automatic driving
- processor
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 275
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005457 optimization Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000012360 testing method Methods 0.000 claims description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 238000011156 evaluation Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011157 data evaluation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及资源调度技术领域,提供一种自动驾驶仿真中多核处理器的调度方法及装置。所述方法应用于搭载有多核处理器的终端设备,包括:在执行车辆的自动驾驶仿真任务时,确定所述自动驾驶仿真任务所处的当前仿真环节;根据所述当前仿真环节,从各预设调度优化策略中,获取与所述当前仿真环节对应的目标调度优化策略,以从所述多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节。本申请实施例提供的自动驾驶仿真中多核处理器的调度方法能够提高自动驾驶的仿真效率。
Description
技术领域
本申请涉及资源调度技术领域,具体涉及一种自动驾驶仿真中多核处理器的调度方法及装置。
背景技术
随着自动驾驶技术的普及,主机厂和消费者对自动驾驶技术可靠性要求也日益提高,针对自动驾驶功能的仿真测试可以有效在各个研发阶段发现自动驾驶算法的问题点,因此也成为一项常用验证手段。
相关技术中,对自动驾驶仿真测试,是通过测试软件调用场景仿真软件生成的场景测试集,与车辆动力学仿真软件和模型/代码仿真软件进行联合仿真。由于这些仿真软件大多是不同厂家开发的,联合仿真只是基于windows系统默认的处理器调用分配机制,如CPU和GPU调用分配机制执行,各个仿真软件也未专门针对多核CPU/GPU在进行自动驾驶仿真时进行调度优化,导致自动驾驶仿真的效率低。
发明内容
本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种自动驾驶仿真中多核处理器的调度方法,能够提高自动驾驶的仿真效率。
本申请还提出一种自动驾驶仿真中多核处理器的调度装置。
本申请还提出一种电子设备。
本申请还提出一种计算机可读存储介质。
本申请还提出一种车辆。
根据本申请第一方面实施例的自动驾驶仿真中多核处理器的调度方法,应用于搭载有多核处理器的终端设备,包括:
在执行车辆的自动驾驶仿真任务时,确定所述自动驾驶仿真任务所处的当前仿真环节;
根据所述当前仿真环节,从各预设调度优化策略中,获取与所述当前仿真环节对应的目标调度优化策略,以从所述多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节;
其中,所述多核处理器包括多核CPU和多核GPU,所述处理资源包括处理器的能效核心、性能核心和线程。
根据本申请的一个实施例,所述当前仿真环节包括进行文件编译的文件编译环节;
从多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节,包括:
在所述文件编译环节,为所述文件编译环节的任一编译文件分配至少一个性能核心和多个线程,以并行多个线程对所述编译文件进行编译。
根据本申请的一个实施例,所述编译文件分配的性能核心数量和线程数量,与所述编译文件对应的编译算法的复杂度成正比。
根据本申请的一个实施例,所述当前仿真环节包括进行车辆的自动驾驶仿真的驾驶仿真执行环节;
从多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节,包括:
在所述驾驶仿真执行环节,确定所述自动驾驶仿真任务为模型在环的联合仿真任务,为所述终端设备的操作系统分配至少一个能效核心,为ECU-TEST仿真软件分配至少一个能效核心,以及为MATLAB simulink仿真软件分配各性能核心后,执行车辆的自动驾驶仿真,并在检测到CARSIM仿真软件执行编译时,为所述CARSIM仿真软件分配至少一个能效核心。
根据本申请的一个实施例,还包括:
在所述驾驶仿真执行环节,确定所述自动驾驶仿真任务为软件在环的联合仿真任务,为所述终端设备的操作系统分配至少一个能效核心,为Visual Studio分配各能效核心和各性能核心后,执行车辆的自动驾驶仿真,并在检测到CARSIM仿真软件执行编译时,为所述CARSIM仿真软件分配至少一个能效核心。
根据本申请的一个实施例,所述当前仿真环节包括进行仿真结果评估的结果评估环节;
在所述结果评估环节,为CARSIM仿真软件分配至少一个性能核心,为ECU-TEST仿真软件分配至少一个性能核心和至少一个能效核心,并为所述终端设备的操作系统分配至少一个能效核心后,执行车辆的自动驾驶仿真结果评估。
根据本申请的一个实施例,还包括:
确定完成所述自动驾驶仿真任务,对执行所述自动驾驶仿真任务的各仿真软件提示的仿真错误进行修正。
根据本申请第二方面实施例的自动驾驶仿真中多核处理器的调度装置,应用于搭载有多核处理器的终端设备,包括:
仿真环节确定模块,用于在执行车辆的自动驾驶仿真任务时,确定所述自动驾驶仿真任务所处的当前仿真环节;
处理资源调度模块,用于根据所述当前仿真环节,从各预设调度优化策略中,获取与所述当前仿真环节对应的目标调度优化策略,以从所述多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节;
其中,所述多核处理器包括多核CPU和多核GPU,所述处理资源包括处理器的能效核心、性能核心和线程。
根据本申请第三方面实施例的电子设备,包括多核处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现上述任一实施例所述的自动驾驶仿真中多核处理器的调度方法。
根据本申请第四方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的自动驾驶仿真中多核处理器的调度方法。
根据本申请第五方面实施例的车辆,包括上述电子设备。
本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
通过在执行车辆的自动驾驶仿真任务时,检测自动驾驶驾驶仿真任务所处的当前仿真环节,以根据检测到的当前仿真环节,从各预设调度优化策略中,获取与当前仿真环节对应的目标调度优化策略后,从多核处理器中,调度与目标调度优化策略对应的处理资源执行所述当前仿真环节,从而在执行车辆的自动驾驶仿真任务时,能够针对不同的仿真环节调用对应的资源来执行该仿真环节,进而能够在进行自动驾驶仿真时进行多核处理器的调度优化,提高自动驾驶的仿真效率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的自动驾驶仿真中多核处理器的调度方法的流程示意图;
图2是本申请实施例提供的自动驾驶仿真中多核处理器的调度装置的结构示意图;
图3是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面,将通过几个具体的实施例对本申请实施例提供的自动驾驶仿真中多核处理器的调度方法及装置进行详细介绍和说明。
在一实施例中,提供了一种自动驾驶仿真中多核处理器的调度方法,该方法应用于搭载有多核处理器的终端设备,用于在执行车辆的自动驾驶仿真任务时,对多核处理器的处理资源进行调度。其中,终端设备可以是移动终端、台式终端或服务器,服务器可以是独立的服务器或者是多个服务器组成的服务器集群来实现。
如图1所示,本实施例提供的一种自动驾驶仿真中多核处理器的调度方法包括:
步骤101,在执行车辆的自动驾驶仿真任务时,确定所述自动驾驶仿真任务所处的当前仿真环节;
步骤102,根据所述当前仿真环节,从各预设调度优化策略中,获取与所述当前仿真环节对应的目标调度优化策略,以根据所述目标调度优化策略,从所述多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节;
其中,所述多核处理器包括多核CPU和多核GPU,所述处理资源包括处理器的能效核心、性能核心和线程。
通过在执行车辆的自动驾驶仿真任务时,检测自动驾驶驾驶仿真任务所处的当前仿真环节,以根据检测到的当前仿真环节,从各预设调度优化策略中,获取与当前仿真环节对应的目标调度优化策略后,从多核处理器中,调度与目标调度优化策略对应的处理资源执行所述当前仿真环节,从而在执行车辆的自动驾驶仿真任务时,能够针对不同的仿真环节调用对应的资源来执行该仿真环节,进而能够在进行自动驾驶仿真时进行多核处理器的调度优化,提高自动驾驶的仿真效率。
在一实施例中,在进行联合仿真时,自动驾驶仿真任务可能是模型在环的联合仿真任务或软件在环的联合仿真任务。而无论是哪种仿真任务,其各仿真环节通常包括可以文件编译环节、驾驶仿真执行环节以及结果评估环节。
其中,对于模型在环的联合仿真任务,其文件编译环节可以是由ECU-TEST泛化测试场景参数,调用CARSIM生成具体场景,编译为S-Function,然后集成到MATLAB Simulink与自动驾驶算法模型中。在完成文件编译环节后,则进入由MATLAB Simulink与自动驾驶算法模型进行仿真的驾驶仿真执行环节。在执行完驾驶仿真执行环节后,则进入返回仿真数据到CARSIM生成仿真动画,并由ECU-TEST对仿真数据进行结果评估的结果评估环节。
而对于软件在环的联合仿真任务,其文件编译环节可以是由ECU-TEST泛化测试场景参数,调用CARSIM生成具体场景,编译为C++的DLL库,与ECU-TEST库文件SUT工程包和自动驾驶算法的C++代码还有CUDA的DLL库在Visual Studio中联合编译为CTestBed DLL。在完成文件编译环节后,则进入由ECU-TEST驱动进行仿真的驾驶仿真执行环节。在执行完驾驶仿真执行环节后,则进入返回仿真数据到CARSIM生成仿真动画,并由ECU-TEST对仿真数据进行结果评估的结果评估环节。
在一实施例中,终端设备预先存储有与各仿真环节一一对应的预设调度优化策略。其中,预设调度优化策略为需要为某个仿真环节配置的处理资源。如可以是为文件编译环节分配N个核心和N个进程等。
当终端设备执行车辆的自动驾驶仿真任务时,检测当前需要执行的仿真环节作为当前仿真环节,然后可从各预设调度优化策略中获取与该当前仿真环节对应的预设调度优化策略,作为目标调度优化策略,以按目标调度优化策略的处理资源配置方式,来调度对应的处理资源执行该当前当前仿真环节。
在一实施例中,若当前仿真环节为进行文件编译的文件编译环节时,可为所述文件编译环节的任一编译文件分配至少一个性能核心和多个线程,以并行多个线程对所述编译文件进行编译。
具体的,若文件编译环节为模型在环的联合仿真任务的文件编译环节,则为IO模块分配1个性能核心2个线程,为CARSIM生成仿真场景和车辆模型的S-Function和坐标转换算法的编译文件分配4个性能核心8个线程,为其他非循环类型算法的编译文件分配2个性能核心4个线程,为循环类和搜索类算法的编译文件分配1个性能核心和2个线程,以并行多个线程对所有的编译文件进行编译。
而若文件编译环节为软件在环的联合仿真任务的文件编译环节,则为自动驾驶算法的编译文件分配6个性能核心14个线程,为CARSIM生成仿真场景和车辆模型的DLL过程的编译文件分配2个性能核心和4个线程。
由于每次仿真都需要重新编译数百个中间文件,未优化的情况下靠单线程一个个文件编译必然消耗大量时间,并且性能核心和能效核心对单个文件的编译速度没有明显差异,因此可采用为文件编译环节的所有编译文件均分配至少一个性能核心和多个线程的方式,使得能够通过并行多核心和多线程对这些编译文件进行编译,节省大量时间。
而为进一步节省编译文件的编译时间,各编译文件分配的性能核心和线程数量可以与编译文件对应的仿真算法的复杂度成正比,即约复杂的编译文件可以分配更多的性能核心和线程数量进行处理。
在一实施例中,若当前仿真环节为进行车辆的自动驾驶仿真的驾驶仿真执行环节时,若驾驶仿真执行环节为模型在环的联合仿真任务的驾驶仿真执行环节,可为所述终端设备的操作系统分配至少一个能效核心,为ECU-TEST仿真软件分配至少一个能效核心,以及为所述MATLAB simulink仿真软件分配各性能核心后,执行车辆的自动驾驶仿真,并在检测到CARSIM仿真软件执行编译时,为所述CARSIM仿真软件分配至少一个能效核心。
具体的,若驾驶仿真执行环节为模型在环的联合仿真任务的驾驶仿真执行环节,则为终端设备的操作系统分配1个能效核心,为ECU-TEST分配2-7个能效核心,性能核心全部分配给MATLAB simulink,同时GPU由MATLAB simulink自行调度。而在检测到需要CARSIM仿真软件执行编译时,则为CARSIM仿真软件分配3个能效核心,驾驶仿真执行环节的其余时间可为CARSIM仿真软件分配0-2个能效核心。
而若驾驶仿真执行环节为软件在环的联合仿真任务的驾驶仿真执行环节,则为终端设备的操作系统分配1个能效核心,其他核心全部分配到Visual Studio。而在检测到需要CARSIM仿真软件执行编译时,则为CARSIM仿真软件分配3个能效核心,驾驶仿真执行环节的其余时间可为CARSIM仿真软件分配0-2个能效核心。
由于在驾驶仿真执行环节,不同算法消耗算力是不同的,因此可以将吃算力的算法,即仿真软件得到算法分配到CPU的性能核心上,接口传输类的算法,即操作系统的算法则可以分配到能效核心上。这样在每一个仿真步长上,各个算法执行完的时间基本保持一致,不至于出现算力浪费的情况。
在一实施例中,若当前仿真环节为进行仿真结果评估的结果评估环节时,则为所述CARSIM仿真软件分配至少一个性能核心,为所述ECU-TEST仿真软件分配至少一个性能核心和至少一个能效核心,并为终端设备的操作系统分配至少一个能效核心后,执行车辆的自动驾驶仿真结果评估。
具体的,若当前仿真环节为进行仿真结果评估的结果评估环节,则为CARSIM分配4个性能核心,使其对驾驶仿真执行环节的仿真数据进行记录和传递,为ECU-TEST软件分配4个性能核心和2个能效核心,剩余的能效核心分配给操作系统,以使ECU-TEST软件对接收到的仿真数据进行评估。
由于在结果评估环节,即使使用固态硬盘,从缓存中存储到硬盘上也需要占用不少时间和CPU资源,这时候瓶颈在硬盘速率,用能效核心进行处理即可,性能核心可以分配给CARSIM和ECU-TEST进行数据传输和数据评估。
经过测试,通过上述多核处理器的优化调度,其仿真时CPU占用率接近100%,GPU占用率超过55%(循环和搜索算法更多情况下会占用更多),单次平均仿真时长从17分钟缩短到2分30s左右。
而为进一步提高仿真效率,在一实施例中,还包括:
确定完成所述自动驾驶仿真任务,对执行所述自动驾驶仿真任务的各仿真软件提示的仿真错误进行修正。
在一实施例中,当一次自动驾驶仿真任务完成后,可对MATLAB simulink或者Visual Studio提示的仿真错误,按照MATLAB simulink或者Visual Studio提示的方式进行修改,以修正该仿真错误。而通过实测,仿真错误修正后,下次执行模型在环的联合仿真任务的自动驾驶仿真任务时,终端设备会有10-20%左右性能上的提升,能够进一步提高自动驾驶的仿真效率。
而在完成仿真错误的修正后,可以关闭MATLAB simulink平台中模型打开的所有scope窗口,只保留主程序,以避免出现不必要的资源浪费。
下面对本申请提供的自动驾驶仿真中多核处理器的调度装置进行描述,下文描述的自动驾驶仿真中多核处理器的调度装置与上文描述的自动驾驶仿真中多核处理器的调度方法可相互对应参照。
在一实施例中,如图2所示,提供了一种自动驾驶仿真中多核处理器的调度装置,应用于搭载有多核处理器的终端设备,包括:
仿真环节确定模块210,用于在执行车辆的自动驾驶仿真任务时,确定所述自动驾驶仿真任务所处的当前仿真环节;
处理资源调度模块220,用于根据所述当前仿真环节,从各预设调度优化策略中,获取与所述当前仿真环节对应的目标调度优化策略,以从所述多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节;
其中,所述多核处理器包括多核CPU和多核GPU,所述处理资源包括处理器的能效核心、性能核心和线程。
通过在执行车辆的自动驾驶仿真任务时,检测自动驾驶驾驶仿真任务所处的当前仿真环节,以根据检测到的当前仿真环节,从各预设调度优化策略中,获取与当前仿真环节对应的目标调度优化策略后,从多核处理器中,调度与目标调度优化策略对应的处理资源执行所述当前仿真环节,从而在执行车辆的自动驾驶仿真任务时,能够针对不同的仿真环节调用对应的资源来执行该仿真环节,进而能够在进行自动驾驶仿真时进行多核处理器的调度优化,提高自动驾驶的仿真效率。
在一实施例中,所述当前仿真环节包括进行文件编译的文件编译环节;
处理资源调度模块220具体用于:
在所述文件编译环节,为所述文件编译环节的任一编译文件分配至少一个性能核心和多个线程,以并行多个线程对所述编译文件进行编译。
在一实施例中,所述编译文件分配的性能核心数量和线程数量,与所述编译文件对应的编译算法的复杂度成正比。
在一实施例中,所述当前仿真环节包括进行车辆的自动驾驶仿真的驾驶仿真执行环节;
处理资源调度模块220具体用于:
在所述驾驶仿真执行环节,确定所述自动驾驶仿真任务为模型在环的联合仿真任务,为所述终端设备的操作系统分配至少一个能效核心,为ECU-TEST仿真软件分配至少一个能效核心,以及为所述MATLAB simulink仿真软件分配各性能核心后,执行车辆的自动驾驶仿真,并在检测到CARSIM仿真软件执行编译时,为所述CARSIM仿真软件分配至少一个能效核心。
在一实施例中,处理资源调度模块220还用于:
在所述驾驶仿真执行环节,确定所述自动驾驶仿真任务为软件在环的联合仿真任务,为所述终端设备的操作系统分配至少一个能效核心,为Visual Studio分配各能效核心和各性能核心后,执行车辆的自动驾驶仿真,并在检测到CARSIM仿真软件执行编译时,为所述CARSIM仿真软件分配至少一个能效核心。。
在一实施例中,所述当前仿真环节包括进行仿真结果评估的结果评估环节;
处理资源调度模块220具体用于:
在所述结果评估环节,为所述CARSIM仿真软件分配至少一个性能核心,为所述ECU-TEST仿真软件分配至少一个性能核心和至少一个能效核心,并为所述终端设备的操作系统分配至少一个能效核心后,执行车辆的自动驾驶仿真结果评估。
在一实施例中,处理资源调度模块220还用于:
确定完成所述自动驾驶仿真任务,对执行所述自动驾驶仿真任务的各仿真软件提示的仿真错误进行修正。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:多核处理器(processor)810、通信接口(CommunicationInterface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机程序,以执行自动驾驶仿真中多核处理器的调度方法,例如包括:
在执行车辆的自动驾驶仿真任务时,确定所述自动驾驶仿真任务所处的当前仿真环节;
根据所述当前仿真环节,从各预设调度优化策略中,获取与所述当前仿真环节对应的目标调度优化策略,以从所述多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节;
其中,所述多核处理器包括多核CPU和多核GPU,所述处理资源包括处理器的能效核心、性能核心和线程。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台搭载有多核处理器的计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种存储介质,存储介质包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的自动驾驶仿真中多核处理器的调度方法,例如包括:
在执行车辆的自动驾驶仿真任务时,确定所述自动驾驶仿真任务所处的当前仿真环节;
根据所述当前仿真环节,从各预设调度优化策略中,获取与所述当前仿真环节对应的目标调度优化策略,以从所述多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节;
其中,所述多核处理器包括多核CPU和多核GPU,所述处理资源包括处理器的能效核心、性能核心和线程。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种自动驾驶仿真中多核处理器的调度方法,应用于搭载有多核处理器的终端设备,其特征在于,包括:
在执行车辆的自动驾驶仿真任务时,确定所述自动驾驶仿真任务所处的当前仿真环节;
根据所述当前仿真环节,从各预设调度优化策略中,获取与所述当前仿真环节对应的目标调度优化策略,以从所述多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节;
其中,所述多核处理器包括多核CPU和多核GPU,所述处理资源包括处理器的能效核心、性能核心和线程;
所述当前仿真环节包括进行车辆的自动驾驶仿真的驾驶仿真执行环节;
从多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节,包括:
在所述驾驶仿真执行环节,确定所述自动驾驶仿真任务为模型在环的联合仿真任务,根据所述终端设备的操作系统以及各仿真软件执行所述模型在环的联合仿真任务所需消耗的算力,为所述终端设备的操作系统分配至少一个能效核心,为ECU-TEST仿真软件分配至少一个能效核心,以及为MATLAB simulink仿真软件分配各性能核心后,执行车辆的自动驾驶仿真,并在检测到CARSIM仿真软件执行编译时,为所述CARSIM仿真软件分配至少一个能效核心,以使在每一个仿真步长上,所述操作系统以及各所述仿真软件的算法执行完成的时间保持一致。
2.根据权利要求1所述的自动驾驶仿真中多核处理器的调度方法,其特征在于,所述当前仿真环节包括进行文件编译的文件编译环节;
从多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节,包括:
在所述文件编译环节,为所述文件编译环节的任一编译文件分配至少一个性能核心和多个线程,以并行多个线程对所述编译文件进行编译。
3.根据权利要求2所述的自动驾驶仿真中多核处理器的调度方法,其特征在于,所述编译文件分配的性能核心数量和线程数量,与所述编译文件对应的编译算法的复杂度成正比。
4.根据权利要求1所述的自动驾驶仿真中多核处理器的调度方法,其特征在于,还包括:
在所述驾驶仿真执行环节,确定所述自动驾驶仿真任务为软件在环的联合仿真任务,为所述终端设备的操作系统分配至少一个能效核心,为Visual Studio分配各能效核心和各性能核心后,执行车辆的自动驾驶仿真,并在检测到CARSIM仿真软件执行编译时,为所述CARSIM仿真软件分配至少一个能效核心。
5.根据权利要求1所述的自动驾驶仿真中多核处理器的调度方法,其特征在于,所述当前仿真环节包括进行仿真结果评估的结果评估环节;
在所述结果评估环节,为CARSIM仿真软件分配至少一个性能核心,为ECU-TEST仿真软件分配至少一个性能核心和至少一个能效核心,并为所述终端设备的操作系统分配至少一个能效核心后,执行车辆的自动驾驶仿真结果评估。
6.根据权利要求1所述的自动驾驶仿真中多核处理器的调度方法,其特征在于,还包括:
确定完成所述自动驾驶仿真任务,对执行所述自动驾驶仿真任务的各仿真软件提示的仿真错误进行修正。
7.一种自动驾驶仿真中多核处理器的调度装置,应用于搭载有多核处理器的终端设备,其特征在于,包括:
仿真环节确定模块,用于在执行车辆的自动驾驶仿真任务时,确定所述自动驾驶仿真任务所处的当前仿真环节;
处理资源调度模块,用于根据所述当前仿真环节,从各预设调度优化策略中,获取与所述当前仿真环节对应的目标调度优化策略,以从所述多核处理器中,调度与所述目标调度优化策略对应的处理资源执行所述当前仿真环节;
其中,所述多核处理器包括多核CPU和多核GPU,所述处理资源包括处理器的能效核心、性能核心和线程;
所述当前仿真环节包括进行车辆的自动驾驶仿真的驾驶仿真执行环节;
处理资源调度模块具体用于:在所述驾驶仿真执行环节,确定所述自动驾驶仿真任务为模型在环的联合仿真任务,为所述终端设备的操作系统分配至少一个能效核心,为ECU-TEST仿真软件分配至少一个能效核心,以及为MATLAB simulink仿真软件分配各性能核心后,执行车辆的自动驾驶仿真,并在检测到CARSIM仿真软件执行编译时,为所述CARSIM仿真软件分配至少一个能效核心,以使在每一个仿真步长上,所述操作系统以及各所述仿真软件的算法执行完成的时间保持一致。
8.一种电子设备,包括多核处理器和存储有计算机程序的存储器,其特征在于,所述多核处理器执行所述计算机程序时实现权利要求1至6任一项所述的自动驾驶仿真中多核处理器的调度方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被多核处理器执行时实现权利要求1至6任一项所述的自动驾驶仿真中多核处理器的调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042664.3A CN116069504B (zh) | 2023-01-28 | 2023-01-28 | 自动驾驶仿真中多核处理器的调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042664.3A CN116069504B (zh) | 2023-01-28 | 2023-01-28 | 自动驾驶仿真中多核处理器的调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116069504A CN116069504A (zh) | 2023-05-05 |
CN116069504B true CN116069504B (zh) | 2023-11-10 |
Family
ID=86179707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310042664.3A Active CN116069504B (zh) | 2023-01-28 | 2023-01-28 | 自动驾驶仿真中多核处理器的调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069504B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110308982A (zh) * | 2018-03-20 | 2019-10-08 | 华为技术有限公司 | 一种共享内存复用方法及装置 |
CN110413397A (zh) * | 2019-07-31 | 2019-11-05 | 北京智行者科技有限公司 | 一种面向自动驾驶的任务调度方法 |
CN111708541A (zh) * | 2020-06-22 | 2020-09-25 | 深圳市友华通信技术有限公司 | 镜像文件的编译方法和装置 |
CN111858026A (zh) * | 2020-06-10 | 2020-10-30 | 中国人民解放军海军航空大学航空作战勤务学院 | 高效的大规模多粒度仿真模型并行调度方法 |
CN113032963A (zh) * | 2021-02-26 | 2021-06-25 | 北京经纬恒润科技股份有限公司 | 一种Simulink模型仿真加速方法及装置 |
CN114327829A (zh) * | 2021-12-30 | 2022-04-12 | 东北大学 | 一种多核实时任务调度分析与仿真系统及方法 |
CN114996077A (zh) * | 2022-08-08 | 2022-09-02 | 济南新语软件科技有限公司 | 一种多核并行仿真方法及实现多核并行仿真的平台架构 |
CN115016317A (zh) * | 2022-05-24 | 2022-09-06 | 苏州浪潮智能科技有限公司 | 一种分布式异构自动驾驶仿真测试方法、系统和设备 |
-
2023
- 2023-01-28 CN CN202310042664.3A patent/CN116069504B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110308982A (zh) * | 2018-03-20 | 2019-10-08 | 华为技术有限公司 | 一种共享内存复用方法及装置 |
CN110413397A (zh) * | 2019-07-31 | 2019-11-05 | 北京智行者科技有限公司 | 一种面向自动驾驶的任务调度方法 |
CN111858026A (zh) * | 2020-06-10 | 2020-10-30 | 中国人民解放军海军航空大学航空作战勤务学院 | 高效的大规模多粒度仿真模型并行调度方法 |
CN111708541A (zh) * | 2020-06-22 | 2020-09-25 | 深圳市友华通信技术有限公司 | 镜像文件的编译方法和装置 |
CN113032963A (zh) * | 2021-02-26 | 2021-06-25 | 北京经纬恒润科技股份有限公司 | 一种Simulink模型仿真加速方法及装置 |
CN114327829A (zh) * | 2021-12-30 | 2022-04-12 | 东北大学 | 一种多核实时任务调度分析与仿真系统及方法 |
CN115016317A (zh) * | 2022-05-24 | 2022-09-06 | 苏州浪潮智能科技有限公司 | 一种分布式异构自动驾驶仿真测试方法、系统和设备 |
CN114996077A (zh) * | 2022-08-08 | 2022-09-02 | 济南新语软件科技有限公司 | 一种多核并行仿真方法及实现多核并行仿真的平台架构 |
Non-Patent Citations (1)
Title |
---|
贡国忠.《计算机基础应用及MS Office 2010教程》.苏州大学出版社,2019, * |
Also Published As
Publication number | Publication date |
---|---|
CN116069504A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111629061B (zh) | 一种基于Kubernetes的推理服务系统 | |
CN110874212B (zh) | 一种硬件加速方法、编译器以及设备 | |
US9027007B2 (en) | Reducing excessive compilation times | |
EP4258175A1 (en) | Node fusion method for computational graph, and device | |
CN111860867B (zh) | 一种混合异构系统的模型训练方法、系统及相关装置 | |
CN107179982B (zh) | 一种跨进程调试方法和装置 | |
CN115543577A (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN108139929B (zh) | 用于调度多个任务的任务调度装置和方法 | |
CN116069504B (zh) | 自动驾驶仿真中多核处理器的调度方法及装置 | |
CN115658370B (zh) | 一种基于编译器的机器学习加速芯片故障实时探测方法 | |
CN108549935A (zh) | 一种实现神经网络模型的装置及方法 | |
CN116069334B (zh) | 一种基于云原生的在线开发与代码托管方法及系统 | |
CN116880986A (zh) | 任务调度方法、装置、车载控制器、电子设备和存储介质 | |
CN113220463B (zh) | 一种绑定策略推断方法、装置、电子设备及存储介质 | |
CN115080382A (zh) | 一种代码测试方法、装置、设备及介质 | |
US20230065994A1 (en) | Offload server, offload control method, and offload program | |
Maticu et al. | Automatic functionality assignment to AUTOSAR multicore distributed architectures | |
CN110633742A (zh) | 特征信息的获取方法和计算机存储介质 | |
CN112015436A (zh) | 短信平台部署方法及装置、计算设备、计算机存储介质 | |
CN116795519B (zh) | 一种基于互联网的远程智能调测方法和系统 | |
CN112766768B (zh) | 合同流程管理方法、装置、电子设备以及可读存储介质 | |
US12033235B2 (en) | Offload server, offload control method, and offload program | |
CN117453376B (zh) | 高通量计算的控制方法、装置、设备及存储介质 | |
CN114741281B (zh) | 基于操作系统的批量软件测试系统和方法 | |
US20240242076A1 (en) | Method and device for testing deep learning model and computer storage medium |
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 |