WO2024000590A1 - 策略选择方法及装置 - Google Patents
策略选择方法及装置 Download PDFInfo
- Publication number
- WO2024000590A1 WO2024000590A1 PCT/CN2022/103445 CN2022103445W WO2024000590A1 WO 2024000590 A1 WO2024000590 A1 WO 2024000590A1 CN 2022103445 W CN2022103445 W CN 2022103445W WO 2024000590 A1 WO2024000590 A1 WO 2024000590A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- algorithm implementation
- time interval
- implementation strategy
- computing task
- evaluation score
- Prior art date
Links
- 238000010187 selection method Methods 0.000 title claims abstract description 23
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 501
- 238000011156 evaluation Methods 0.000 claims abstract description 165
- 238000000034 method Methods 0.000 claims abstract description 77
- 238000012806 monitoring device Methods 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 abstract description 14
- 238000012545 processing Methods 0.000 description 54
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 6
- 238000011068 loading method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006641 stabilisation Effects 0.000 description 3
- 238000011105 stabilization Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
Abstract
本申请提供了一种策略选择方法和装置,该方法包括获取第t个时间间隔对应的系统性能参数,其中,系统性能参数包括硬件性能参数和/或软件性能参数;根据系统性能参数,确定第一评价分数,第一评价分数用于确定基础计算任务在第t+1个时间间隔的目标算法实现策略,其中,目标算法实现策略属于基础计算任务对应的候选算法实现策略集,t为正整数。这样,根据系统的运行参数性能的评价分数,有助于自动地从候选算法实现策略集中选择合适的算法实现策略,进而提高了系统运行的整体性能。
Description
本申请实施例涉及信息技术领域,具体涉及一种策略选择方法及装置。
随着算法的发展,尤其是人工智能(artificial intelligence,AI)算法的发展,由于芯片和算法之间的紧密联系,目前计算芯片的设计越来越复杂。为了充分利用各类芯片的计算性能,当面对一个计算任务时,算法应用程序接口(application programming interface,API)开发者需要通过手工编写程序代码,为这一个计算任务提供多种算法实现,从而使得完成该计算任务的程序可以适应各种芯片的架构特性和各种使用场景。
但是,由于完成计算任务的程序的运行环境动态性和复杂性,软件开发者在调用具体的算法实现时,仅能根据自己的先验知识,调用自己认为较佳的算法实现。然而,在运行软件开发者认为的较优的算法实现对应的程序代码时,对于完成该计算任务的整个系统性能而言,可能并非是最优的算法实现。
因此,如何选择计算任务对应的算法实现策略,从而提升完成计算任务的整体系统性能,是个亟待解决的问题。
发明内容
本申请提供一种策略选择方法和装置,通过选择计算任务对应的算法实现,从而提升完成计算任务的整体系统性能。
第一方面,提供了一种策略选择方法,该方法包括:获取第t个时间间隔对应的系统性能参数,其中,系统性能参数包括硬件性能参数和/或软件性能参数;根据系统性能参数,确定第一评价分数,第一评价分数用于确定基础计算任务在第t+1个时间间隔的目标算法实现策略,其中,目标算法实现策略属于基础计算任务对应的候选算法实现策略集,t为正整数。
上述候选算法实现策略集中的每个候选算法实现策略都可以用于实现基础计算任务,第t+1个时间间隔中的目标算法实现策略属于候选算法实现策略集,但不一定是候选算法实现策略集中一种固定不变的候选算法实现策略。
在本申请中,通过实时监测当前时刻的基础计算任务所对应的系统性能参数,并将系统性能参数进行分数化评估,从而有助于从基础计算任务对应的候选算法实现策略集中确定下一个时间间隔中的目标算法实现策略。这样,无需软件开发者了解算法开发者设计的每一种算法实现的具体原理,也无需对每一种算法实现在不同硬件上的运行效果进行优劣判断,根据系统的运行参数性能的评价分数,有助于自动地从候选算法实现策略集中选择合适的算法实现策略,进而提高了系统运行的整体性能。
结合第一方面,在第一方面的某些实现方式中,基础计算任务对应一个或多个算法实 现,目标算法实现策略包括基础计算任务对应的目标算法实现和用于执行目标算法实现的目标执行器。
本申请中,基础计算任务对应一个或多个算法实现,可以理解为,一个或多个算法实现中的每个算法实现都可以用于实现基础计算任务。
结合第一方面,在第一方面的某些实现方式中,根据第一评价分数,确定基础计算任务的每个候选算法实现策略在第t+1个时间间隔的使用概率,其其中,每个候选算法实现策略属于候选算法实现策略集;根据每个候选算法实现策略的使用概率,从候选算法实现策略集中随机选择第t+1个时间间隔的目标算法实现策略;向目标执行器发送目标算法实现。
在本申请中,将多个系统性能参数进行分数化评估,将多参数问题转换为单参数问题,通过系统性能参数对应的评价分数,可以降低对多系统性能参数的综合考虑难度,有助于进一步确定基础计算任务的目标算法实现策略。除此以外,由于选择模块和算法调用模块的运行频率相同,并且高于评分模块以及系统性能监测装置的运行频率,因此通过评分模块确定基础计算任务对应的每个候选算法实现策略的使用概率,供选择模块随机选择,增加了每个候选算法实现策略的使用概率的多样性的同时,可以提高算法调用模块每次调用目标算法实现的随机性,从而有利于快速获得优化稳定后的每个候选算法实现策略的目标使用概率。
结合第一方面,在第一方面的某些实现方式中,根据第一评价分数,确定基础计算任务的每个候选算法实现策略在第t+1个时间间隔的使用概率包括:获取第t-k个时间间隔至第t个时间间隔的系统性能参数对应的k个评价分数,其中,1≤k<t,k为正整数;根据k个评价分数,获得第二评价分数,其中第二评价分数为系统性能参数在第t+1个时间间隔的预测评价分数;根据第一评价分数和第二评价分数,确定每个候选算法实现策略在第t+1个时间间隔中的使用概率。
结合第一方面,在第一方面的某些实现方式中,根据第一评价分数和第二评价分数,确定每个候选算法实现策略在第t+1个时间间隔的使用概率包括:当第二评价分数小于第一评价分数时,每个候选算法实现策略在第t+1个时间间隔中的使用概率为每个候选算法实现策略在第t-1个时间间隔中的使用概率;当第二评价分数大于或等于第一评价分数时,根据每个候选算法实现策略在第t个时间间隔中的使用概率,确定每个候选算法实现策略在第t+1个时间间隔中的使用概率。
结合第一方面,在第一方面的某些实现方式中,根据每个候选算法实现策略在第t个时间间隔中的的使用概率,确定每个候选算法实现策略在第t+1个时间间隔中的使用概率包括:通过概率调节步长,调整每个候选算法实现策略在第t个时间间隔中的使用概率,以确定每个候选算法实现策略在第t+1个时间间隔中的使用概率。
结合第一方面,在第一方面的某些实现方式中,基础计算任务为能够由一个算法实现单独完成的计算任务。
结合第一方面,在第一方面的某些实现方式中,软件性能参数为基础计算任务对应的指标参数。
结合第一方面,在第一方面的某些实现方式中,硬件性能参数为用于实现基础计算任务的多个执行器对应的性能参数,其中硬件性能参数包括每个执行器的使用率、每个执行 器的负载率、多个执行器所在的计算平台的温度、所述多个执行器中每个执行器的温度中至少一种。
在本申请中,虽然,用于运行目标计算任务对应的算法实现的执行器,可能仅仅是整体系统中的一个具体的执行器,但是,通过监测整体系统中的每个执行器,可以获得整体系统的全局运行情况,以便于从候选算法实现策略集中选择出下一个时间间隔中的目标计算任务对应的目标算法实现策略。
第二方面,提供了一种策略选择的装置,该装置包括评分模块:评分模块用于,获取第t个时间间隔对应的系统性能参数,其中,系统性能参数包括硬件性能参数和/或软件性能参数;评分模块用于,根据系统性能参数,确定第一评价分数,第一评价分数用于确定基础计算任务在第t+1个时间间隔的目标算法实现策略,其中,目标算法实现策略属于基础计算任务对应的候选算法实现策略集,t为正整数。
本申请中,候选算法实现策略集中的每个候选算法实现策略都可以用于实现基础计算任务,第t+1个时间间隔中的目标算法实现策略属于候选算法实现策略集,但不一定是候选算法实现策略集中一种固定不变的候选算法实现策略。
在本申请中,通过实时监测当前时刻的基础计算任务所对应的系统性能参数,并将系统性能参数进行分数化评估,从而有助于从基础计算任务对应的候选算法实现策略集中确定下一个时间间隔中的目标算法实现策略。这样,无需软件开发者了解算法开发者设计的每一种算法实现的具体原理,也无需对每一种算法实现在不同硬件上的运行效果进行优劣判断,根据系统的运行参数性能的评价分数,有助于自动地从候选算法实现策略集中选择合适的算法实现策略,进而提高了系统运行的整体性能。
结合第二方面,在第二方面的某些实现方式中,基础计算任务对应一个或多个算法实现,目标算法实现策略包括基础计算任务对应的目标算法实现和用于执行目标算法实现的目标执行器。
本申请中,基础计算任务对应一个或多个算法实现,可以理解为,一个或多个算法实现中的每个算法实现都可以用于实现基础计算任务。
结合第二方面,在第二方面的某些实现方式中,该装置还包括选择模块、算法调用模块,评分模块用于,根据第一评价分数,确定基础计算任务的每个候选算法实现策略在第t+1个时间间隔的使用概率,其中,每个候选算法实现策略属于候选算法实现策略集;选择模块用于,根据每个候选算法实现策略的使用概率,从候选算法实现策略集中随机选择第t+1个时间间隔的目标算法实现策略;算法调用模块用于,向目标执行器发送目标算法实现。
在本申请中,将多个系统性能参数进行分数化评估,将多参数问题转换为单参数问题,通过系统性能参数对应的评价分数,可以降低对多系统性能参数的综合考虑难度,有助于进一步确定基础计算任务的目标算法实现策略。除此以外,由于选择模块和算法调用模块的运行频率相同,并且高于评分模块以及系统性能监测装置的运行频率,因此通过评分模块确定基础计算任务对应的每个候选算法实现策略的使用概率,供选择模块随机选择,增加了每个候选算法实现策略的使用概率的多样性的同时,可以提高算法调用模块每次调用目标算法实现的随机性,从而有利于快速获得优化稳定后的每个候选算法实现策略的目标使用概率。
结合第二方面,在第二方面的某些实现方式中,该评分模块具体用于:获取第t-k个时间间隔至第t个时间间隔的系统性能参数对应的k个评价分数,其中,1≤k<t,k为正整数;根据k个评价分数,获得第二评价分数,其中第二评价分数为系统性能参数在第t+1个时间间隔的预测评价分数;根据第一评价分数和第二评价分数,确定每个候选算法实现策略在第t+1个时间间隔中的使用概率。
结合第二方面,在第二方面的某些实现方式中,该评分模块具体用于:当第二评价分数小于第一评价分数时,每个候选算法实现策略在第t+1个时间间隔中的使用概率为每个候选算法实现策略在第t-1个时间间隔中的使用概率;
当第二评价分数大于或等于第一评价分数时,根据每个候选算法实现策略在第t个时间间隔中的使用概率,确定每个候选算法实现策略在第t+1个时间间隔中的使用概率。
结合第二方面,在第二方面的某些实现方式中,该评分模块具体用于:通过概率调节步长,调整每个候选算法实现策略在第t个时间间隔中的使用概率进行调整,以确定每个候选算法实现策略在第t+1个时间间隔中的使用概率。
结合第二方面,在第二方面的某些实现方式中,基础计算任务为能够由一个算法实现单独完成的计算任务。
结合第二方面,在第二方面的某些实现方式中,软件性能参数为基础计算任务对应的指标参数。
结合第二方面,在第二方面的某些实现方式中,硬件性能参数为用于实现基础计算任务的多个执行器对应的性能参数,其中硬件性能参数包括多个执行器中每个执行器的使用率、多个执行器中每个执行器的负载率、多个执行器所在的计算平台的温度、多个执行器中每个执行器的温度中至少一种。
在本申请中,虽然,用于运行目标计算任务对应的算法实现的执行器,可能仅仅是整体系统中的一个具体的执行器,但是,通过监测整体系统中的每个执行器,可以获得整体系统的全局运行情况,以便于从候选算法实现策略集中选择出下一个时间间隔中的目标计算任务对应的目标算法实现策略。
第三方面,提供了一种策略选择的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行上述第一方面中的任意一种实现方式中的方法。
上述第三方面中的处理器既可以是中央处理器(central processing unit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
第四方面,提供了一种车载计算平台,该车载计算平台包括第三方面的装置和多个执行器,其中,基础计算任务通过该多个执行器中的任何一个执行器实现。
第五方面,提供了一种车辆,该车辆包括如第四方面的车载计算平台和系统性能监测装置,其中,系统性能监测装置用于监测系统性能参数。
第六方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面中的任意一种实现方式中的方法。
第七方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的任意一种实现方式中的方法。
第八方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面中的任意一种实现方式或上述第二方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
可选地,上述芯片可以为上述第二方面中的任意一种实现方式中的确定芯片状态的装置。
图1是本申请实施例中提供的车辆100的一个功能框架示意图;
图2是本申请实施例提供的一种策略选择方法流程示意图;
图3为本申请实施例提供的一种系统性能监测时序示意图;
图4是本申请实施例提供的一种选择并运行算法实现策略的系统框架示意图;
图5是本申请实施例提供的一种选择并运行目标算法实现策略的流程示意图;
图6是本申请实施例提供的另一种选择并运行目标算法实现策略的流程示意图;
图7是本申请实施例提供的另一种选择并运行算法实现策略的系统框架示意图;
图8是本申请实施例提供的又一种选择并运行目标算法实现策略的流程示意图;
图9是本申请实施例提供的又一种选择并运行算法实现策略的系统框架示意图;
图10是本申请实施例提供的又一种选择并运行目标算法实现策略的流程示意图;
图11是本申请实施例提供的一种策略选择装置的硬件结构框图。
下面将结合附图,对本申请实施例中的技术方案进行描述。
为了便于理解,先对本申请实施例涉及的技术术语做解释。
1.应用程序接口API
API是一些预先定义的函数,为应用程序与开发人员,在无需方位源码或者理解内部工作细节的情况下,提供访问一组例程的能力。
2.单指令多数据流(signal instruction multiple data,SIMD)
SIMD是一种使用单指令处理多道数据流的中央处理单元(central processing unit,CPU)执行模式。
3.流式单指令多数据流扩展指令集(streaming SIMD extensions,SSE)
SSE能够有效增强CPU浮点运算的能力。
4.先进向量扩展指令集(advanced vector eXtensions,AVX)
AVX是对一个多维数组做相同处理的指令集。例如,先进向量扩展指令512位宽 AVX512。
对于一个计算任务往往存在多种算法实现,算法API开发者会为一个计算任务编写多种算法实现,供软件开发者调用。不同的算法实现具有不同的指令(或代码),例如,“x264”视频编码程序同时支持SSE和AVX指令,对于同时支持SSE和AVX指令的平台,软件开发者可以通过调用SSE指令来实现视频编码,也可以通过调用AVX指令来实现视频编码。然而,由于通过调用AVX指令来实现视频编码的系统性能往往更强,增强了程序性能,因此,软件开发者会优选AVX指令来实现视频编码。
再例如,在许多计算任务中都需要对数据进行排序,目前存在很多排序算法,软件开发者可以根据数据量的具体情况,调用较优的排序算法对应的算法API来实现数据排序任务。
针对某一特定计算任务,目前的算法实现的选择方法是通过软件开发者发起计算任务A,且确定通过实现A和执行器1来实现计算任务A为算法实现策略,选择模块将软件开发者确定的策略(例如,算法实现A和执行器1)确定为特定计算任务的算法实现策略,算法调用模块根据计算任务A请求消息和从选择模块获取的最优策略,将获取的算法实现A发送给执行器1,以完成计算任务A。
其中,计算任务A可以理解为高层次计算任务中的基础计算任务,基础计算任务具有计算复杂度低、处理数据量大的特点。例如,基础计算任务可以是对数据进行排序的计算任务,在智能车计算系统中,基础计算任务可以是大尺寸矩阵乘法的计算任务、三维点云数据投影的计算任务和光流特征提取等计算任务。本申请实施例对基础计算任务的类型不作限定。
应理解,执行器集合可以包括执行器1、执行器2、执行器3等,具体而言,执行器1至执行器n中任意一个都可以是一种处理器,其中,n为正整数。处理器是一种具有信号处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如,中央处理单元CPU、微处理器、图形处理器(graphics processing unit,GPU)(可以理解为一种微处理器)、或数字信号处理器(digital signal processor,DSP)等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为专用集成电路(application-specific integrated circuit,ASIC)或可编程逻辑器件(programmable logic device,PLD)实现的硬件电路,例如FPGA。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如神经网络处理单元(neural network processing unit,NPU)、张量处理单元(tensor processing unit,TPU)、深度学习处理单元(deep learning processing unit,DPU)等。此外,对一个执行器(例如执行器1至n中的一个或多个)来说,该执行器还可以包括存储器,存储器用于存储指令,该执行器中的部分或全部处理器可以调用存储器中的指令,执行指令,以实现相应的功能。
虽然在程序开发阶段,软件开发者会根据自身经验,从算法API开发者设计好的多种算法实现中选择调用较优的算法实现,来完成一个特定的计算任务,但是,由于程序运行的动态性和复杂性,往往会存在很多问题影响程序运行的性能。
首先,由于程序运行环境比较复杂,可能会存在完成计算任务A的整体时间较长的情 况。
具体而言,一种情况,软件开发者确定的完成计算任务A的策略为“算法实现A+执行器1”,当执行器1的负载较高时,也就是执行器1执行的计算任务较多时,有可能出现完成计算任务A的算法实现A在执行器1中产生阻塞的情况,这将影响完成计算任务A的时间。
另一种情况,出于尽可能利用资源的目的,可能需要协同多个硬件单元来共同完成计算任务A。例如,某一AI推理芯片包括两种AI推理加速器,其中加速器A支持的AI计算任务较少,但是出于尽可能利用资源的目的,当计算任务A可以使用加速器A推理时,算法调用模块会优先调用加速器A对应的算法实现,如果有加速器A实现不了的部分,算法调用模块会调用加速器B对应的算法实现来共同完成计算任务A。这样,会导致加速器A和加速器B之间需要频繁进行数据同步和数据交换,才能协同完成计算任务A,这将影响完成计算任务A的时间。甚至,通过加速器A和加速器B协同完成计算任务A的整体性能不如单独使用加速器B。
其次,当计算任务A的数据规模发生变化,通过算法API开发者指定的策略完成计算任务A时,会存在执行器1的利用率发生变化的情况,从而影响完成计算任务A的整体系统性能。
例如,算法API开发者在设计具体算法实现时,由于使用GPU来完成计算任务A的计算性能最强,一般会推荐使用GPU来运行相应的算法实现。但是,对于完成计算任务A的整体时间而言,调用GPU的时间并不能忽略不计,因此,软件开发者在确定算法实现策略时,需要平衡硬件的计算性能和调度时间,从而使得完成计算任务A的整体系统性能最佳。
但是,软件开发者往往无法很好地平衡硬件的计算性能和调度时间,从而一味地调度计算性能最强的硬件,使得无法充分利用被调度的硬件,而调度时间会比较长,从而影响完成计算任务A的整体系统性能。例如,当计算任务A的数据规模变小时,软件开发者选择通过调度GPU运行算法实现A来完成。由于数据规模变小,并不需要利用GPU的强计算性能,就可以迅速完成计算任务A。然而,软件开发者依旧选择通过调度GPU来完成,调度GPU的时间耗费可能比较多,从而使得完成计算任务A的整体系统性能下降。
再次,当相邻的基础计算任务具有相关性时,软件开发者如果孤立地分别选择相邻的计算任务对应的最高效的算法实现,可能对于整体的系统性能而言,并非最佳的算法实现。
例如,计算任务A的输出作为计算任务B的输入,这两个基础计算任务具有强相关性。对于计算任务A而言,在CPU上运行相应的算法实现最高效;对于计算任务B而言,在GPU上运行相应的算法实现最高效。如果软件开发者孤立地追求不同计算任务对应的实现策略,由于调用GPU会产生额外的调度时间,那么整体任务的完成时间会比较长。例如,虽然使用CPU完成计算任务A和计算任务B的总计算时长,多于分别使用CPU完成计算任务A和使用GPU完成计算任务B的总计算时长,但是由于后者在使用CPU完成计算计算任务A之后需要时间来调度GPU,而前者无调度时间,因此,后者完成计算任务A和计算任务B的总时长要多于前者。
最后,虽然实现计算任务A的算法实现A是最高效的算法实现,但是算法实现A对应的功耗过高,可能引起执行器1出现芯片频率下降的现象,系统的最终性能反而不佳。
例如,目前,有一种尽可能调用最新指令集的策略选择方法,但是,由于市场上的执行器1的芯片种类非常丰富,通过调用最新指令集的策略选择方法未必能调用到较优的算法实现。例如,某新型处理器对应的一种算法实现(例如,AVX512指令)的理论性能较强,但是为了完成计算任务A,通过调用AVX512指令来实现时,执行器1功耗过高,执行器1的芯片将触发保护机制,使得执行器1的芯片的频率降低。由于芯片的频率和算法实现的效率之间具有强相关的关系,因此,这将导致完成计算任务A的程序运行的整体性能下降。
为了解决上述问题,本申请实施例提出来一种策略选择方法和装置。下面将结合图2至图10对策略选择方法进行详细描述。
本申请实施例提出的策略选择方法和装置可以应用于具有多种性能不同的算法实现的系统。具有多种性能不同的算法实现的系统,包括硬件计算单元平台和数据处理软件系统等。其中,硬件计算单元平台可以是智能汽车计算平台,可以是手机,还可以是个人电脑等,本申请实施例对此不作限制。下面主要以智能汽车计算平台为例进行具体说明。
在对本申请实施例提出的策略选择方法做详细描述之前,先结合图2对应用该策略选择方法的车载计算平台做详细描述。
图1是本申请实施例中提供的车辆100的一个功能框架示意图。车辆100可以包括感知系统120、显示装置130和计算平台150,其中,感知系统120可以包括感测车辆100周边的环境的信息的若干种传感器。例如,感知系统120可以包括定位系统,定位系统可以是全球定位系统(global positioning system,GPS),也可以是北斗系统或者其他定位系统、惯性测量单元(inertial measurement unit,IMU)、激光雷达、毫米波雷达、超声雷达以及摄像装置中的一种或者多种。
车辆100的部分或所有功能可以由计算平台150控制。计算平台150可包括处理器151至15n(n为正整数),处理器是一种具有信号处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如,中央处理单元CPU、微处理器、图形处理器GPU、或数字信号处理器DSP等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为专用集成电路ASIC或可编程逻辑器件PLD实现的硬件电路,例如FPGA。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如神经网络处理单元NPU、张量处理单元TPU、深度学习处理单元DPU等。此外,计算平台150还可以包括存储器,存储器用于存储指令,处理器151至15n中的部分或全部处理器可以调用存储器中的指令,执行指令,以实现相应的功能。
图2是本申请实施例提供的一种策略选择方法流程示意图,如图2所示,该方法包括步骤S210-S220。
S210,获取第t个时间间隔对应的系统性能参数,其中,系统性能包括硬件性能参数和/或软件性能参数,其中软件性能参数为基础计算任务对应的软件性能参数。
应理解,基础计算任务为高层次计算任务中包括的基础计算任务中的任意一个。其中,高层次计算任务可以理解为用于实现一个业务的计算任务,高层次计算任务可以被分解成 多个基础计算任务。例如,在智能车计算系统中,高层次计算任务可以是自适应巡航控制(adaptive cruise control,ACC)任务、路径规划任务、自动泊车任务等自动驾驶任务。
应理解,硬件性能参数可以是计算平台中每个执行器的使用率,还可以是每个执行器的负载率,还可以是计算平台的温度,多个执行器中每个执行器的温度,或者是其他硬件性能指标,本申请实施例对此不作限制。本申请实施例对计算平台中的执行器类型不作限制,例如,可以是CPU、GPU和NPU等。
软件性能参数可以是基础计算任务对应的软件性能,也可以理解为执行基础计算任务的指标参数,例如基础计算任务的执行时间,或者是基础计算任务的运行速度,或者其他软件性能指标。
本申请中,基础计算任务的执行时间可以理解为高层次计算任务在执行过程中基础计算任务的执行时间。
示例性地,如果高层次计算任务中包括计算任务A、计算任务B和计算任务C,而完成1次高层次计算任务,需要执行20次计算任务A、5次计算任务B以及1次计算任务C,在第t个时刻获取第t个时间间隔对应的系统性能参数时,完成了n次高层次计算任务,那么基础计算任务的执行时间可以是执行20n次计算任务A的时间,或者可以是执行5n次计算任务B的时间,或者还可以是执行n次计算任务C的时间,n为正整数。其中,在第t个时刻,完成了n次高层次计算任务可以理解为,从第t-1个时刻到第t个时刻的时间间隔内,完成了n次高层次计算任务,n为正整数。
应理解,系统性能参数可以是智能车计算系统的性能参数,也就是车载计算平台的系统性能参数,或者是其他多计算单元系统的性能参数,本申请实施例对应用场景不作限制。
S220,根据系统性能参数,确定第一评价分数,第一评价分数用于选择基础计算任务在第t+1个时间间隔中的目标算法实现策略,其中,目标算法实现策略属于候选算法实现策略集,t为正整数。
作为一种可能的实现方式,第一评价分数为硬件性能和软件性能的加权评价分数。
应理解,第t+1个时间间隔为第t个时刻和第t+1个时刻之间的时间间隔,每个时间间隔是相同的,也就是第t个时间间隔和第t+1个时间间隔是相同的,本申请实施例对时间间隔的取值不作限定,两个系统性能参数获取时刻之间的时间间隔可以是秒级,例如,1秒。
本申请中,第t+1个时间间隔可以分为两个时间段,第一个时间段在第t个时刻和目标算法实现策略确定的时刻之间,由于在第一个时间段中基础计算任务的目标算法实现策略还未确定,因此,在第一个时间段中,基础计算任务的算法实现策略仍然使用第t个时刻的算法实现策略,或者基础计算任务的每个算法实现策略的使用概率仍然是每个候选算法实现策略在第t个时刻的使用概率。第二个时间段在目标算法实现策略确定的时刻和第t+1个时刻之间。在第二个时间段中,基础计算任务的算法实现策略为目标算法实现策略,或者基础计算任务的每个候选算法实现策略的使用概率为更新后的使用概率。
候选算法实现策略集中的每个候选算法实现策略都可以用于实现基础计算任务,第t+1个时间间隔中的目标算法实现策略属于候选算法实现策略集,但不一定是候选算法实现策略集中一种固定不变的候选算法实现策略。
示例性地,候选算法实现策略集中一共有三种候选算法实现策略,在第t+1个时间间 隔中,需要执行多次基础计算任务,每次用于实现基础计算任务的目标算法实现策略可以是固定的第一候选算法实现策略,可以是固定的第二候选算法实现策略,还可以是固定的第三候选算法实现策略。或者,在第t个时间间隔中每次用于实现基础计算任务的目标算法实现策略可以随机地为这三种候选算法实现策略中的一种,也就是在第t+1个时间间隔内多次实现基础计算任务过程中,可能这三种候选算法实现策略都被选择了,也可能其中两种候选算法实现策略被选择了,还可能是其中一种候选算法实现策略被选择了。
候选算法实现策略可以包括基础计算任务的候选算法实现和/或用于执行候选算法实现的执行器。
例如,如果基础计算任务有多种候选算法实现,并且每种候选算法实现可以在多个执行器上运行,那么多个候选算法实现可以和多个执行器随机组合,形成多个候选算法实现策略。或者,提前确定好基础计算任务的算法实现,此时,候选算法实现策略可以包括用于执行该算法实现的执行器。或者提前确定好基础计算任务的执行器,此时,候选算法实现策略包括候选算法实现。本申请实施例对此不作限制。本申请实施例以候选算法实现策略包括基础计算任务的候选算法实现和用于执行候选算法实现的执行器为例进行说明。
在本申请实施例中,在当前时刻,通过实时监测当前时间间隔的基础计算任务所对应的系统性能参数,并将系统性能参数进行分数化评估,从而有助于从基础计算任务对应的候选算法实现策略集中确定下一个时间间隔中的目标算法实现策略。这样,无需软件开发者了解算法开发者设计的每一种算法实现的具体原理,也无需对每一种算法实现在不同硬件上的运行效果进行优劣判断,根据系统的运行参数性能的评价分数,有助于自动地从候选算法实现策略集中选择合适的算法实现策略,进而提高了系统运行的整体性能。
下面首先结合图3对本申请实施例中,系统性能监测装置对监测整体系统性能的时刻以及监测的时间间隔做详细说明。图3为本申请实施例提供的一种系统性能监测时序示意图。以高层次计算任务中的基础计算任务为计算任务A为例进行说明。
如图3所示,在初始时刻,算法调用模块调用计算任务A对应的初始算法实现策略,其中,计算任务A对应的初始算法实现策略可以预置在计算系统中,也可以是软件开发者在进行第一次高层次计算任务时,确定的初始算法实现策略。从初始时刻开始,系统性能监测装置每隔相同的时间间隔就监测整体系统性能参数一次。也就是,如图3所示,从第1个时刻开始,系统性能监测装置开始监测整体系统性能参数,在第1个时刻,监测第1个时间间隔对应的系统性能参数。而每两个时刻之间的时间间隔相同,如图3所示,初始时刻和第1个时刻之间的时间间隔为第1个时间间隔,第t-1个时刻和第t个时刻之间的时间间隔是第t个时间间隔,而第1个时间间隔和第t个时间间隔是相同的。
具体地,每两个时刻之间的时间间隔可以是秒级的,例如,1秒。
在本申请实施例中,虽然,用于运行目标计算任务对应的算法实现的执行器,可能仅仅是整体系统中的一个具体的执行器,但是,通过监测整体系统中的每个执行器,可以获得整体系统的全局运行情况,以便于从候选算法实现策略集中选择出下一个时间间隔中的目标计算任务对应的目标算法实现策略。
下面将结合图4具体说明算法实现策略选择并运行的过程。图4是本申请实施例提供的一种选择并运行算法实现策略的系统框架示意图。图4中基础计算任务可以是高层次计算任务中包括的基础计算任务中的任意一个。
如图4所示,选择并运行算法实现策略的系统框架包括任务发起模块、系统性能监测装置、策略选择装置以及多个执行器(该多个执行器统称为执行器集合),策略选择装置包括评分模块、选择模块、算法调用模块。
任务发起模块用于确定高层次计算任务中的基础计算任务,并将基础计算任务的处理请求发送给算法调用模块和系统性能监测装置。
系统性能监测装置用于在第t个时刻,监测第t个时间间隔对应的系统性能参数,其中,系统性能参数包括硬件性能参数和/或软件性能参数。例如,如图4所示,硬件性能参数可以包括高层次计算任务的计算平台中的各个执行器的使用率、负载率、温度等参数。软件性能参数可以是基础计算任务在第t个时间间隔的执行时间(图4中未示出)。
评分模块用于根据从系统性能监测装置获得的第t个时间间隔对应的系统性能参数,获得系统性能的评估分数,以便于选择第t+1个时间间隔中基础计算任务的目标算法实现策略。
选择模块用于选择第t+1个时间间隔中基础计算任务的目标算法实现策略。
算法调用模块用于根据基础计算任务的处理请求,从选择模块中调用目标算法实现策略中对应的目标算法实现,并将目标算法实现发送给目标算法实现策略中对应的目标执行器去运行。例如,如图4所示,算法调用模块可以根据基础计算任务的处理请求,从选择模块中调用基础计算任务的目标算法实现策略中对应的目标算法实现(例如,算法实现A),并将目标算法实现发送给目标算法实现策略中对应的目标执行器去运行(例如,执行器1)。
执行器集合包括高层次计算任务的计算平台中的多个执行器,用于运行算法调用模块发送的算法实现。
应理解,此处执行器还可以称为计算单元,执行器可以为处理器,本申请实施例对处理器的具体类型不作限制。
图4所示的系统框架同样适用于多基础计算任务的高层次计算任务。当该框架适用于多基础计算任务的高层次计算任务时,每个基础计算任务都可以有自己对应的评分模块来实现对每个基础计算任务的分数化评估,以便后续选择模块对每个基础计算任务的目标算法实现策略进行选择。或者,每个基础计算任务共用同一个评分模块,评分模块依次对每个基础计算任务进行分数化评估,以便后续选择模块对每个基础计算任务对应的目标算法实现策略进行选择。
下面将结合图5和图6具体说明两种选择并运行目标算法实现策略的方法,第一种可以实现基于整体系统性能参数,有限地随机选择目标计算任务对应的目标算法实现策略;第二种可以实现基于整体系统性能参数,更加随机地选择目标计算任务对应的目标算法实现策略。
第一种,评分模块根据第t个时间间隔对应的系统性能参数,选择第t+1个时间间隔中基础计算任务的目标算法实现策略。下面将结合图4和图5具体说明第一种选择并运行目标算法实现策略的方法。图5是本申请实施例提供的一种选择并运行目标算法实现策略的流程示意图,该方法包括步骤S501-S507。
S501,任务发起模块确定基础计算任务,并向算法调用模块和系统性能监测装置发送基础计算任务的处理请求。
S502,算法调用模块在初始时刻接收基础计算任务的处理请求,并根据该处理请求, 从选择模块调用基础计算任务对应的初始算法实现策略中的算法实现,并将该算法实现发送给初始算法实现策略中的执行器来运行基础计算任务的算法实现。
其中,执行器运行算法实现可以理解为执行器运行算法实现对应的程序或代码。
S503,系统性能监测装置在初始时刻接收到基础计算任务的处理请求,并在第1个时刻开始实时监测每个时间间隔对应的系统性能参数。
作为一种可能的实现方式,系统性能监测装置从第1个时刻以后,在实现基础计算任务过程中以固定时间间隔监测整体系统性能参数。其中,整体系统性能参数的表征指标可以是计算平台中每个执行器的使用率、每个执行器的负载率、每个执行器的温度、计算平台的温度、在固定时间间隔内基础计算任务的执行时间等指标中的至少一个。本申请实施例对系统性能的表征指标的类型不作限定,还可以是其他性能指标。
S504,评分模块在第t个时刻,从系统性能监测装置获取第t个时间间隔对应的整体系统性能参数,并根据获取的第t个时间间隔对应的整体系统性能参数,确定第一评价分数。
应理解,评分模块可以根据上述系统性能参数的表征指标中的任意一个,来确定第一评价分数,还可以根据上述系统性能参数的表征指标中的多个,来确定第一评价分数,本申请实施例对此不作限制。
作为一种可能的实现方式,评分模块可以根据系统性能参数中的硬件性能参数,来确定第一评价分数。
示例性地,硬件性能参数可以为执行器集合中每个执行器的使用率,第一评价分数用于评价各个执行器的利用率。硬件性能参数可以为执行器集合中每个执行器的负载率,第一评价分数用于评价各个执行器的负载率。硬件性能参数可以为执行器集合中每个执行器的温度,第一评价分数用于评价各个执行器的运行温度情况。
作为一种可能的实现方式,评分模块可以根据系统性能参数中的软件性能参数,来确定第一评价分数。
示例性地,软件性能参数可以为在第t个时间间隔中基础计算任务的执行时间,第一评价分数用于评价第t个时间间隔中基础计算任务的执行时间。例如,每执行1次高层次计算任务,需要执行100次基础计算任务,在第t个时间间隔中,执行了n次高层次计算任务,因此,第t个时刻监测的软件性能参数可以为第t个时间间隔中执行了100n次基础计算任务的执行时间。
作为一种可能的实现方式,评分模块可以根据系统性能参数中的硬件性能参数和软件性能参数,来确定第一评价分数。
示例性地,第一评价分数用于评价各执行器的利用率以及实现基础计算任务的执行时间。
本申请实施例对系统性能参数分数化评估的方式不作限定,用于评价系统性能参数的分数和系统性能参数的具体数值,可以是正相关的关系,也可以是负相关的关系。
在本申请实施例中,将多个系统性能参数进行分数化评估,将多参数问题转换为单参数问题,通过系统性能参数对应的评价分数,可以降低对多系统性能参数的综合考虑难度,有助于进一步确定基础计算任务的目标算法实现策略。
S505,评分模块根据第一评价分数,选择基础计算任务在第t+1个时间间隔中的目标 算法实现策略,并将该目标算法实现策略发送给选择模块。
作为一种可能的实现方式,评分模块根据第t-k个时间间隔至第t个时间间隔的系统性能参数的k个评价分数,预测第t+1个时间间隔的系统性能参数的第二评价分数;根据第二评价分数和第一评价分数,确定在第t+1个时间间隔中,基础计算任务的目标算法实现策略。
应理解,k个评价分数为根据实时监测的系统性能参数得到的,而第二评价分数为预测的第t+1个时间间隔对应的系统性能参数。
应理解,预测第二评价分数的过程可以通过任何一种基于时序的预测方法,例如,多项式拟合、卡尔曼滤波等,本申请实施例对此不作限制。
还应理解,本申请实施例对系统性能和评价分数的关系不作限定,也就是系统性能和评价分数可以是正相关关系,例如,评价分数越高,则系统性能越好;系统性能和评价分数还可以是负相关关系,例如,评价分数越低,则系统性能越好。以下以系统性能和评价分数为正相关关系为例进行说明。
当第二评价分数小于第一评价分数时,评分模块将基础计算任务在第t+1个时间间隔中的目标算法实现策略,确定为第t-1个时刻基础计算任务对应的目标算法实现策略。
当第二评价分数大于或等于第一评价分数时,评分模块根据基础计算任务第t个时刻的目标算法实现策略,通过调整每个候选算法实现策略在第t+1个时间间隔中的使用概率,以随机选择基础计算任务第t+1个时间间隔中对应的目标算法实现策略。
其中,每个候选算法实现策略属于算法API开发者给出的针对基础计算任务的多种算法实现策略。
S506,选择模块根据从评分模块接收的基础计算任务在第t+1个时间间隔中的目标算法实现策略,以及来自算法调用模块的基础计算任务的处理请求消息,将基础计算任务的目标算法实现策略中对应的目标算法实现发送给算法调用模块。
S507,算法调用模块将从选择模块调用的目标算法实现发送给目标算法实现策略中的目标执行器,以实现的基础计算任务。
在本申请实施例中,评分模块通过实时获得整体系统性能参数的评价分数,以确定下一个时间间隔中基础计算任务对应的目标算法实现策略,从而在一定程度上实现了对下一个时间间隔的基础计算任务对应的目标算法实现策略的自动随机选择。对于软件开发者而言,并不需要了解算法API开发者设计的基础计算任务对应的每一种的算法实现策略的优劣,并从中平衡选择出一种合适的算法实现策略。例如,如果基础计算任务对应的算法实现策略较多,那么通过本申请实施例的方案可以从众多候选算法实现策略中获得更加匹配整体系统性能的目标算法实现策略。
在该实施例中的“一定程度上的”以及“有限的”目标算法实现策略的选择体现在,由于选择模块和算法调用模块的运行频率相同,并且高于评分模块以及系统性能监测装置。因此,如果评分模块运行1次确定了在第t+1个时间间隔中基础计算任务对应的目标算法实现策略,在选择模块重新从评分模块获取了目标算法实现策略之后,算法调用模块需要从选择模块调用100次目标算法实现给相应的执行器去运行,那么这100次算法调用模块调用的算法实现以及执行的执行器都相同,直到选择模块从评分模块重新获得第t+2个时间间隔中的目标算法实现策略。
第二种,评分模块根据在第t个时刻获取的第t个时间间隔对应的系统性能参数,确定每个候选算法实现策略在第t+1个时间间隔中的使用概率,从而使得选择模块选择基础计算任务在第t+1个时间间隔中的目标算法实现策略。下面将结合图4和图6具体说明第二种选择并运行目标算法实现策略的方法。图6是本申请实施例提供的另一种选择并运行目标算法实现策略的流程示意图,该方法包括步骤S601-S607。
应理解,第二种选择并运行目标算法实现策略方法中的步骤S601至S604,和第一种选择并运行目标算法实现策略方法中的步骤S501至S504相同,为了简洁,在此不做赘述。
S605,评分模块根据第一评价分数,确定基础计算任务对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率,并将该使用概率发送给选择模块。
作为一种可能的实现方式,评分模块根据第t-k个时刻至第t个时刻的系统性能参数的k个评价分数,预测第t+1个时间间隔对应的系统性能参数的第二评价分数;根据第二评价分数和第一评价分数,确定基础计算任务对应的每个候选算法实现策略在第t+1个时间间隔中,的使用概率。
关于预测第二评价分数的说明和第一种选择并运行目标算法实现策略的方法的S505中的相关说明相同,在此不做赘述。
关于评价分数和整体系统性能之间的关系的说明,同样也和第一种选择并运行目标算法实现策略的方法的S505中的相关说明相同,在此不做赘述。以系统性能和评价分数为正相关关系为例进行说明。
当第二评价分数小于第一评价分数,评分模块可以将基础计算任务对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率,确定为基础计算任务对应的每个候选算法实现策略在第t-1个时间间隔中的使用概率。
当第二评价分数大于或等于第一评价分数,评分模块,根据基础计算任务对应的每个候选算法实现策略在第t个时间间隔中的使用概率,调整基础计算任务对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率。
应理解,本申请实施例对调整每个候选算法实现策略的使用概率的具体方法不作限制,例如,可以通过确定概率调节步长来更改每个候选算法实现策略的使用概率。
S606,选择模块根据从评分模块获取的基础计算任务的每个候选算法实现策略在第t+1个时间间隔中的使用概率,以及来自算法调用模块的基础计算任务的处理请求消息,随机选择基础计算任务在第t+1个时间间隔中的目标算法实现策略。
S607,算法调用模块根据基础计算任务的处理请求消息,从选择模块调用目标算法实现策略对应的目标算法实现,并将目标算法实现发给目标算法实现策略中对应的目标执行器,以实现基础计算任务。
在本申请实施例中,由于选择模块和算法调用模块的运行频率相同,并且高于评分模块以及系统性能监测装置的运行频率,因此通过评分模块确定基础计算任务对应的每个候选算法实现策略的使用概率,供选择模块随机选择,增加了每个候选算法实现策略的使用概率的多样性的同时,可以提高算法调用模块每次调用目标算法实现的随机性,从而有利于快速获得优化稳定后的每个候选算法实现策略的目标使用概率。
例如,评分模块运行1次获得在第t+1个时间间隔中,基础计算任务的每个候选算法 实现策略的使用概率。选择模块和算法调用模块,需要根据基础计算任务的处理请求,多次调用目标算法实现策略中的目标算法实现,以执行基础计算任务。在每次调用目标算法实现过程中,选择模块根据从评分模块获得的基础计算任务的每个候选算法实现策略的使用概率,从候选算法实现策略集中随机选择目标算法实现策略。由于每次调用目标算法实现策略中的目标算法实现都是随机选择的,提高了算法调用模块调用目标算法实现的随机性,从而有利于快速获得优化稳定后的每个候选算法实现策略的目标使用概率。对于基础计算任务对应的候选算法实现策略数量少的情况而言,增加了每个候选算法实现策略的使用概率的多样性,从而利于快速获得优化稳定后的每个候选算法实现策略的目标使用概率。
下面将结合图7至图10对上述第二种选择并运行目标算法实现策略的方法展开说明。其中图7是针对高层次计算任务中包括一种基础计算任务的示意性框图,图9是针对高层次计算任务中包括多种基础计算任务的示意性框图。
下面将结合图7对本申请实施例针对高层次计算任务中包括一种基础计算任务的算法实现运行过程做举例说明。图7是本申请实施例提供的另一种选择并运行算法实现策略的系统框架示意图。
如图7所示,高层次计算任务仅包括计算任务A,基础计算任务为计算任务A,实现计算任务A的计算平台包括1个CPU和1个GPU,实时监测的系统性能参数为CPU的使用率、GPU的使用率以及计算任务A的执行时间。
由于实现一次高层次计算任务需要实现多次计算任务A,因此,此处计算任务A的执行时间可以理解为在每个时间间隔内多次执行计算任务A的执行时间。
为了执行计算任务A,候选算法实现和具体执行器之间可以有绑定关系,也可以没有绑定关系。
示例性地,如果候选算法实现和具体执行器之间有绑定关系,那么可以使用CPU运行算法实现X或者算法实现Y,或者可以使用GPU运行算法实现Z,一共有这三种候选算法实现策略。例如,计算任务A为数据排序任务,可以通过CPU来运行冒泡排序算法程序,或者可以通过CPU来运行插入排序算法程序,或者可以通过GPU来运行快速排序算法程序。
示例性地,如果算法实现和具体执行器之间可以没有绑定关系,那么可以通过任意一种候选算法实现和任意一种具体执行器组合的方式来实现。也就是,候选算法实现和具体执行器之间没有绑定关系。例如,可以通过CPU或者GPU来运行算法实现X,或者通过CPU或者GPU来运行算法实现Y,或者通过CPU或者GPU来运行算法实现Z,一共有这六种候选算法实现策略来完成计算任务A。
下面主要以候选算法实现和具体执行器之间有绑定关系为例进行说明。计算任务A对应的三个候选算法实现策略分别为候选算法实现策略A:使用CPU运行算法实现X;候选算法实现策略B:使用CPU运行算法实现Y;候选算法实现策略C:使用GPU运行算法实现Z。下面将结合图7和图8具体说明。图8是本申请实施例提供的又一种选择并运行目标算法实现策略的流程示意图,该方法包括步骤S801-S807。
S801和S802的具体步骤和S601和S602的具体步骤相同,为了简洁,在此不做赘述。
S803,系统性能监测装置在初始时刻接收到计算任务A的处理请求,并从第1个时 刻开始以固定时间间隔监测整个系统中CPU的使用率、GPU的使用率以及计算任务A的执行时间。
S804,评分模块根据在第t个时刻获取的第t个时间间隔对应的CPU的使用率、GPU的使用率以及计算任务A的执行时间,确定第一评价分数。
当执行器集合有多个执行器,整体系统性能参数为执行器的使用率和计算任务A的执行时间时,在第t个时刻的整体系统性能对应的第一评价分数S
t满足公式(1):
其中,f(P
i)第i个执行器的使用率的加权函数,P
i为第i个执行器的使用率,具体形式满足公式(2);g(c)是计算任务A的执行时间对应的加权函数,c为计算任务A的执行时间,具体形式可以满足公式(3)。
f(P
i)=1-P
i
2 (2)
应理解,此处示出的第一评价分数和系统能为正相关,也就是第一评价分数越高,系统性能越好。
还应理解,此处仅仅是给出了一种可能的形式,本申请实施例对第一评价分数以及相关参数的具体形式不作限定。
以S804中的CPU的使用率、GPU的使用率以及计算任务A的执行时间为例,在第t个时刻的整体系统性能对应的第一评价分数满足公式(4)。
S
t=min(f(a),f(b))·g(c) (4)
其中,f
a(a)是CPU的使用率对应的加权函数,a为CPU的使用率,满足公式(5);f
b(b)是GPU的使用率对应的加权函数,b为GPU的使用率,满足公式(6)。
f(a)=1-a
2 (5)
f(b)=1-b
2 (6)
S805,评分模块根据第一评价分数,确定计算任务A对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率。
具体地,评分模块根据获取的第t-k个时间间隔至第t个时间间隔对应的系统性能参数的k个评价分数,预测第t+1个时间间隔对应的系统性能参数的第二评价分数,也就是说根据获取的S
t-k,S
t-k+1…S
t,预测第t+1个时间间隔的整体系统性能对应的第二评价分数S′
t+1,其中,S
t-k表示第t-k个时刻的系统性能参数对应的评价分数。
示例性地,通过n阶多项式拟合,来预测第t+1个时间间隔的整体系统性能对应的第二评价分数S′
t+1,以k=1为例,第t+1个时间间隔的整体系统性能对应的第二评价分数S′
t+1满足公式(7)。
S′
t+1=2S
t-S
t-1 (7)
当S′
t+1<S
t时,评分模块将计算任务A对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率,确定为计算任务A对应的每个候选算法实现策略在第t-1个时间间隔中的使用概率。
示例性地,计算任务A的候选算法实现策略A(例如,使用CPU运行算法实现X)在第t-1个时间间隔中的使用概率为50%,候选算法实现策略B(例如,使用CPU运行算法实现Y)在第t-1个时间间隔中的使用概率为20%,候选算法实现策略C(例如,使用GPU运行算法实现Z)在第t-1个时间间隔中的使用概率为30%。计算任务A的候选算法实现策略A在第t个时间间隔中的使用概率为30%,候选算法实现策略B在第t个时间间隔中的使用概率为40%,候选算法实现策略C在第t个时间间隔中的使用概率为30%。如果预测的第二评价分数小于第一评价分数,那么计算任务A的候选算法实现策略A在第t+1个时间间隔中的使用概率为50%,候选算法实现策略B在第t+1个时间间隔中的使用概率为20%,候选算法实现策略C在第t+1个时间间隔中的使用概率为30%。
当S′
t+1≥S
t时,评分模块,调整计算任务A对应的每个候选算法实现策略在第t个时间间隔中的使用概率,以获得每个候选算法实现策略在第t+1个时间间隔中的使用概率。
应理解,计算任务A对应的每个候选算法实现策略的使用概率之和为1,本申请实施例对计算任务A对应的每个候选算法实现策略的使用概率的生成方式不作限定。
示例性地,对于实现计算任务A,每个候选算法实现策略在第t个时间间隔中的使用概率可以为:计算平台有Q
X的概率使用CPU来运行算法实现X,有Q
Y的概率使用CPU来运行算法实现Y,有Q
Z的概率使用GPU来运行算法实现Z,其中,Q
X+Q
Y+Q
Z=1。以ΔQ的概率调节步长,调整三种候选算法实现策略的使用概率。例如,每个候选算法实现策略在第t+1个时间间隔中的使用概率可以为:计算平台有Q
X+ΔQ的概率使用CPU来运行算法实现X,有
的概率使用CPU来运行算法实现Y,有
的概率使用GPU来运行算法实现Z。
S806,选择模块根据从评分模块获取的在第t+1个时间间隔中,计算任务A对应的每个候选算法实现策略的使用概率,以及来自算法调用模块的计算任务A的处理请求消息,随机选择计算任务A的目标算法实现策略。
S807,算法调用模块根据计算任务A的处理请求消息,从选择模块调用目标算法实现策略对应的目标算法实现,并将相应的目标算法实现发给目标算法实现策略中对应的目标执行器来实现计算任务A。
下面将结合图9和图10对本申请实施例的第二种选择和运行目标算法实现策略的方法应用于高层次计算任务中包括多种基础计算任务时做详细说明。图9是本申请实施例提供的又一种选择并运行算法实现策略的系统框架示意图。
当计算平台处理的高层次计算任务中包括多种基础计算任务时,通过图7和图8所示的方法来确定在第t+1个时间间隔中,每个基础计算任务对应的目标算法实现策略。每个基础计算任务可以有各自对应的评分模块(未在图9中示出)。
同样,图4所示的系统架构也可以应用于高层次计算任务中包括多种基础计算任务的场景。如图9所示,高层次计算任务包括两个基础计算任务,分别是计算任务A和计算任务B,整体系统架构和图4类似,不同的是,任务发起模块需要发出两个基础计算任务的 处理请求;系统性能监测装置需要监测所有的硬件性能参数和两个基础计算任务对应的软件性能参数;评分模块需要根据计算任务A和计算任务B的处理顺序,分别对计算任务A和计算任务B对应的候选算法实现策略的使用概率进行调整;选择模块和算法调用模块也需要根据计算任务A和计算任务B的处理请求顺序进行处理。
图10是本申请实施例提供的又一种选择并运行目标算法实现策略的流程示意图,该方法包括步骤S1001-S1006。
S1001,任务发起模块确定高层次计算任务中计算任务A和计算任务B的处理顺序,并向算法调用模块和系统性能监测装置按顺序发送计算任务A的处理请求和计算任务B的处理请求。
应理解,计算任务A和计算任务B的处理顺序取决于两个计算任务在高层次计算任务中的关系。
例如,如果计算任务A的输出作为计算任务B的输入,也就是两个计算任务存在强相关的关系,那么处理顺序为先处理计算任务A,再处理计算任务B。如果计算任务A和计算任务B之间不存在强相关的关系,那么两个计算任务的处理顺序可以不分先后。
S1002,算法调用模块在初始时刻接收计算任务A和计算任务B的处理请求,按两者的处理请求发送顺序,分别通过各自的初始算法实现策略,按顺序执行计算任务A和计算任务B。
S1003,系统性能监测装置接收到来自任务发起模块的计算任务A和计算任务B的处理请求,并在第1个时刻开始,以固定时间间隔实时监测计算系统全局的系统性能参数。
例如,系统性能监测装置在第t个时刻,监测第t个时间间隔对应的执行器集合中每个执行器的使用率(如图9所示,CPU1、CPU2以及CPU3的使用率),以及所有基础计算任务的执行时间(如图9所示,计算任务A的执行时间和计算任务B的执行时间)。
应理解,如果完成1次高层次计算任务,需要执行20次计算任务A和5次计算任务B,那么在第t个时间间隔中,高层次计算任务完成了n次,那么计算任务A的执行时间可以理解为计算任务A执行20n次的执行时间,计算任务B的执行时间可以理解为计算任务B执行5n次的执行时间。
S1004,评分模块根据计算任务A和计算任务B的处理顺序,按顺序依次确定计算任务A对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率以及计算任务B对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率。
作为一种可能的实现方式,如果计算任务A在计算任务B之前处理,那么评分模块先根据全局的系统性能参数,获得计算任务A的第一评价分数;根据计算任务A的第一评价分数,确定计算任务A对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率;评分模块再以相同的方式,确定计算任务B对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率。
应理解,计算任务A的第一评价分数是用于评价第t个时间间隔全局的硬件性能和计算任务A的软件性能。
示例性地,如图9所示,计算任务A的第一评价分数评价的参数为CPU1的使用率、CPU2的使用率、GPU的使用率以及计算任务A的执行时间;基础计算任务B的第一评价分数评价的参数为CPU1的使用率、CPU2的使用率、GPU的使用率以及基础计算任务 B的执行时间。
上述根据计算任务A的第一评价分数,确定计算任务A对应的每个候选算法实现策略在第t+1个时间间隔中的使用概率的具体过程,和图8所示的S805相似,为了简洁,可以参考前文步骤S805,在此不做赘述。
应理解,在对每个基础计算任务的候选算法实现的使用概率进行更新时,可以以同样的步长进行调节,也可以以不同的步长进行调节,本申请实施例对此不作限制。
作为一种可能的实现方式,评分模块根据全局的系统性能参数,获得第三评价分数,再按计算任务A和计算任务B的处理顺序,根据第三评价分数依次确定在第t+1个时间间隔中,计算任务A对应的每个候选算法实现策略的使用概率以及计算任务B对应的每个候选算法实现策略的使用概率。
应理解,第三评价分数用于评价第t个时间间隔对应的全局的硬件性能和所有的基础计算任务的软件性能。也就是每个基础计算任务对应的第三评价分数都是相同的。
示例性地,如图9所示,第t个时刻,计算任务A和计算任务B的第三评价分数评价的参数为CPU1的使用率、CPU2的使用率、GPU的使用率、计算任务A的执行时间以及基础计算任务B的执行时间。
S1005,选择模块根据获得针对计算任务A和计算任务B,在第t+1个时间间隔中的每个候选算法实现策略的使用概率;随后根据计算任务A和计算任务B的处理请求消息,分别确定在第t+1个时间间隔中,计算任务A对应的目标算法实现策略和计算任务B对应的目标算法实现策略。
S1006,算法调用模块根据计算任务A和计算任务B的处理顺序,分别通过计算任务A和计算任务B的处理请求消息,从选择模块中调用各自对应的目标算法实现,并发送到在相应的目标执行器,以执行计算任务A和计算任务B。
上述内容,结合图2至图10详细描述了本申请实施例提供的一种策略选择方法,下面将对本申请实施例提供的一种策略选择的装置进行简要说明。详细的步骤可以参考上述方法实施例,在此不做赘述。
本申请实施例提供的一种策略选择的装置,包括评分模块,该评分模块可以为图4、图7或图9中所示的评分模块。
评分模块用于,获取第t个时间间隔对应的系统性能参数,其中,系统性能参数包括硬件性能参数和/或软件性能参数;
评分模块用于,根据系统性能参数,确定第一评价分数,第一评价分数用于选择基础计算任务在第t+1个时间间隔的目标算法实现策略,其中,目标算法实现策略属于基础计算任务对应的候选算法实现策略集,t为正整数。
可选地,基础计算任务对应一个或多个算法实现,目标算法实现策略包括基础计算任务对应的目标算法实现和用于执行目标算法实现的目标执行器。
可选地,该装置还包括选择模块和算法调用模块,选择模块和算法调用模块可以为图4、图7或图9中所示的选择模块和算法调用模块,评分模块用于,根据第一评价分数,确定基础计算任务的每个候选算法实现策略在第t+1个时间间隔的使用概率,其中,每个候选算法实现策略属于候选算法实现策略集;选择模块用于,根据每个候选算法实现策略在第t+1个时间间隔的使用概率,从候选算法实现策略集中随机选择第t+1个时间间隔的 目标算法实现策略;算法调用模块用于,向目标执行器发送目标算法实现。
可选地,评分模块具体用于,获取第t-k个时间间隔至第t个时间间隔的系统性能参数对应的k个评价分数,其中,1≤k<t,k为正整数;根据k个评价分数,获得第二评价分数,其中第二评价分数为第t+1个时间间隔对应的系统性能参数的预测评价分数;根据第一评价分数和第二评价分数,确定每个候选算法实现策略在第t+1个时间间隔中的使用概率。
可选地,评分模块具体用于,当第二评价分数小于第一评价分数时,每个候选算法实现策略在第t+1个时间间隔中的使用概率为每个候选算法实现策略在第t-1个时间间隔中的使用概率;当第二评价分数大于或等于第一评价分数时,根据每个候选算法实现策略在第t个时间间隔中的使用概率,确定每个候选算法实现策略在第t+1个时间间隔中的使用概率。
可选地,评分模块具体用于,通过概率调节步长,调整每个候选算法实现策略在第t个时间间隔中的使用概率,以确定每个候选算法实现策略在第t+1个时间间隔中的使用概率。
可选地,基础计算任务为能够由一个算法实现单独完成的计算任务。
可选地,软件性能参数为基础计算任务对应的指标参数。
可选地,硬件性能参数为用于实现基础计算任务的多个执行器对应的性能参数,其中硬件性能参数包括该多个执行器中每个执行器的使用率、该多个执行器中每个执行器的负载率、该多个执行器所在的计算平台中的至少一种。
图11是本申请实施例提供的一种策略选择装置的硬件结构示例性框图。可选地,该装置1100具体可以是一种计算机设备。该装置1100包括存储器1110、处理器1120、通信接口1130以及总线1140。其中,处理器1120、通信接口1130和存储器1110通过内部连接通路互相通信,该存储器1110用于存储指令,该处理器1120用于执行该存储器1110存储的指令,以控制该通信接口1130发送信号和/或接收信号。
应理解,该装置1100可以用于执行上述方法实施例中策略选择方法中各个步骤和/或流程。
存储器1110可以是只读存储器,静态存储设备,动态存储设备或者随机存取存储器,并向处理器1120提供指令和数据。存储器1110的一部分还可以包括非易失性随机存取存储器。存储器1110可以是一个单独的器件,也可以集成在处理器1120中。该处理器1120可以用于执行存储器1110中存储的指令,并且当该处理器1120执行存储器1110中存储的指令时,该处理器1120用于执行上述策略选择方法实施例的各个步骤和/或流程。
通信接口1130使用例如但不限于收发器一类的收发装置,来实现装置1100与其他设备或通信网络之间的通信。
总线1140可包括在装置1100各个部件(例如,存储器1110、处理器1120、通信接口1130)之间传送信息的通路。
一种可能的实现方式,该装置1100是上述实施例中的策略选择装置。
示例性地,通信接口1130用于,获取第t个时间间隔对应的系统性能参数,其中,所述系统性能参数包括硬件性能参数和/或软件性能参数。
处理器1120用于,根根据所述系统性能参数,确定第一评价分数,所述第一评价分 数用于选择基础计算任务在第t+1个时间间隔的目标算法实现策略,其中,所述目标算法实现策略属于所述基础计算任务对应的候选算法实现策略集,t为正整数。
其他具体的策略选择装置具体执行的步骤或流程,可以参考方法实施例,为了简洁,在此不做赘述。
在本申请实施例中,处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如中央处理单元CPU、微处理器、图形处理器GPU(可以理解为一种微处理器)、或数字信号处理器DSP等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为专用集成电路ASIC或可编程逻辑器件PLD实现的硬件电路,例如可编程门阵列FPGA。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如神经网络处理单元NPU、张量处理单元TPU、深度学习处理单元DPU等。
可见,以上装置中的各单元可以是被配置成实施以上方法的一个或多个处理器(或处理电路),例如:CPU、GPU、NPU、TPU、DPU、微处理器、DSP、ASIC、FPGA,或这些处理器形式中至少两种的组合,以上装置中的各模块可以理解为此处的各单元。
此外,以上装置中的各单元可以全部或部分可以集成在一起,或者可以独立实现。在一种实现中,这些单元集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。该SOC中可以包括至少一个处理器,用于实现以上任一种方法或实现该装置各单元的功能,该至少一个处理器的种类可以不同,例如包括CPU和FPGA,CPU和人工智能处理器,CPU和GPU等。
应理解,本申请实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本申请的技术方案,而非限制本申请实施例的范围。
本申请实施例还提供了一种车载计算平台,该车载计算平台包括本申请实施例中的策略选择装置和执行器集合,其中,基础计算任务通过执行器集合中的任意一个执行器实现。
本申请实施例还提供了一种车辆,该车辆包括本申请装置实施例中的车载计算平台和系统性能监测装置,其中系统性能监测装置用于监测系统性能参数。
本申请实施例还提供了一种计算机可读存储介质,其特征在于,包括指令;所述指令用于实现本申请方法实施例中策略选择方法所对应的相关操作。
本申请实施例还提供了一种算机程序产品,其特征在于,包括:计算机程序,当计算机程序被运行时,使得计算机执行本申请方法实施例中策略选择方法所对应的相关操作。
本申请实施例还提供了一种计算设备,包括:至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,用于读取并执行所述存储器中的指令,以执行本申请方法实施例中策略选择方法所对应的相关操作。
本申请实施例还提供了一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行本申请方法实施例中策略选择方法所对应的相关操作。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以 硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (21)
- 一种策略选择方法,其特征在于,包括:获取第t个时间间隔对应的系统性能参数,其中,所述系统性能参数包括硬件性能参数和/或软件性能参数;根据所述系统性能参数,确定第一评价分数,所述第一评价分数用于选择基础计算任务在第t+1个时间间隔的目标算法实现策略,其中,所述目标算法实现策略属于所述基础计算任务对应的候选算法实现策略集,t为正整数。
- 根据权利要求1所述的方法,其特征在于,所述基础计算任务对应一个或多个算法实现,所述目标算法实现策略包括所述基础计算任务对应的目标算法实现和用于执行所述目标算法实现的目标执行器。
- 根据权利要求2所述的方法,其特征在于,所述方法还包括:根据所述第一评价分数,确定所述基础计算任务的每个候选算法实现策略在所述第t+1个时间间隔的使用概率,其中,所述每个候选算法实现策略属于所述候选算法实现策略集;根据所述每个候选算法实现策略的使用概率,从候选算法实现策略集中随机选择所述第t+1个时间间隔的目标算法实现策略;向所述目标执行器发送所述目标算法实现。
- 根据权利要求3所述的方法,其特征在于,所述根据所述第一评价分数,确定所述目标基础计算任务基础计算任务的每个候选算法实现策略在所述第t+1个时间间隔的每个候选算法实现策略的使用概率包括:获取第t-k个时间间隔至所述第t个时间间隔的所述系统性能参数分别对应的k个评价分数,其中,1≤k<t,k为正整数;根据所述k个评价分数,获得第二评价分数,其中所述第二评价分数为所述系统性能参数在所述第t+1个时间间隔的预测评价分数;根据所述第一评价分数和所述第二评价分数,确定所述每个候选算法实现策略在所述第t+1个时间间隔中的使用概率。
- 根据权利要求4所述的方法,其特征在于,所述根据所述第一评价分数和所述第二评价分数,确定每个候选算法实现策略在所述第t+1个时间间隔的使用概率包括:当所述第二评价分数小于所述第一评价分数时,所述每个候选算法实现策略在所述第t+1个时间间隔中的使用概率为所述每个候选算法实现策略在第t-1个时间间隔中的使用概率;当所述第二评价分数大于或等于所述第一评价分数时,根据每个候选算法实现策略在所述第t个时间间隔中的使用概率,确定所述每个候选算法实现策略在所述第t+1个时间间隔中的使用概率。
- 根据权利要求5所述的方法,其特征在于,所述根据每个候选算法实现策略在所述第t个时间间隔中的使用概率,确定所述每个候选算法实现策略在所述第t+1个时间间隔中的使用概率包括:通过概率调节步长,调整所述每个候选算法实现策略在所述第t个时间间隔中的使用概率,以确定所述每个候选算法实现策略在所述第t+1个时间间隔中的使用概率。
- 根据权利要求1至6任一项所述的方法,其特征在于,所述基础计算任务为能够由一个算法实现单独完成的计算任务。
- 根据权利要求7所述的方法,其特征在于,所述软件性能参数为所述基础计算任务对应的指标参数。
- 根据权利要求1至8任一项所述的方法,其特征在于,所述硬件性能参数为用于实现所述基础计算任务的多个执行器对应的性能参数,其中所述硬件性能参数包括所述多个执行器中每个执行器的使用率、所述多个执行器中的每个执行器的负载率、所述多个执行器所在的计算平台的温度、所述多个执行器中每个执行器的温度中的至少一种。
- 一种策略选择的装置,其特征在于,所述装置包括评分模块:所述评分模块用于,获取第t个时间间隔对应的系统性能参数,其中,所述系统性能参数包括硬件性能参数和/或软件性能参数;所述评分模块用于,根据所述系统性能参数,确定第一评价分数,所述第一评价分数用于选择基础计算任务在第t+1个时间间隔的目标算法实现策略,其中,所述目标算法实现策略属于所述基础计算任务对应的候选算法实现策略集,t为正整数。
- 根据权利要求10所述的装置,其特征在于,所述基础计算任务对应一个或多个算法实现,所述目标算法实现策略包括所述基础计算任务对应的目标算法实现和用于执行所述目标算法实现的目标执行器。
- 根据权利要求11所述的装置,其特征在于,所述装置还包括选择模块、算法调用模块,所述评分模块用于,根据所述第一评价分数,确定所述基础计算任务的每个候选算法实现策略在所述第t+1个时间间隔中的使用概率,其中,所述每个候选算法实现策略属于所述候选算法实现策略集;所述选择模块用于,根据所述每个候选算法实现策略的使用概率,从候选算法实现策略集中随机选择所述第t+1个时间间隔的目标算法实现策略;所述算法调用模块用于,向所述目标执行器发送所述目标算法实现。
- 根据权利要求12所述的装置,其特征在于,所述评分模块具体用于:获取第t-k个时间间隔至第t个时间间隔的所述系统性能参数分别对应的k个评价分数,其中,1≤k<t,k为正整数;根据所述k个评价分数,获得第二评价分数,其中所述第二评价分数为所述系统性能参数所述第t+1个时间间隔的预测评价分数;根据所述第一评价分数和所述第二评价分数,确定所述每个候选算法实现策略的在所述第t+1个时间间隔中的使用概率。
- 根据权利要求13所述的装置,其特征在于,所述评分模块具体用于:当所述第二评价分数小于所述第一评价分数时,所述每个候选算法实现策略在所述第t+1个时间间隔中的使用概率为所述每个候选算法实现策略在所述第t-1个时间间隔中的使用概率;当所述第二评价分数大于或等于所述第一评价分数时,根据所述每个候选算法实现策 略在所述第t个时间间隔中的使用概率,确定所述每个候选算法实现策略在所述第t+1个时间间隔中的使用概率。
- 根据权利要求14所述的装置,其特征在于,所述评分模块具体用于:通过概率调节步长,调整所述每个候选算法实现策略在所述第t个时间间隔中的的使用概率,以确定所述每个候选算法实现策略在所述第t+1个时间间隔中的使用概率。
- 根据权利要求10至15任一项所述的装置,其特征在于,所述基础计算任务为能够由一个算法实现单独完成的计算任务。
- 根据权利要求10至16任一项所述的装置,其特征在于,所述软件性能参数为所述基础计算任务对应的指标参数。
- 根据权利要求10至17任一项所述的装置,其特征在于,所述硬件性能参数为用于实现所述基础计算任务的多个执行器对应的性能参数,其中所述硬件性能参数包括所述多个执行器中每个执行器的使用率、所述多个执行器中每个执行器的负载率、所述多个执行器所在的计算平台的温度、所述多个执行器中每个执行器的温度中的至少一种。
- 一种策略选择的装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至9中任一项所述的方法。
- 一种车载计算平台,其特征在于,包括如权利要求19所述的策略选择装置和多个执行器,其中,基础计算任务通过所述多个执行器中的任何一个执行器实现。
- 一种车辆,其特征在于,包括如权利要求20所述的车载计算平台和系统性能监测装置,其中,所述系统性能监测装置用于监测系统性能参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/103445 WO2024000590A1 (zh) | 2022-07-01 | 2022-07-01 | 策略选择方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/103445 WO2024000590A1 (zh) | 2022-07-01 | 2022-07-01 | 策略选择方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024000590A1 true WO2024000590A1 (zh) | 2024-01-04 |
Family
ID=89383587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/103445 WO2024000590A1 (zh) | 2022-07-01 | 2022-07-01 | 策略选择方法及装置 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024000590A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503504A (zh) * | 2002-10-31 | 2004-06-09 | ���µ�����ҵ��ʽ���� | 通信装置、通信系统和算法选择方法 |
US20200090063A1 (en) * | 2016-12-16 | 2020-03-19 | Factor Financial Analytics Pty Ltd | A method and system for generating a decision-making algorithm for an entity to achieve an objective |
CN111783867A (zh) * | 2020-06-28 | 2020-10-16 | 京东数字科技控股有限公司 | 机器学习算法选择方法及装置 |
CN112965794A (zh) * | 2021-02-19 | 2021-06-15 | 西安智周深鉴信息科技集团有限公司 | 算法调用方法、电子设备及存储介质 |
CN113821421A (zh) * | 2021-08-27 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种服务器性能数据采集方法、系统、装置及存储介质 |
-
2022
- 2022-07-01 WO PCT/CN2022/103445 patent/WO2024000590A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503504A (zh) * | 2002-10-31 | 2004-06-09 | ���µ�����ҵ��ʽ���� | 通信装置、通信系统和算法选择方法 |
US20200090063A1 (en) * | 2016-12-16 | 2020-03-19 | Factor Financial Analytics Pty Ltd | A method and system for generating a decision-making algorithm for an entity to achieve an objective |
CN111783867A (zh) * | 2020-06-28 | 2020-10-16 | 京东数字科技控股有限公司 | 机器学习算法选择方法及装置 |
CN112965794A (zh) * | 2021-02-19 | 2021-06-15 | 西安智周深鉴信息科技集团有限公司 | 算法调用方法、电子设备及存储介质 |
CN113821421A (zh) * | 2021-08-27 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种服务器性能数据采集方法、系统、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200019435A1 (en) | Dynamic optimizing task scheduling | |
US20210049453A1 (en) | Chip and chip-based data processing method | |
CN110717574B (zh) | 一种神经网络运行方法、装置及异构智能芯片 | |
US20210312295A1 (en) | Information processing method, information processing device, and information processing program | |
Nawrocki et al. | Adaptable mobile cloud computing environment with code transfer based on machine learning | |
US20210012194A1 (en) | Method and system for implementing a variable accuracy neural network | |
US11972184B2 (en) | Method and system for designing a robotic system architecture with optimized system latency | |
US20230252353A1 (en) | On-device training method to train an artificial intelligent model and a system therefor | |
WO2024000590A1 (zh) | 策略选择方法及装置 | |
US20210256373A1 (en) | Method and apparatus with accelerator | |
US20220171619A1 (en) | Neuromorphic processor and neuromorphic processing method | |
WO2017016590A1 (en) | Scheduling heterogenous processors | |
WO2022009542A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Li et al. | Enabling Real-time AI Inference on Mobile Devices via GPU-CPU Collaborative Execution | |
CN107562527B (zh) | 一种rtos上的smp的实时任务调度方法 | |
CN111461310A (zh) | 处理神经网络模型的神经网络设备、神经网络系统和方法 | |
US20240143394A1 (en) | Heterogeneous computing terminal for task scheduling | |
US20230409878A1 (en) | Electronic device for determining inference distribution ratio of artificial neural network and operating method of the electronic device | |
US20230105810A1 (en) | Artificial neural network module for performing artificial neural network operation on plurality of subgraphs and operating method thereof | |
US20240037412A1 (en) | Neural network generation device, neural network control method, and software generation program | |
CN117076134B (zh) | 基于人工智能的无人机状态数据处理方法及系统 | |
KR102559658B1 (ko) | 스케줄링 방법 및 장치 | |
US20230195531A1 (en) | Energy-aware task scheduling | |
CN113396425B (zh) | 加速方法、装置和片上系统 | |
US20240020550A1 (en) | System and method for inference generation via optimization of inference model portions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22948689 Country of ref document: EP Kind code of ref document: A1 |