使用预测模型的自动超频的制作方法

文档序号:26008005发布日期:2021-07-23 21:27阅读:85来源:国知局
使用预测模型的自动超频的制作方法

背景技术
:中央处理单元(cpu)或处理器当前是成批提供的,其包括与以较慢频率运行的单元混合的可以以较快频率运行的单元。整批cpu被评级为该批中所有cpu的最慢稳定频率。然而,在维持稳定性和热性能的同时,该批中的许多cpu可以以更快的频率运行。这被称为超频,并且可以用来获得一些性能优势,尤其是对于游戏系统。附图说明某些示例性实施例在以下详细描述中并且参考附图进行描述,其中:图1(a)和图1(b)是根据示例的测试系统的框图,该测试系统可以用于生成用于使cpu超频的预测模型;图2是根据示例的可以使用用于使cpu超频的预测模型的目标系统的框图;图3是根据示例的为目标系统的超频配置生成输入参数的过程的示意图;图4是根据示例的用于使目标系统超频的方法的过程流程图;图5是根据示例的用于收集数据以生成用于使cpu超频的预测模型的方法的过程流程图;图6是根据示例的用于收集数据以生成用于使cpu超频的预测模型的简化方法的过程流程图;图7是根据示例的用于生成预测模型的方法的过程流程图;图8是根据示例的机器可读介质的图,该机器可读介质包括用于引导cpu创建和使用用于使目标系统超频的预测模型的代码;图9是根据示例的简化的机器可读介质的图,该简化的机器可读介质包括引导cpu使用用于使目标系统超频的预测模型的代码;图10是根据示例的基准分数相对于最大cpu频率和较高cpu温度的测量结果的3维(3d)绘图;以及图11是根据示例的预测模型的输出的3维绘图,该预测模型将最大cpu温度与最大cpu频率和基准分数相关。具体实施方式一般而言,为了在计算设备或计算机系统上施行超频操作,用户将运行基准工具来确定基准分数。基准分数将由基准工具生成,并将包括诸如系统温度、cpu温度、cpu利用率、最大频率、热节流、功率节流等之类的输出参数。用户将增加输入参数,诸如操作频率、cpu电压、高速缓存频率等。然后,用户将重新运行基准工具,以确定系统的稳定性以及系统是否停留在热限制内。这些操作需要用于实现的大量专业知识。例如,用户可能需要理解计算机架构以及cpu的性能和频率之间的关系。另外,用户可能需要理解频率如何与供应给cpu的电压和功率相关,热量如何与频率相关,什么是节流,以及如何处理极端的热。此外,可能需要确定用于短脉冲串的功率应用相对于可以持续较长时间段的平均功率。用户还必须知道cpu的最高温度限制,以确保在超频过程期间不超过该限制。当前,超频可以由用户主要使用手动工具来完成。用户将增加cpu的操作频率,直到系统不稳定或在热限制之外运行为止。确实存在简单的工具来帮助该过程,所述工具除了其它工具之外尤其诸如系统监测工具、温度监测工具和基准测试工具。然而,该过程仍然复杂,并且实现缓慢。本文中的示例中所描述的技术使用目标系统的模型和为目标系统收集的数据来确定可以在目标系统中使用的超频率。该模型是诸如在实验室、公司和其它用途中从为测试系统收集的数据创建的。该数据还可以包括为其它目标系统收集的数据。与先前的技术相比,本文中所描述的超频过程对于非专业用户来说实现简单,并且可以在短时间帧(例如,少于大约10分钟、少于大约5分钟或少于大约1分钟)内完成。在一些示例中,实现超频可能不需要重新引导。图1(a)和图1(b)是根据示例的测试系统100的框图,该测试系统100可以用于生成用于使中央处理单元(cpu)超频的预测模型。测试系统100包括执行存储的指令的cpu102。在各种示例中,cpu102是微处理器、片上系统(soc)、单核处理器、双核处理器、多核处理器、多个独立处理器、计算集群等。cpu102通过总线104通信地耦合到测试系统100中的其它设备。总线104可以包括外围组件互连(pci)总线和工业标准架构(eisa)总线、pciexpress(pcie)总线、高性能互连或专有总线,诸如在片上系统(soc)上使用的总线。在一些示例中,可以使用多个总线来耦合到其它设备。例如,pcie总线可以耦合到sata(串行高级技术附件)总线,以将cpu102通信地耦合到盘驱动器、存储器或其它内部或外部设备。除了将cpu102通信地耦合到其它设备之外,总线104可以包括将设备耦合到电源的功率线。cpu102可以通过总线104或通过直接链路107(诸如高性能互连)通信地耦合到存储器高速缓存106。在一些示例中,cpu102包括存储器高速缓存106,该存储器高速缓存106包括多个部分,与cpu102的核在管芯上以及例如与cpu102封装在管芯外但是在单独的管芯上二者。存储器高速缓存106与cpu102在管芯上的部分可以在与cpu102的核相同频率下操作,而存储器高速缓存106在管芯外的部分可以在独立于cpu102的频率下操作。本文中所描述的技术可以用于使处于任何高速缓存配置中的cpu102超频。存储器高速缓存106使用的高速缓存电压也可以独立于cpu102使用的电压进行调整。总线104可以将cpu102耦合到图形处理单元(gpu)108,诸如可从nvidia、intel、amd、ati和其它公司获得的单元。如果存在,则gpu108提供图形处理能力,以使能诸如用于游戏的图形输入和输出的高速处理。在一些示例中,gpu108的操作包括在超频中。例如,gpu108可以与cpu102交互,从而增加cpu102上的压力。因此,基准测试可以包括gpu108的操作。如本文中所使用的,基准测试是被设计成对计算机系统输入压力的计算机程序,诸如被设计成在计算机系统的所有核心上运行的多个傅立叶变换程序。随着基准测试运行,cpu的温度将增加,并且随着频率增加,基准测试可能变得不稳定并停止,或者例如由于错过存储器或高速缓存访问而崩溃。存储器设备110和存储设备112可以通过总线104耦合到cpu102。在一些示例中,存储器设备110和存储设备112被配置为例如具有可由cpu102访问的连续地址空间的单个单元。存储器设备110保存操作代码、数据、设置和由cpu102用于超频过程的其它信息。在各种示例中,存储器设备110包括随机存取存储器(ram),除了其它存储器之外尤其诸如静态ram(sram)、动态ram(dram)、零电容器ram、嵌入式dram(edram)、扩展数据输出ram(edoram)、双倍数据速率ram(ddrram)、电阻性ram(rram)和参数ram(pram)。存储设备112用于保存长期数据,诸如存储的程序、操作系统和用于实现超频系统功能的其它代码块。在各种示例中,存储设备112包括非易失性存储设备,诸如固态驱动器、硬驱动器、磁带驱动器、光学驱动器、闪存驱动器、驱动器阵列或其任何组合。在一些示例中,存储设备112包括非易失性存储器,诸如非易失性ram(nvram)、电池备份dram、闪速存储器等。在一些示例中,存储设备112包括只读存储器(rom),诸如屏蔽rom、可编程rom(prom)、可擦除可编程rom(eprom)和电可擦除可编程rom(eeprom)。传感器114可以通过总线104耦合到cpu102。传感器114可以包括物理传感器,诸如温度传感器、风扇速度检测器、系统温度等。另外,传感器114可以包括虚拟或软件传感器,其从寄存器或设置获得值,或者从测试系统100的当前条件确定值。软件传感器可以包括例如存储器利用率传感器、cpu利用率传感器、cpu频率传感器、高速缓存频率传感器、涡轮增压模式传感器等。在一些示例中,传感器114包括环境温度传感器,用于将环境温度包括在超频模型中。然而,其它示例省略了环境温度传感器,因为可以使用cpu102的温度。诸如位置确定传感器之类的其它传感器可以用于模型中以控制超频。例如,位于美国南部州中的系统可能不能够如位于美国北部州中的系统那样以较高的频率运行。测试系统100可以包括功率系统116,例如,包括耦合到ac功率源120的电源118和从电源118放电的电池122。电池122、电源118或二者可以耦合到总线104中的功率线,以向其它设备提供功率。另外,电池122、电源118或二者可以耦合到总线104中的通信线路,以允许cpu102监测电池122或电源118的操作。例如,cpu102可以确定测试系统100耦合到ac功率源120,并且监测电池122中的电荷水平。然后,电池122中的电荷水平可以用于根据需要调整超频值。网络接口控制器(nic)124可以用于将测试系统100耦合到网络或云126。如本文中所使用的,云126是通信互连的计算机的集群。云126可以包括除了其它网络之外尤其广域网(wan)、局域网(lan)或互联网。在各种示例中,这允许将控制信息传送到测试系统100,并将数据从测试系统100传送到云126中的单元。在一些示例中,nic124将测试系统100连接到集群计算网络或其它高速处理系统,其中可以发生数据的进一步处理,例如生成模型。在一些示例中,测试系统100中可以包括人机接口(hmi)128,用于基准测试和测试过程的本地控制。hmi128可以通过总线104将显示器130、键盘132和诸如鼠标或触摸屏之类的指示设备134通信耦合到cpu102。在其它示例中,hmi128和任何相关联的设备被省略,并且基准测试被远程运行。例如,测试系统100可以是测试系统库的一部分,为多个不同的系统配置收集数据。存储设备112可以包括用于在测试系统100中实现超频过程的功能的代码块。在各种示例中,代码块包括配置生成器136,所述配置生成器136用于生成一系列输入参数配置,用于使用基准测试进行测试,如关于图5所描述的。配置生成器136可以由数据收集器138触发,例如,实现关于图4所描述的方法。数据收集器138可以操作基准测试140来收集在每个输入参数配置下的数据,例如,如关于图5所描述的。另外,数据收集器138可以记录输入参数和收集的数据或输出参数的配置。如果输入参数的配置使系统变得不稳定、扩展的温度限制或二者,则数据收集器138可以终止运行,并继续测试输入参数的其它配置。模型构建器142可以用于将所使用的每个系统配置的输入参数与输出参数相关。模型构建器142可以存在于测试系统100中,或者可以存在于云126中的服务器中。另外,模型构建器142可以在测试系统100中被配置和启动,然后被传送到云126中更强大的系统用于操作,从而允许预测模型144的更快生成。在一些示例中,模型构建器142生成特定系统配置的输出参数和输入参数之间的统计相关性,该统计相关性被保存为预测模型144。在其它示例中,使用其它建模技术来生成预测模型144,诸如神经网络、支持向量机(svm)或其它定向学习技术。在示例中可以使用这些技术的组合。例如,svm可以用于标识特定系统配置,以从不同配置的一组预测模型选择用于目标系统的预测模型144。如图1(b)中所示出的,并非图1(a)中示出的所有设备和单元都用于每个测试系统100中。可以使用测试系统100的平均系统配置,其中收集来自多个测试系统的数据,每个测试系统具有稍微不同的配置。在平均配置中,影响超频的单元(诸如gpu108的存在或不存在)可以作为调整因子包括在模型中。在使用机器学习(诸如神经网络)生成的模型中,在训练过程期间以及在实现期间,这些单元可以作为预测模型144的个体输入而被包括。一般而言,用于生成预测模型144的测试系统100的配置类似于或等同于目标系统200的配置。图2是根据示例的目标系统200的框图,该目标系统200可以使用用于使cpu102超频的预测模型。类似的编号项如关于图1所描述的。如本文中所描述的,目标系统200可以与测试系统100相同,或者可以具有可以在预测模型中计及的配置差异。然而,为预测模型选择的操作配置可以使用相同类型的cpu102和存储器高速缓存106。在一些示例中,存储设备112中可以包括不同的代码块,以在目标系统200上实现预测模型144。例如,超频控制器202可以使用配置比较器204来确定目标系统200和测试系统100之间的配置差异。如果预测模型144基于测试系统100的平均配置,则将系统配置之间的差异提供给预测模型144。超频控制器202使用基准测试140收集数据(例如,目标系统200上的输出参数)以确定目标系统200在输入参数的不同组合下如何运转。超频控制器202然后将目标系统200上的数据提供给预测模型144。预测模型144然后用于预测输入参数,诸如cpu频率、cpu电压等,其可以用于实现系统的最大超频频率。可以包括配置测试器206,以使用输入参数重新运行基准测试。配置测试器206可以用于向云126中的服务器提供该信息,然后该信息可以被包括在预测模型144的进一步细化中。除了目标系统200中内置的其它系统之外,还可以使用配置测试器206来监测系统,以确定超频是太低还是太高。图3是根据示例的用于为目标系统200的超频配置生成输入参数308的过程300的示意图。在过程300中,在框302处确定目标系统200和测试系统100的响应或输出参数之间的增量。为了确定此,在目标系统200上运行基准测试140。先前运行的基准测试可能已经被用于收集与目标系统200类似的测试系统100上的数据。在运行基准的同时监测各种输出参数,并且在测试之后收集结果并将其提供给预测模型144。尽管基准测试140将需要在目标系统200和测试系统100二者的完全相同的系统配置下运行,但是基准配置可以针对平均情况来施行,诸如在配置上类似于系统的安装基础的一部分的模型,以例如允许它在各种各样的目标系统上运行而不引起问题。在一些示例中,测试系统100将被选择为尽可能接近目标系统200,然后偏移将被用于计及系统差异。如本文中所使用的,偏移可以是用于缩放预测频率的乘数,例如,作为大约0.5和大约1.5之间的因子。偏移可以基于不同模型之间的差异,其可能影响计算机系统的热性能。其它偏移可以基于安装的存储器、gpu的存在等。这关于图4进一步讨论。在框302处确定的输出参数中的差异连同针对其获得结果的输入参数的基准配置304一起被提供给预测模型144。假设用于测试系统100的最优配置306是已知的,预测模型144可以预测用于目标系统200的输入参数308的最优配置。作为示例,预测模型144可以包括以下过程来达到最终输出。首先,通过分析在框302处确定的基准结果中的增量来确定用于目标系统200的余量310。例如,如果对于温度,测试系统100预期85℃的测量结果,但是目标系统200仅看到80℃,则目标系统200具有正5℃的余量310。因此,预测模型144可以预测在目标系统200上可以设置比测试系统100更高的性能输入参数308,例如,允许将操作频率设置在更高的水平处。相比之下,如果目标系统200给出88℃的测量结果,则目标系统200具有负3℃的余量310,并且预测模型144可以预测可以在目标系统200上设置比测试系统100更低的性能输入参数308。基准结果中的增量可以用于预测输入参数中,因为该增量提供了目标系统的当前性能的度量,从而允许输入参数相应地向上或向下调谐。然后从预测模型144为目标系统200预测最佳优化结果。预测模型使用基准配置304、使用基准配置304获得的来自测试系统100的结果、来自目标系统200的基准结果312和余量310来达到该中间结论。最终,预测模型144使用用于目标系统200的最佳优化结果和用于测试系统100的最优配置306,以达到用于目标系统200的最优配置的输入参数308。图4是根据示例的用于使目标系统超频的方法400的过程流程图。方法400通过预测目标系统中的cpu的稳定操作频率开始于框402处。该预测可以至少部分地基于从为测试系统收集的数据生成的模型。预测模型144可以在云中运行的服务器上生成,例如,以提供比测试系统上可能的更高的性能。在一些示例中,测试系统100向服务器提供输入参数和测试数据,并从服务器接收预测模型144。在其它示例中,预测模型144也在服务器上运行,并将结果提供回到服务器。可以为每个类型的系统构建不同的预测模型,所述系统诸如膝上型系统、台式系统或台式系统的不同形状因子。对于这些系统类型中的每一个,使用不同的模型允许模型包括系统的重要特征,诸如热设计和cpu选择。然而,如本文中所描述的,例如,如果盘大小或存储器大小不同,则模型不必计及目标和测试系统之间的每个差异。除了从测试系统的数据收集之外,每个目标系统还可以充当数据生成器,例如,周期性地向云中的服务器提供基准测试数据和输入参数,以在预测模型中使用。因此,预测模型继续改进,因为它使用来自测试系统和目标系统二者的数据。在框404处,将cpu的操作频率调整到预测的稳定操作频率。在框406处,运行基准测试以确认cpu正在限制内操作。例如,温度低于最高操作温度,并且基准测试执行稳定。图5是根据示例的用于收集数据以生成用于使cpu超频的预测模型的方法500的过程流程图。方法500以最小的开销从测试系统或目标系统收集数据。方法500在框502处开始于对输入参数和输入参数范围的确定,以及对输入参数要迭代的增量的确定。例如,这可以由图1的配置生成器136来施行。可以检查所得到的配置,以确定它们是否可能,例如,cpu频率可以被cpu电压限制,从而消除一些配置。作为示例,在每次运行期间,可以监测和控制超过150个输入参数、描述性参数和输出参数。输入参数可以包括例如使用具有30至50乘数的范围的cpu频率。输入参数还可以包括例如在大约0.7v到大约1.4v范围内的cpu电压。可以包括例如使用具有30到50乘数的范围的高速缓存频率。也可以包括其它输入参数。模型中可以使用的描述性参数在表1中示出。可以监测的输出参数在表2中示出。表1:模型中可以使用的系统描述参数。类型描述性参数系统硬件参数cpu类型核的数量线程的数量存储器参数存储器容量存储器简档定时参数(tcl、trcd等)存储参数存储大小存储类型系统软件参数os版本bios版本ec版本在ac上cpu/soc参数最大非涡轮增压比=默认(静态)核电压=[0.7v–1.5v,5mw间隔]cpu核iccmax=[范围,自动]cpu[全部]频率乘数=[30x-50x],全部组合高速缓存比=[30x-50x]表2:模型中可以使用的输出参数输出参数封装温度最大值和平均值最大核频率存储器利用率最大值和平均值cpu[全部]温度最大值和平均值cpu[全部]频率最大值和平均值cpu[全部]利用率最大值cpu[全部]利用率平均值高速缓存频率最大值和平均值热节流百分比功率限制节流百分比电流限制节流百分比存储器频率最大值和平均值cpu风扇速度最大值和平均值在框504处,记录用于特定迭代的输入参数的配置。在框506处,例如用输入到bios中的cpu频率和电压来配置硬件。在框508处,做出关于是否需要重启来输入输入参数的确定。如果是,则在框510处,重启系统。如果不需要重启,或者在重启发生之后,在框512处,做出是否存在xtu回调错误的确定。如本文中所使用的,xtu是从英特尔公司获得的极端调谐实用程序(utility),其可以用作本文中的基准测试。然而,技术不限于xtu的使用。在一些示例中,使用了其它类型的基准测试,包括专门设计来增加系统上压力量的基准测试。如果在框512处确定不存在xtu回调错误,则在框514处做出关于硬件配置是否与意图确认匹配的确认。如本文中所使用的,意图配置是输入参数的预期值,所述输入参数除了其它参数之外尤其诸如cpu频率和cpu电压。如果不是,则过程流进行到框516。在框516处,做出关于故障计数是否大于诸如三之类的阈值的确定。如果不是,则过程流返回到框506,以重复硬件配置过程。如果在框516处故障计数大于三,则过程流进行到框518。在框518处,考虑到故障,输入参数递增。过程流然后进行到框504以重启配置过程。如果在框514处确认硬件配置与意图配置匹配,则过程流进行到框520。在框520处,运行xtu基准测试。在框522处,输出参数被监测和记录。例如,这些可以包括表2中列出的全部或部分参数。在框524处,做出关于是否存在xtu回调错误的确定。如果是,则在框526处做出关于故障计数是否大于诸如三之类的阈值的确定。如果故障计数大于三,则考虑到故障,过程流进行到框518以使输入参数递增。过程流然后进行到框504,以记录新的配置并开始数据收集过程的下一次迭代。如果在框524处确定不存在xtu回调错误,则在框528处记录包括xtu分数的运行后日志。在框530处,考虑到最后一次运行的成功,输入参数被递增。过程流然后返回到框504,用于数据收集过程的下一次迭代。如果在框518或框530处,使输入参数递增将使输入参数在框502处确定的最终范围之外,则该过程可以终止。另外,在来自框516或框526的预确定数量的故障调用之后,该过程可以在框518处终止。例如,这可能是在三次故障调用、六次故障调用、10次故障调用或更多次故障调用之后。用于数据收集的方法500可以在关于图1所描述的测试系统100中实现,或者在关于图2所描述的目标系统200中实现。例如,框504-530可以由关于图1(a)和2所描述的数据收集器138来实现。在测试系统100中,通过允许方法500在多个小时、诸如一夜之内运行,可以收集多个数据集。在一些示例中,方法500可以在一小时中运行大约40个不同的配置,从而允许在八小时中为单个系统收集大约500个数据集。可以提供包括方法500的数据收集工具的较小版本,以供在用户拥有的目标系统200上使用。在一些示例中,增量超频工具将在用户系统(诸如目标系统200)上运行。增量超频工具将在目标系统200上运行大约15分钟,并生成大约10个输入参数配置的数据集。如果目标系统200的所有者提供了许可,则数据集将被反馈回到云中的中央服务器,以提供用于训练本文中所描述的模型的进一步数据。图6是根据示例的用于收集数据以生成用于使cpu超频的预测模型的简化方法600的过程流程图。方法600在框602处开始于输入参数、范围和增量的配置。这可以包括图5的方法500的框502-516。在框604处,运行基准测试。这可以包括图5的方法500的框520-528。基准测试在一些示例中是xtu测试,或者在其它示例中是专有压力测试。在运行基准测试时,记录数据。在框606处,使用框602中确定的增量来迭代输入参数。这可以包括图5的方法500的框518和530。在框608处,做出关于数据收集是否完成的确定。当输入参数中的增量增加使输入参数在框602中确定的范围之外时,这可能发生。当检测到多个顺序故障时,这也可能发生,从而导致方法600的终止。如果在框608处做出数据收集仍在进行的确定,则过程流返回到框604继续。否则,该过程在框610处结束。图7是根据示例的用于生成预测模型的方法700的过程流程图。关于图1所描述的,该方法可以由模型构建器142来实现。如本文中所描述的,cpu超频的性能不仅是频率的函数,而且还取决于其它输入参数。通过理解这些输入参数与超频性能之间的关系,可以对使目标系统超频的输入参数做出更好的预测。这可能增加超频过程的速度,并消除多次重新引导。在一些示例中,预测模型基于多元线性回归。除了创建模型之外,多变量回归还提供对各种输入参数之间的关系及其对超频性能的影响的洞察。所选择的特征集(例如输入参数和输出参数)基于系统架构和各种参数之间的已知关系。例如,热参数与超频具有高相关性,但是该影响的量化是困难的。本文中所使用的模型生成过程可以提供对该量化的洞察,以及标识影响超频性能的其它重要特征。如本文中所描述的,使用简单的方法来训练和验证预测模型。为测试系统收集的数据被划分成训练数据集和验证数据集。例如,使用训练数据集来训练预测模型,以生成多变量方程。然后,验证数据集用于测试预测模型的选择及其输出。预测的准确性可以通过观察预测与测量结果之间的简单均方差来确定。该方法开始于框702处,其中数据被预处理。如图5的方法500所描述的数据收集器工具可以生成以逗号分隔值(csv)文件格式的数据,所述数据可以被读取、清理以消除错误和不一致性,并使用软件库解析成矩阵。另外,可以消除异常值或来自数据误读的点。除了其它拆分之外尤其例如使用60/40拆分、50/50拆分或40/60拆分,矩阵可以被分区或拆分以形成训练数据集以及验证和测试数据集。在框704处,形成身份特征矩阵,以包括cpu频率、cpu温度和cpu电压。在框706处,标识评估标签。评估标签可以是包括单个值或二进制值的数据,诸如稳定性、xtu基准分数、总体系统性能、功率效率和电池寿命、噪声水平以及系统温度或热量产生。在框708处,施行训练阶段。标识要缩放的特征,并相应地缩放数据集。如本文中所使用的,可以被称为标准化的数据缩放将数据值转换成匹配其它数据范围或对于计算更可管理的比例。例如,以千兆赫为单位测量的频率参数可以被转换成范围从大约0.5到大约1.5的数字,以使模型计算不太复杂。训练集数据被拟合,例如,生成输出参数和输入参数之间的统计回归,以形成多变量回归模型或方程。可以减少特征以增加模型的速度,例如,消除不受cpu频率和电压直接影响的输出参数的使用。在框710处,可以施行测试阶段。在测试阶段中,测试数据集可以被变换为与训练数据集一致。预测基于使用多变量回归模型(预测模型)的测试数据集,并且可以确定作为主要阀的预测结果之间的简单均方差。在框712处,可以施行评估阶段。在评估阶段中,可以生成评估矩阵,其除了其它指标之外尤其包括例如精度、召回率、f1分数和最小二乘误差或r2分数之和。在框714处,可以使用评估矩阵来改进模型。例如,可以选择另一分类模型。在一些示例中,可以微调分类参数或模型系数,以降低最小二乘误差之和,或者改进评估矩阵中的其它适合度度量。过程流然后可以返回到框708,以继续迭代模型的改进,例如,直到达到预测模型的期望适合度度量为止。一旦开发了将输入参数与输出参数相关的方程或预测模型,搜索算法就可以例如通过用于定位表面最小值或最大值的已知技术使用该方程来定位最优配置。这关于图11和图12进一步描述。图8是根据示例的机器可读介质800的图,该机器可读介质800包括用于引导cpu802创建和使用用于使目标系统超频的预测模型的代码。如本文中所使用的,机器可读介质800可以包括关于图1(a)和图2所描述的存储设备112。如关于图1(a)和图2所描述的,机器可读介质800由cpu802通过总线804来访问。机器可读介质800可以包括代码806,用于生成用于开发预测模型的输入参数和输出参数的配置。如本文中所描述的,这些可以包括在迭代期间使用的输入参数和增量的范围。可以包括代码808来收集关于输出参数对输入参数的响应的数据,例如,如关于图5和图6所描述的。可以包括代码810来引导cpu802运行基准测试,诸如本文中所描述的xtu基准测试。可以包括代码812来引导cpu802创建预测模型814,例如,如关于图7所描述的。还可以包括代码816,以引导cpu802将当前系统的配置与测试系统或测试系统的平均配置进行比较。这可以用于为当前系统选择适当的预测模型814。可以包括代码818来引导cpu802将当前系统的输入参数设置为由预测模型814预测的那些参数。代码818还可以引导cpu802测试配置。并非所有上面所描述的代码在每个本地实现中都是必需的。例如,用于生成配置的代码806可以位于云服务器系统中。另外,用于生成预测模型814的代码812也可以位于云中的服务器上。关于图9描述其示例。图9是根据示例的简化的机器可读介质900的图,该简化的机器可读介质900包括引导cpu使用用于使目标系统超频的预测模型的代码。类似的编号项如关于图8所描述的。图10是根据示例的基准分数相对于最大cpu频率和较高cpu温度的测量结果的3维(3d)绘图1000。如绘图1000中所示出的,初始线性回归可以用于将来自基准测试(诸如xtu基准测试)的基准分数与最大cpu频率和cpu温度相关。3d绘图1000描绘了回归的样本,尽管这是局部视图。在3d绘图1000中,存在两个因变量和一个自变量。然而,在三维之外,不可能容易地可视化其中自变量的数量多于两个并且可以呈现多于一个自变量的绘图。3d绘图1000确实提供了对这些参数的相关性的视觉洞察。随着从测试系统以及目标系统收集到更多的数据,模型改进了。图11是根据示例的预测模型的输出的3维绘图1100,该预测模型将最大cpu温度与最大cpu频率和基准分数相关。在图11的3d绘图1100中,三维表面被建模。诸如网格搜索、最小跳跃技术、最小路径技术或任何数量的其它搜索技术之类的搜索例程可以用于在由预测模型生成的表面中寻找操作最小值1102。如本文中所使用的,操作最小值1102是成本函数或损失函数中的最低值,其提供了用于设置输入参数的操作点。为了生成3维图1100,使用多元回归来寻找影响超频效率的参数之间的相关性。图11的示例仅是一个示例,因为其它回归分析可以使用远远多于三个的参数。在该示例中,回归采取如下形式:,其中s标示基准分数,t是核温度,以及f标示频率。对于3维绘图1100,系数是、以及。在该示例中,频率值除以来缩放,但是没有使用其它的标准化或缩放。如下面所使用的,帽子符号标示估计(预测)值,并且横杠符号标示均值(或简单均值)。温度的预测值然后可以给出为。在第i项的形式中,它可以给出为。为了创建模型,或者拟合可以为定位操作最小值1102提供良好的预测的曲线,可以使用普通最小二乘来估计系数。这是通过最小化误差表面来施行的,其中与误差表面的最小距离可以如以下方程中所示出的进行计算:和。为了测试模型的预测,可以使用残差平方和(rss),其可以如以下方程中所示出的进行定义:和。如本文中所描述的,可以使用关于预测方程()的映射技术来施行寻找操作最小值1102以求解温度t。在一个示例中,s和f的100×100点网格被用来计算网格中每个点处的温度值t。选择t的最小值作为新的起点,并标识周围网格点。在周围网格点之间计算另一100x100网格。这可以迭代进行,直到达到合期望的操作点为止。在其它示例中,梯度搜索技术用于标识操作最小值1102。在一些示例中,在3维绘图1100中可能不存在操作最小值1102。这导致输入参数默认为表面边缘,其不提供增加的超频设置点。在一个示例中,最小预期温度被包括为关于搜索的约束。这在图形上移动搜索边界。在另一示例中,该绘图在符号上反转,并且施行针对保持在操作约束内的最大设置点的搜索。在该示例中,如果搜索达到限制(例如,在谷内),则获得设置点。也可以使用其它技术,诸如通过线性回归生成拟合谷中的点的线,然后选择设置点作为在线与最大允许温度相交处的点。虽然本技术可能容易受到各种修改和替代形式影响,但是上面所讨论的示例性示例仅通过示例的方式示出。将理解,该技术不意图限于本文中所公开的特定示例。实际上,本技术包括落入本技术范围内的所有替代、修改和等同物。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1