CN108984360B - 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质 - Google Patents

计算设备的芯片调频方法、装置、算力板、计算设备及存储介质 Download PDF

Info

Publication number
CN108984360B
CN108984360B CN201810576548.9A CN201810576548A CN108984360B CN 108984360 B CN108984360 B CN 108984360B CN 201810576548 A CN201810576548 A CN 201810576548A CN 108984360 B CN108984360 B CN 108984360B
Authority
CN
China
Prior art keywords
frequency
frequency point
working
working frequency
kernel
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
CN201810576548.9A
Other languages
English (en)
Other versions
CN108984360A (zh
Inventor
张楠赓
徐英韬
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.)
Canaan Creative Co Ltd
Original Assignee
Canaan Creative Co Ltd
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 Canaan Creative Co Ltd filed Critical Canaan Creative Co Ltd
Priority to CN201810576548.9A priority Critical patent/CN108984360B/zh
Publication of CN108984360A publication Critical patent/CN108984360A/zh
Application granted granted Critical
Publication of CN108984360B publication Critical patent/CN108984360B/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/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

本发明提供了一种计算设备的芯片调频方法、装置、算力板、计算设备及存储介质。所述芯片调频方法包括:为计算设备的运算芯片设置多个工作频点,将运算芯片中的多个内核分别工作于各工作频点;分析每个内核在当前工作频点的计算性能指标;根据所述计算性能指标,对内核的当前工作频点进行上调或下调;统计被调频后的内核在各工作频点上的当前分布状态;根据内核的当前分布状态和预定的频点调整机制,调整设置工作频点的频率。借此,本发明能够根据计算设备的运算芯片中各个内核的实际计算性能,自动调节各个内核对应的频率,从而最大程度发挥内核的计算性能,进而提高运算芯片及整体运算设备的运算性能。

Description

计算设备的芯片调频方法、装置、算力板、计算设备及存储 介质
技术领域
本发明涉及计算设备的芯片调频技术领域,尤其涉及一种计算设备的芯片调频方法、装置、算力板、计算设备及存储介质。
背景技术
用于海量数据运算的计算设备中,通常集成了大量运算芯片,由于运算芯片制造工艺的限制,不同运算芯片的工作性能、算力、频率不尽相同;同时,单颗运算芯片也通常由多个相互独立的内核(Core)组成,运算芯片内不同位置工艺偏差、压降等差异也使得各个内核的实际工作性能不尽相同。针对不同运算芯片及其内核的工作性能差异,如何动态调节运算芯片实际所需频率并设定各个内核的自适应方案,为亟待解决的问题。现有计算设备中为每颗运算芯片及其内核提供的频率一致,无法发挥性能较优的内核的计算优势,性能较弱内核影响运算芯片的运算性能,进而影响整体计算设备的运算性能。
另外,中国专利申请CN201611169618.6公开了一种串联供电芯片、系统、虚拟数字挖矿机及服务器,包括调整电路,分别与各串联供电芯片连接,对各串联供电芯片进行电压、温度或频率调整。所述调整单元对各串联供电芯片进行频率调整时,分别针对各串联供电芯片,按照预设周期检测串联供电芯片中各待供电单元的工作状态是否正常;若有待供电单元的工作状态不正常,在预设频率范围内按照预设频率步长提高或降低工作状态不正常的待供电单元的工作频率。根据待供电单元的状态寄存器指示的状态判断待供电单元的工作状态是否正常,所述状态寄存器指示的状态包括:电压状态、温度状态、工作频率状态;或者根据待供电单元对发送给该待供电单元的数据的反馈数据,判断待供电单元的工作状态是否正常。
中国专利申请CN201611169618.6公开的一个实施例中,调整电路对各串联供电芯片进行频率调整时,作为频率调整电路,具体可以通过一个检测器,分别针对各串联供电芯片,按照预设周期检测串联供电芯片中各待供电单元的工作状态是否正常;若有待供电单元的工作状态不正常,具体可以通过一个调节器,在预设频率范围内按照预设频率步长提高或降低工作状态不正常的待供电单元的工作频率。可见,CN201611169618.6公开了调节器可以对芯片进行频率调整,但其仅仅是根据待供电单元的是否正常收发数据、电压状态、温度状态、频率状态等工作状态来调整芯片的工作频率,频率调整机制缺乏准确性,并不能充分发挥芯片的运算性能。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种计算设备的芯片调频方法、装置、算力板、计算设备及存储介质,其能够根据计算设备的运算芯片中各个内核的实际计算性能,自动调节各个内核对应的频率,从而最大程度发挥内核的计算性能,进而提高运算芯片及整体运算设备的运算性能。
本发明提供一种计算设备的芯片调频方法,所述计算设备设置有至少一运算芯片,所述运算芯片设置有多个内核,包括步骤有:
频点设置步骤,为所述计算设备的所述运算芯片设置多个工作频点,将所述运算芯片中的多个内核分别工作于各所述工作频点;
计算性能分析步骤,分析每个所述内核在当前工作频点的计算性能指标;
频率调整步骤,根据所述内核的所述计算性能指标,对所述内核的所述当前工作频点进行上调或下调;
频点统计步骤,统计被调频后的所述内核在各所述工作频点上的当前分布状态;
频点调整步骤,根据所述内核的所述当前分布状态和预定的频点调整机制,调整设置所述工作频点的频率,所述频点调整机制是内核分布状态与频点调整的对应关系。
根据本发明所述的芯片调频方法,所述频点设置步骤还包括:
通过多个锁相环电路为所述运算芯片设置多个所述工作频点,所述工作频点与所述锁相环电路为一一对应关系;
所述频率调整步骤还包括:
根据所述内核的所述计算性能指标,通过所述锁相环电路对所述内核的所述当前工作频点进行上调或下调;
所述频点调整步骤还包括:
根据所述内核的所述当前分布状态和预定的频点调整机制,通过所述锁相环电路调整设置所述工作频点的频率。
根据本发明所述的芯片调频方法,所述锁相环电路设置于所述运算芯片的内部或外部。
根据本发明所述的芯片调频方法,相邻的所述工作频点之间的频差为1~10%。
根据本发明所述的芯片调频方法,所述计算性能分析步骤还包括:
在预定的调整周期内,分析所述内核的所述计算性能指标是否达到预定的第一指标阈值、第二指标阈值和/或第三指标阈值,所述第一指标阈值与所述第二指标阈值相同或者不相同;
所述频率调整步骤还包括:
若所述内核的所述计算性能指标达到所述第一指标阈值,将所述内核的所述当前工作频点上调到上一个工作频点;和/或
若所述内核的所述计算性能指标未达到所述第二指标阈值,将所述内核的所述当前工作频点下调到下一个工作频点;和/或
若所述内核的所述计算性能指标达到所述第三指标阈值,将所述内核的所述当前工作频点下调到下一个工作频点。
根据本发明所述的芯片调频方法,所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,所述高频工作频点中频率最高的是最高工作频点,所述低频工作频点中频率最低的是最低工作频点;
所述频点调整步骤还包括:
若超过预定的第一比率的所述内核工作于至少一所述高频工作频点上,将至少一所述工作频点修改设置为至少一优化高频工作频点,所述优化高频工作频点的频率高于所述最高工作频点的频率;和/或
若超过预定的第二比率的所述内核工作于至少一所述低频工作频点上,将至少一所述工作频点修改设置为至少一优化低频工作频点,所述优化低频工作频点的频率低于所述最低工作频点的频率。
根据本发明所述的芯片调频方法,所述若超过所述第一比率的所述内核工作于至少一所述高频工作频点上,将至少一所述工作频点修改设置为至少一所述优化高频工作频点的步骤还包括:
若超过所述第一比率的所述内核工作于所述最高工作频点上,将一个所述工作频点修改设置为一个所述优化高频工作频点;和/或
所述若超过预定的所述第二比率的所述内核工作于至少一所述低频工作频点上,将至少一所述工作频点修改设置为至少一所述优化低频工作频点的步骤还包括:
若超过所述第二比率的所述内核工作于所述最低工作频点上,将一个所述工作频点修改设置为一个所述优化低频工作频点。
根据本发明所述的芯片调频方法,所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,所述高频工作频点中频率最高的是最高工作频点,所述低频工作频点中频率最低的是最低工作频点;
所述频点调整步骤还包括:
若工作于至少一所述高频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一优化高频工作频点,所述优化高频工作频点的频率高于所述最高工作频点的频率;和/或
若工作于至少一所述低频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一优化低频工作频点,所述优化低频工作频点的频率低于所述最低工作频点的频率。
根据本发明所述的芯片调频方法,所述若工作于至少一所述高频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一所述优化高频工作频点的步骤还包括:
若工作于所述最高工作频点上的所述内核的数目最多,将一个所述工作频点修改设置为一个所述优化高频工作频点;和/或
所述若工作于至少一所述低频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一所述优化低频工作频点的步骤还包括:
若工作于所述最低工作频点的所述内核的数目最多,将一个所述工作频点修改设置为一个所述优化低频工作频点。
根据本发明所述的芯片调频方法,所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点;
所述频点调整步骤还包括:
若超过预定的第三比率的所述内核工作于至少一所述中间工作频点上,停止调整设置所述工作频点的频率;或者
若工作于在至少一所述中间工作频点上的所述内核的数目最多,停止调整设置所述工作频点的频率。
本发明还提供一种计算设备的芯片调频装置,所述计算设备上设置有至少一个运算芯片,所述运算芯片中设置有多个内核,所述芯片调频装置包括:
频点设置模块,用于为所述计算设备的所述运算芯片设置多个工作频点,将所述运算芯片中的多个内核分别工作于各所述工作频点;
计算性能分析模块,用于分析每个所述内核在当前工作频点的计算性能指标;
频率调整模块,用于根据所述内核的所述计算性能指标,对所述内核的所述当前工作频点进行上调或下调;
频点统计模块,用于统计被调频后的所述内核在各所述工作频点上的当前分布状态;
频点调整模块,用于根据所述内核的所述当前分布状态和预定的频点调整机制,调整设置所述工作频点的频率,所述频点调整机制是内核分布状态与频点调整的对应关系。
本发明还提供一种包括有上述任意一种所述芯片调频装置的算力板。
本发明还提供一种包括有上述任意一种所述芯片调频装置的计算设备。
本发明还提供一种存储介质,用于存储一种用于上述任意一种所述计算设备的芯片调频方法的计算机程序。
本发明针对计算设备的运算芯片的内核进行自动调频,先设置多个合适的工作频点,将运算芯片中的多个内核分别工作于不同的工作频点上,然后根据每个内核在当前工作频点的计算性能指标,对内核的当前工作频点进行上调或下调,即上调计算性能高的内核的频率,下调计算性能低的内核的频率。并且,统计被调频后的内核在各工作频点上的当前分布状态;根据内核的当前分布状态和预定的频点调整机制,调整设置工作频点的频率。借此,本发明能够根据计算设备的运算芯片中各个内核的实际计算性能,自动调节各个内核对应的频率,从而最大程度发挥内核的计算性能,进而提高运算芯片及整体运算设备的运算性能。
附图说明
图1是本发明计算设备的芯片调频装置的结构示意图;
图2是本发明一实施例中计算设备的芯片调频装置的结构示意图;
图3是本发明另一实施例中计算设备的芯片调频装置的结构示意图;
图4是本发明另一实施例中内核在各个工作频点工作的分布状态图;
图5是本发明计算设备的芯片调频方法的流程图;
图6是本发明又一实施例中计算设备的优选芯片调频方法的流程图;
图7是本发明再一实施例中计算设备的优选芯片调频方法的流程图;
图8是本发明计算设备的结构示意图。
附图标记:
100-计算设备的芯片调频装置
10-频点设置模块 20-计算性能分析模块
30-频率调整模块 40-频点统计模块
50-频点调整模块
51-第一频点调整子模块 52-第二频点调整子模块
53-第三频点调整子模块 54-第四频点调整子模块
55-第一停止调整子模块 56-第二停止调整子模块
60-内核 70-锁相环电路
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的,本说明书中针对“一个实施例”、“实施例”、“示例实施例”等的引用,指的是描述的该实施例可包括特定的特征、结构或特性,但是不是每个实施例必须包含这些特定特征、结构或特性。此外,这样的表述并非指的是同一个实施例。进一步,在结合实施例描述特定的特征、结构或特性时,不管有没有明确的描述,已经表明将这样的特征、结构或特性结合到其它实施例中是在本领域技术人员的知识范围内的。
此外,在说明书及后续的权利要求当中使用了某些词汇来指称特定组件或部件,所属领域中具有通常知识者应可理解,制造商可以用不同的名词或术语来称呼同一个组件或部件。本说明书及后续的权利要求并不以名称的差异来作为区分组件或部件的方式,而是以组件或部件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求书中所提及的“包括”和“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“连接”一词在此系包含任何直接及间接的电性连接手段。间接的电性连接手段包括通过其它装置进行连接。
图1是本发明计算设备的芯片调频装置的结构示意图,所述计算设备优选用于海量运算,例如用于挖掘虚拟数字货币的运算。所述计算设备上设置有至少一个运算芯片,所述运算芯片中设置有多个内核(Core)60。所述计算设备优选包括控制板、与控制板连接的算力板,所述算力板上设置有至少一个运算芯片,运算芯片中设置有多个内核60。当然,所述计算设备还可以包括散热器、连接板、电源模块等。
需指出的是,本发明芯片调频技术实际涉及两个层级的频率调整机制:运算芯片的频率调整机制和内核层面的频率调整机制。所述运算芯片的频率调整机制是指为每个运算芯片设置若干合适的工作频点,并让运算芯片的各个内核60工作于各个工作频点,充分发挥每个内核60的工作性能。所述内核层面的频率调整机制是指根据内核60的实际计算性能,将内核60调整到合适的工作频点,上调计算性能高的内核60的频率,下调计算性能低的内核60的频率,从而充分发挥每个内核60的计算性能。
所述芯片调频装置100至少包括有频点设置模块10、计算性能分析模块20、频率调整模块30、频点统计模块40和频点调整模块50,其中:
所述频点设置模块10,用于为计算设备的运算芯片设置多个工作频点,每个工作频点的频率不同,并将运算芯片中的多个内核60分别工作于各工作频点。
即根据运算芯片的频率调整机制,为每个运算芯片设置若干不同的频点,并让运算芯片的各个内核60工作于各个工作频点。例如设置6个工作频点:500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。本发明工作频点的频点个数、频率之间差距可根据实际需要设置,工作频点越多越能充分发挥各个内核60的计算性能。在启动调频开关时(尚未对内核60进行调频),内核60可以按照预定规则被平均分布、不平均分布或随机分布于所述工作频点上工作。优选的是,频点设置模块10可以通过如图2所示的多个锁相环电路(PhaseLocked Loop,PPL)70为运算芯片设置多个工作频点,当然频点设置模块10也可以通过其他硬件或软件为运算芯片设置多个工作频点。
所述计算性能分析模块20,用于分析每个内核60在当前工作频点的计算性能指标。所述计算性能指标代表内核60在当前工作频点的实际计算性能,包括但不限于计算正确率、计算正确数量、计算速度等。若内核60的计算性能指标较高,则表示所述内核60的计算性能可能还有提升空间;若内核60的计算性能指标较低,则表示所述内核60的计算性能可能不足以在当前工作频点对应的频率下工作。
所述频率调整模块30,用于根据内核60的计算性能指标,对内核60的当前工作频点进行上调或下调。即根据内核层面的频率调整机制,将根据内核60的实际计算性能,将内核60调整到合适的工作频点,上调计算性能高的内核60的频率,下调计算性能低的内核60的频率,从而充分发挥每个内核60的计算性能。优选的是,所述频率调整模块30可通过如图2所示的锁相环电路70或软件对内核60进行调频。优选的是,周期性地对内核60的频率进行调节,若内核60在频率的调整周期内的计算正确率达到第一正确率阈值,表明该内核60尚未达到最佳计算性能,因此将内核60的当前工作频点上调到较高的上一个工作频点;若内核60在频率的调整周期内的计算正确率未达到第二正确率阈值,表明该内核60的计算性能不足以在当前工作频点上工作,因此将内核60的当前工作频点下调到较低的下一个工作频点。所述第一正确率阈值和第二正确率阈值可以相同或不相同。
所述频点统计模块40,用于统计被调频后的内核60在各工作频点上的当前分布状态。内核60的工作频点根据自身计算性能被自动调频后,会分布在各工作频点上工作,频点统计模块40统计被调频后的内核60在各工作频点上的分布个数可得出当前分布状态。优选的是,可将工作频点划分为包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点。高频工作频点中频率最高的是最高工作频点,低频工作频点中频率最低的是最低工作频点。例如一共有1000个内核60,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,依次其分布在上述6个工作频点的个数分别为:100,200,100,100,200,300。其中,500MHz,550MHz为低频工作频点,600MHz,650MHz为中间工作频点,700MHz,750MHz为高频工作频点,500MHz为最低工作频点,750MHz为最高工作频点。
所述频点调整模块50,用于根据内核60的当前分布状态和预定的频点调整机制,调整设置工作频点的频率,所述频点调整机制是内核60分布状态与频点调整的对应关系。所述内核分布状态是指内核60在各个工作频点上工作的分布状态。所述调整设置工作频点的频率,是指直接将工作频点的频率进行整体偏移式调整。所述频点调整模块50优选通过如图2所示的锁相环电路70调整设置工作频点的频率,本领域技术人员可以理解的是,频点调整模块50的调整设置工作频点的调整方式并不仅限于此。本发明理想状态是希望超过预定的比率(如50%)或最多数目的内核60落到中间工作频点,这样内核60的频率有更大的上调空间。
本发明芯片调频装置100可设置于运算芯片的内部或外部。本发明根据运算芯片中各个内核60的实际计算性能评价内核60的工作性能,调节内核60对应频率,充分发挥性能较优内核60的计算优势,并避免性能较弱内核60影响运算芯片的运算性能,最大程度发挥各个内核60的计算性能,进而提高运算芯片及整体计算设备的计算速度和计算正确率。并且,本发明运算芯片的内核60不会在不同频率间跳转,工作频率相对稳定。
图2是本发明一实施例中计算设备的芯片调频装置的结构示意图,所述计算设备优选用于海量运算,例如用于挖掘虚拟数字货币的运算。所述芯片调频装置100至少包括有频点设置模块10、计算性能分析模块20、频率调整模块30、频点统计模块40和频点调整模块50,其中:
所述频点设置模块10,用于通过多个锁相环电路70为运算芯片设置多个工作频点,将运算芯片中的多个内核60分别工作于各工作频点,各个工作频点的频率不同,且所述工作频点与锁相环电路70为一一对应关系。优选的是,锁相环电路70设置于运算芯片的内部或外部。本发明中各工作频点的频点个数、频率之间差距可根据实际需要设置,工作频点越多越能充分发挥各个内核60的计算性能。例如设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。因此,本发明可以设置更多的锁相环电路70来设置更多的工作频点,以使得各个内核60的计算性能充分发挥。
值得提醒的是,本发明中工作频点之间的频差需要控制在合理范围。因为当内核60提高一个工作频点,该内核的工作频率将提高一个频差值,其可以因为计算速度的提高进而提升一定的计算性能。于此同时,提升内核的工作频率,其可能因为计算正确率的降低进而损耗一定的计算性能。所以频点设置模块10应该合理控制相邻的工作频点之间的频差,使得内核60从当前工作频点上调到上一个工作频点时,内核60的计算性能的受益应大于损失。优选的是,相邻的工作频点之间的频差为1~10%。
所述计算性能分析模块20,用于分析每个内核60在当前工作频点的计算性能指标。所述计算性能指标代表内核60在当前工作频点的实际计算性能,包括但不限于计算正确率、计算正确数量、计算速度等。若内核60的计算性能指标较高,则表示所述内核60的计算性能可能还有提升空间;若内核60的计算性能指标较低,则表示所述内核60的计算性能可能不足以在当前工作频点对应的频率下工作。优选的是,计算性能分析模块20用于在预定的调整周期内,分析内核60的计算性能指标是否达到预定的第一指标阈值、第二指标阈值和/或第三指标阈值,其中,第一指标阈值与第二指标阈值相同或者不相同。
所述频率调整模块30,用于根据内核60的计算性能指标,通过锁相环电路70对内核60的当前工作频点进行上调或下调。当然,频率调整模块30也可以通过其他硬件或软件实现对内核60的当前工作频点进行上调或下调。优选的是,频率调整模块30用于若内核60的计算性能指标达到第一指标阈值,将内核60的当前工作频点上调到上一个工作频点;和/或,频率调整模块30用于若内核60的计算性能指标未达到第二指标阈值,将内核60的当前工作频点下调到下一个工作频点;和/或,频率调整模块30用于若内核60的计算性能指标达到第三指标阈值,将内核60的当前工作频点下调到下一个工作频点。
例如,结合上述“例如设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。”,以及内核60的当前工作频点为600MHz为例,所述计算性能指标为内核60在调整周期内的计算正确率,第一指标阈值和第二指标阈值均为90%。若内核60在调整周期内的计算正确率达到90%,表示所述内核60的计算性能较好,则将内核60的当前工作频点600MHz上调到上一个工作频点650MHz;若内核60在调整周期内的计算正确率未达到90%,表示所述内核60的计算性能较弱,则将内核60的当前工作频点600MHz下调到下一个工作频点550MHz。本领域技术人员可以理解的是,上一个工作频点并不仅限于上一相邻工作频点,也可设置一个以上的上一相邻工作频点作为上一个工作频点;下一个工作频点并不仅限于下一相邻工作频点,也可设置一个以上的下一相邻工作频点作为下一个工作频点。即为,将内核60的当前工作频点600MHz上调到上一个工作频点700MHz;将内核60的当前工作频点600MHz下调到下一个工作频点500MHz。以此类推,此处不对上一工作频点,下一工作频点的间距作限定。优选的是,当前工作频点与上一个工作频点之间的频差为1~10%,以及当前工作频点与下一个工作频点的频差为1~10%,使得内核60从当前工作频点上调到上一个工作频点或下一个工作频点时,内核60的计算性能的受益应大于损失。
再例如,所述计算性能指标为内核60在调整周期内的计算正确率,第一指标阈值为90%,第二指标阈值为80%。若内核60在调整周期内的计算正确率达到90%,表示所述内核60的计算性能较好,则将内核60的当前工作频点600MHz上调到上一个工作频点650MHz;若内核60在调整周期内的计算正确率未达到80%,表示所述内核60的计算性能较弱,则将内核60的当前工作频点600MHz下调到下一个工作频点550MHz。
又例如,所述计算性能指标为内核60在调整周期内的正确计算次数和错误结算次数,第一指标阈值为100,第二指标阈值为10。若内核60在调整周期内的正确计算次数达到100,表示所述内核60的计算性能较好,则将内核60的当前工作频点600MHz上调到上一个工作频点650MHz;若内核60在调整周期内的错误计算次数达到10,表示所述内核60的计算性能较弱,则将内核60的当前工作频点600MHz下调到下一个工作频点550MHz。
所述频点统计模块40,用于统计被调频后的内核60在各工作频点上的当前分布状态。
所述频点调整模块50,用于根据内核60的当前分布状态和预定的频点调整机制,通过锁相环电路70调整设置工作频点的频率。
图3是本发明另一实施例中计算设备的芯片调频装置的结构示意图,所述计算设备优选用于海量运算,例如用于挖掘虚拟数字货币的运算。所述芯片调频装置100包括频点设置模块10、计算性能分析模块20、频率调整模块30、频点统计模块40以及频点调整模块50,其中:
所述频点设置模块10,用于为计算设备的运算芯片设置多个工作频点,将运算芯片中的多个内核60分别工作于各工作频点。即根据运算芯片层面的频率调整机制为每个运算芯片设置若干不同的频点,并让运算芯片的内核60工作于各个工作频点。例如设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。各工作频点的频点个数、频率之间差距可根据实际需要设置,工作频点越多越能充分发挥各个内核60的计算性能。在启动调频开关时(尚未对内核60进行调频之前),内核60可以按照预定规则平均分布、不平均分布或随机分布于所述工作频点。
所述计算性能分析模块20,用于分析每个内核60在当前工作频点的计算性能指标。所述计算性能指标代表内核60在当前工作频点的实际计算性能,包括但不限于计算正确率、计算正确数量、计算速度等。若内核60的计算性能指标较高,则表示所述内核60的计算性能可能还有提升空间;若内核60的计算性能指标较低,则表示所述内核60的计算性能可能不足以在当前工作频点对应的频率下工作。
所述频率调整模块30,用于根据内核60的计算性能指标,对内核60的当前工作频点进行上调或下调。即根据内核层面的频率调整机制,将根据内核60的实际计算性能,将内核60调整到合适的工作频点,上调计算性能高的内核60的频率,下调计算性能低的内核60的频率,从而充分发挥每个内核60的计算性能。所述频率调整模块30可通过如图2所示的锁相环电路70或软件对内核60进行调频。优选的是,若内核60在调整周期内的计算正确率达到第一正确率阈值,表明该内核60尚未达到最佳计算性能,因此将内核60的当前工作频点上调到上一个工作频点;若内核60在调整周期内的计算正确率未达到第二正确率阈值,表明该内核60的计算性能不足以在当前工作频点上工作,因此将内核60的当前工作频点下调到下一个工作频点。
所述频点统计模块40,用于统计被调频后的内核60在各工作频点上的当前分布状态。内核60的工作频点根据自身计算性能被自动调频后,会分布在各工作频点上工作,频点统计模块40统计被调频后的内核60在各工作频点上的分布个数可得出当前分布状态。优选的是,可将工作频点划分为包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,高频工作频点中频率最高的是最高工作频点,低频工作频点中频率最低的是最低工作频点。例如一共有1000个内核60,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,依次其分布在上述6个工作频点的个数分别为:100,200,100,100,200,300。其中,500MHz,550MHz为低频工作频点,600MHz,650MHz为中间工作频点,700MHz,750MHz为高频工作频点,500MHz为最低工作频点,750MHz为最高工作频点。
所述频点调整模块50,用于根据内核60的所述当前分布状态和预定的频点调整机制,调整设置工作频点的频率。所述频点调整机制是内核分布状态与频点调整的对应关系。所述内核分布状态是指内核60在各个工作频点上工作的分布状态。所述调整设置工作频点的频率,是指直接将工作频点的频率进行调整。所述频点调整模块50优选通过如图2所示的锁相环电路70调整设置工作频点的频率。本发明理想状态是希望超过预定的比率(如50%)或最多数目的内核60落到中间工作频点,这样内核60的频率有更大的上调空间。
例如,若超过预定的比率(如30%)的内核60工作于最高工作频点(750MHz)上,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),则需要将一工作频点(600MHz)修改设置为至少一优化高频工作频点(800MHz),原工作于工作频点(600MHz)上的内核60将全部转移到最高工作频点(750MHz)上工作。所述优化高频工作频点的频率高于所述最高工作频点的频率,以充分发挥各内核60的计算性能。
在本发明一具体实例中,所述频点调整模块50还包括第一频点调整子模块51和/或第二频点调整子模块52,其中:
所述第一频点调整子模块51,用于若超过预定的第一比率的内核60工作于至少一高频工作频点上,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),将至少一工作频点修改设置为至少一优化高频工作频点,所述优化高频工作频点的频率高于最高工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,超过30%(第一比率)的内核60工作在两个高频工作频点(700MHz和750MHz),则将两个低频工作频点(500MHz和550MHz)修改设置为两个优化高频工作频点(800MHz和850MHz),或者将一个低频工作频点(500MHz)和一个中频工作频点(600MHz)修改设置为两个优化高频工作频点(800MHz和850MHz)。
优选的是,第一频点调整子模块51用于若超过第一比率的内核60工作于最高工作频点上,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),将一个工作频点修改设置为一个优化高频工作频点,优化高频工作频点的频率高于最高工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,超过30%(第一比率)的内核60工作在最高工作频点(750MHz),则将一个低频工作频点(500MHz)修改设置为优化高频工作频点(800MHz),或者将一个中频工作频点(600MHz)修改设置为优化高频工作频点(800MHz);或者将最高工作频点(750MHz)修改设置为优化高频工作频点(800MHz)。
所述第二频点调整子模块52,用于若超过预定的第二比率的内核60工作于至少一低频工作频点上,说明所述内核60的计算能力过差不足以工作在所述低频工作频点上,因此将至少一工作频点修改设置为至少一优化低频工作频点,所述优化低频工作频点的频率低于最低工作频点的频率,以避免计算性能差的内核60影响运算芯片的整体计算性能。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,超过30%(第二比率)的内核60工作在两个低频工作频点(500MHz和550MHz),则将两个低频工作频点(500MHz和550MHz)修改设置为两个优化低频工作频点(400MHz和450MHz),或者将一个低频工作频点(500MHz)和一个中频工作频点(600MHz)修改设置为两个优化低频工作频点(400MHz和450MHz)。
优选的是,第二频点调整子模块52用于若超过第二比率的内核60工作于最低工作频点上,说明所述内核60的计算能力过差不足以工作在所述最低工作频点上,因此将一个工作频点修改设置为一个优化低频工作频点。优化低频工作频点的频率低于最低工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,超过30%(第二比率)的内核60工作在最低工作频点(500MHz),则将一个低频工作频点(500MHz)修改设置为优化低频工作频点(450MHz),或者将一个中频工作频点(600MHz)修改设置为优化低频工作频点(450MHz);或者将最高工作频点(750MHz)修改设置为优化低频工作频点(450MHz)。
在本发明一个具体应用实施例中:使用6个锁相环电路70,设置6个工作频点:500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。
按照4块算力板统计出的各对应频率上分布的内核数目如下:
算力板0:[294 26 96 224 1023 1665]
算力板1:[274 47 111 212 963 1721]
算力板2:[350 25 153 369 1381 1050]
算力板3:[488 33 184 367 1342 950]
以上述四块算力板0~3为例,如图4所示,数据大致符合正态分布,最低工作频点(500Mhz)为单个内核60工作的最低频率,无法再向下调整(如果错误率过高,可以考虑关闭该最低频点);而最高工作频点(750Mhz)上积累超过预定比率(例如50%)的内核60,则意味着没有发挥出最大的效率(因可能更高),整个运算芯片还有进一步提升的空间。比较理想状态是超过预定的比率(如50%)或最多数目的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz)。为充分利用内核60的计算性能,更应该考虑高能力侧的长尾,而不是低频点长尾。
以算力板0~1为例,可以看出,若将600Mhz频点去除,此时若采用整体左移,大概有100个内核60频点落到550频点上,当前的频率设置明显在左侧低频区,不利于充分发挥内核60的计算性能。故更适合整体右移,即采用整体偏移方式,通过如图2所示的锁相环电路70将550Mhz频点整体向右设置为800Mhz频点以上,则有望使得数百个内核60提高到800M以上,从而带来整体计算性能的大幅提升。
在本发明另一具体实例中,所述频点调整模块50还包括第三频点调整子模块53和/或第四频点调整子模块54,其中:
所述第三频点调整子模块53,用于若工作于至少一高频工作频点的内核60的数目最多,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),因此将至少一工作频点修改设置为至少一优化高频工作频点,优化高频工作频点的频率高于最高工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,最多数目的内核60工作在两个高频工作频点(700MHz和750MHz),则将两个低频工作频点(500MHz和550MHz)修改设置为两个优化高频工作频点(800MHz和850MHz),或者将一个低频工作频点(500MHz)和一个中频工作频点(600MHz)修改设置为两个优化高频工作频点(800MHz和850MHz)。
优选的是,所述第三频点调整子模块53用于若工作于最高工作频点上的内核60的数目最多,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),因此将一个工作频点修改设置为一个优化高频工作频点。优化高频工作频点的频率高于最高工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,数目最多的内核60工作在最高工作频点(750MHz),则将一个低频工作频点(500MHz)修改设置为优化高频工作频点(800MHz),或者将一个中频工作频点(600MHz)修改设置为优化高频工作频点(800MHz);或者将最高工作频点(750MHz)修改设置为优化高频工作频点(800MHz)。
所述第四频点调整子模块54,用于若工作于至少一低频工作频点的内核60的数目最多,说明所述内核60的计算能力过差,其不足以工作在所述低频工作频点上,因此将至少一工作频点修改设置为至少一优化低频工作频点,优化低频工作频点的频率低于最低工作频点的频率,以避免计算能力差的内核60影响运算芯片的整体计算性能。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,数目最多的内核60工作在两个低频工作频点(500MHz和550MHz),则将两个低频工作频点(500MHz和550MHz)修改设置为两个优化低频工作频点(400MHz和450MHz),或者将一个低频工作频点(500MHz)和一个中频工作频点(600MHz)修改设置为两个优化低频工作频点(400MHz和450MHz)。
优选的是,第四频点调整子模块54用于若工作于最低工作频点的内核60的数目最多,说明所述内核60的计算能力过差不足以工作在所述最低工作频点上,因此将一个工作频点修改设置为一个优化低频工作频点。优化低频工作频点的频率低于最低工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,数目最多的内核60工作在最低工作频点(500MHz),则将一个低频工作频点(500MHz)修改设置为优化低频工作频点(450MHz),或者将一个中频工作频点(600MHz)修改设置为优化低频工作频点(450MHz);或者将最高工作频点(750MHz)修改设置为优化低频工作频点(450MHz)。
在本发明一个具体应用实施例中:使用6个锁相环电路70,设置6个工作频点:500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。
按照4块算力板统计出的各对应频率上分布的内核数目如下:
算力板0:[294 26 96 224 1023 1665]
算力板1:[274 47 111 212 963 1721]
算力板2:[350 25 153 369 1381 1050]
算力板3:[488 33 184 367 1342 950]
以上述四块算力板0~3为例,如图4所示,数据大致符合正态分布,最低工作频点(500Mhz)为单个内核60工作的最低频率,无法再向下调整(如果错误率过高,可以考虑关闭该最低频点);而最高工作频点(750Mhz)上积累的内核60的数目最多,则意味着没有发挥出最大的效率(因可能更高),整个运算芯片还有进一步提升的空间。比较理想状态是超过预定的比率(如50%)或最多数目的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz)。为充分利用内核60的计算性能,更应该考虑高能力侧的长尾,而不是低频点长尾。
以算力板0~1为例,可以看出,如果将600Mhz频点去除,大概有100个内核60频点落到550频点上,当前的频率设置明显在左侧低频区,更适合整体右移,即采用整体偏移方式,通过如图2所示的锁相环电路70将550Mhz频点整体向右设置为800Mhz频点以上,则有望使得数百个内核60提高到800M以上,从而带来整体性能的大幅提升。
在本发明又一具体实例中,所述频点调整模块50还包括第一停止调整子模块55或者第二停止调整子模块56,其中:
第一停止调整子模块55,用于若超过预定的第三比率的内核60工作于至少一中间工作频点上,停止调整设置工作频点的频率。因为比较理想状态就是超过预定的第三比率(如50%)的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz),其能充分发挥内核60的工作性能,故此时不需要再对内核60进行调频。
第二停止调整子模块56,用于若工作于在至少一中间工作频点上的内核60的数目最多,停止调整设置工作频点的频率。因为比较理想状态就是最多数目的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz),其能充分发挥内核60的工作性能,故此时不需要再对内核60进行调频。
本发明还提供一种包括有如所述芯片调频装置100的算力板。
本发明还提供一种包括有所述芯片调频装置100的计算设备。
图5是本发明计算设备的芯片调频方法的流程图,其可通过所述计算设备的芯片调频装置100实现,所述计算设备包括至少一个运算芯片,所述运算芯片设置有多个内核。所述计算设备优选用于海量运算,例如用于挖掘虚拟数字货币的运算。需指出的是,本发明芯片调频技术实际涉及两个层级的频率调整机制:运算芯片层面的频率调整机制和内核层面的频率调整机制。所述运算芯片层面的频率调整机制是指为每个运算芯片设置若干合适的工作频点,并让运算芯片的各个内核60工作于各个工作频点,充分发挥每个内核60的工作性能。所述内核层面的频率调整机制是指根据内核60的实际计算性能,将内核60调整到合适的工作频点,上调计算性能高的内核60的频率,下调计算性能低的内核60的频率,从而充分发挥每个内核60的计算性能。所述方法包括步骤有:
步骤S501,为计算设备的运算芯片设置多个工作频点,每个工作频点的频率不同,并将运算芯片中的多个内核60分别工作于各工作频点。
本步骤根据运算芯片的频率调整机制,为每个运算芯片设置若干不同的频点,并让运算芯片的各个内核60工作于各个工作频点。本发明工作频点的频点个数、频率之间差距可根据实际需要设置,工作频点越多越能充分发挥各个内核60的计算性能。在启动调频开关时(尚未对内核60进行调频),内核60可以按照预定规则平均分布、不平均分布或随机分布于所述工作频点上工作。
本步骤优选的是,通过多个锁相环电路70为运算芯片设置多个工作频点,工作频点与锁相环电路70为一一对应关系。当然本步骤也可以通过其他硬件或软件为运算芯片设置多个工作频点。更好的是,如图2所示的锁相环电路70设置于运算芯片的内部或外部。本发明中各工作频点的频点个数、频率之间差距可根据实际需要设置,工作频点越多越能充分发挥各个内核60的计算性能。例如设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。因此,本发明可以设置更多的锁相环电路70来设置更多的工作频点,以使得各个内核60的计算性能充分发挥。
值得提醒的是,本发明中工作频点之间的频差需要控制在合理范围。因为当内核60提高一个工作频点,该内核的工作频率将提高一个频差值,其可以因为计算速度的提高进而提升一定的计算性能。于此同时,提升内核的工作频率,其可能因为计算正确率的降低进而损耗一定的计算性能。所以应该合理控制相邻的工作频点之间的频差,使得内核60从当前工作频点上调到上一个工作频点时,内核60的计算性能的受益应大于损失。优选的是,相邻的工作频点之间的频差为1~10%。
步骤S502,分析每个内核60在当前工作频点的计算性能指标。
所述计算性能指标代表内核60在当前工作频点的实际计算性能,包括但不限于计算正确率、计算正确数量、计算速度等。若内核60的计算性能指标较高,则表示所述内核60的计算性能可能还有提升空间;若内核60的计算性能指标较低,则表示所述内核60的计算性能可能不足以在当前工作频点对应的频率下工作。
本步骤优选的是,在预定的调整周期内,分析内核60的计算性能指标是否达到预定的第一指标阈值、第二指标阈值和/或第三指标阈值,其中,第一指标阈值与第二指标阈值相同或者不相同。
步骤S503,根据内核60的计算性能指标,对内核60的当前工作频点进行上调或下调。
本步骤根据内核层面的频率调整机制,将根据内核60的实际计算性能,将内核60调整到合适的工作频点,上调计算性能高的内核60的频率,下调计算性能低的内核60的频率,从而充分发挥每个内核60的计算性能。本步骤可通过如图2所示的锁相环电路70或软件对内核60进行调频。优选的是,周期性地对内核60的频率进行调节,若内核60在频率的调整周期内的计算正确率达到第一正确率阈值,表明该内核60尚未达到最佳计算性能,因此将内核60的当前工作频点上调到较高的上一个工作频点;若内核60在频率的调整周期内的计算正确率未达到第二正确率阈值,表明该内核60的计算性能不足以在当前工作频点上工作,因此将内核60的当前工作频点下调到较低的下一个工作频点。
所述步骤S503优选进一步包括:
(1)若内核60的计算性能指标达到第一指标阈值,将内核60的当前工作频点上调到上一个工作频点;
(2)若内核60的计算性能指标未达到第二指标阈值,将内核60的当前工作频点下调到下一个工作频点;和/或
(3)若内核60的计算性能指标达到第三指标阈值,将内核60的当前工作频点下调到下一个工作频点。
例如,结合上述“例如设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。”,以及内核60的当前工作频点为600MHz为例,所述计算性能指标为内核60在调整周期内的计算正确率,第一指标阈值和第二指标阈值均为90%。若内核60在调整周期内的计算正确率达到90%,表示所述内核60的计算性能较好,则将内核60的当前工作频点600MHz上调到上一个工作频点650MHz;若内核60在调整周期内的计算正确率未达到90%,表示所述内核60的计算性能较弱,则将内核60的当前工作频点600MHz下调到下一个工作频点550MHz。本领域技术人员可以理解的是,上一个工作频点并不仅限于上一相邻工作频点,也可设置一个以上的上一相邻工作频点作为上一个工作频点;下一个工作频点并不仅限于下一相邻工作频点,也可设置一个以上的下一相邻工作频点作为下一个工作频点。即为,将内核60的当前工作频点600MHz上调到上一个工作频点700MHz;将内核60的当前工作频点600MHz下调到下一个工作频点500MHz。以此类推,此处不对上一工作频点,下一工作频点的间距作限定。
再例如,所述计算性能指标为内核60在调整周期内的计算正确率,第一指标阈值为90%,第二指标阈值为80%。若内核60在调整周期内的计算正确率达到90%,表示所述内核60的计算性能较好,则将内核60的当前工作频点600MHz上调到上一个工作频点650MHz;若内核60在调整周期内的计算正确率未达到80%,表示所述内核60的计算性能较弱,则将内核60的当前工作频点600MHz下调到下一个工作频点550MHz。
又例如,所述计算性能指标为内核60在调整周期内的正确计算次数和错误结算次数,第一指标阈值为100,第二指标阈值为10。若内核60在调整周期内的正确计算次数达到100,表示所述内核60的计算性能较好,则将内核60的当前工作频点600MHz上调到上一个工作频点650MHz;若内核60在调整周期内的错误计算次数达到10,表示所述内核60的计算性能较弱,则将内核60的当前工作频点600MHz下调到下一个工作频点550MHz。
步骤S504,统计被调频后的内核60在各工作频点上的当前分布状态。
内核60的工作频点根据自身计算性能被自动调频后,会分布在各工作频点上工作,统计被调频后的内核60在各工作频点上的分布个数可得出当前分布状态。优选的是,可将工作频点划分为包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,高频工作频点中频率最高的是最高工作频点,低频工作频点中频率最低的是最低工作频点。例如一共有1000个内核60,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,依次其分布在上述6个工作频点的个数分别为:100,200,100,100,200,300。其中,500MHz,550MHz为低频工作频点,600MHz,650MHz为中间工作频点,700MHz,750MHz为高频工作频点,500MHz为最低工作频点,750MHz为最高工作频点。
步骤S505,根据内核60的当前分布状态和预定的频点调整机制,调整设置工作频点的频率,频点调整机制是内核60分布状态与频点调整的对应关系。
所述内核分布状态是指内核60在各个工作频点上工作的分布状态。所述调整设置工作频点的频率,是指直接将工作频点的频率进行调整。本步骤优选通过如图2所示的锁相环电路70调整设置工作频点的频率。本发明理想状态是希望超过预定的比率(如50%)或最多数目的内核60落到中间工作频点,这样内核60的频率有更大的上调空间。
例如,若超过预定的比率(如30%)的内核60工作于最高工作频点(750MHz)上,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),则需要将一工作频点(600MHz)修改设置为至少一优化高频工作频点(800MHz),原工作于工作频点(600MHz)上的内核60将全部转移到最高工作频点(750MHz)上工作。所述优化高频工作频点的频率高于所述最高工作频点的频率,以充分发挥各内核60的计算性能。
优选的是,所述步骤S505之后还可包括:
(1)若超过预定的第三比率的内核60工作于至少一中间工作频点上,停止调整设置工作频点的频率。因为比较理想状态就是超过预定的第三比率(如50%)的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz),其能充分发挥内核60的工作性能,故此时不需要再对内核60进行调频。
(2)若工作于在至少一中间工作频点上的内核60的数目最多,停止调整设置工作频点的频率。因为比较理想状态就是最多数目的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz),其能充分发挥内核60的工作性能,故此时不需要再对内核60进行调频。
本发明根据运算芯片中各个内核60的实际计算性能评价内核60的工作性能,调节内核60对应频率,充分发挥性能较优内核60的计算优势,并避免性能较弱内核60影响运算芯片的运算性能,最大程度发挥各个内核60的计算性能,进而提高运算芯片及整体计算设备的计算速度和计算正确率。并且,本发明运算芯片的内核60不会来回变动频率,工作频率相对稳定。
图6是本发明又一实施例中计算设备的优选芯片调频方法的流程图之一,其可通过所述计算设备的芯片调频装置100实现,所述计算设备包括至少一个运算芯片,所述运算芯片设置有多个内核。所述计算设备优选用于海量运算,例如用于挖掘虚拟数字货币的运算。所述方法包括步骤有:
步骤S601,为计算设备的运算芯片设置多个工作频点,将运算芯片中的多个内核60分别工作于各工作频点。
步骤S602,分析每个内核60在当前工作频点的计算性能指标。
步骤S603,根据内核60的计算性能指标,对内核60的当前工作频点进行上调或下调。
步骤S604,统计被调频后的内核60在各工作频点上的当前分布状态。
内核60的工作频点根据自身计算性能被自动调频后,会分布在各工作频点上工作,统计被调频后的内核60在各工作频点上的分布个数可得出当前分布状态。所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,高频工作频点中频率最高的是最高工作频点,低频工作频点中频率最低的是最低工作频点。
步骤S605,若超过预定的第一比率的内核60工作于至少一高频工作频点上,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),将至少一工作频点修改设置为至少一优化高频工作频点,所述优化高频工作频点的频率高于最高工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,超过30%(第一比率)的内核60工作在两个高频工作频点(700MHz和750MHz),则将两个低频工作频点(500MHz和550MHz)修改设置为两个优化高频工作频点(800MHz和850MHz),或者将一个低频工作频点(500MHz)和一个中频工作频点(600MHz)修改设置为两个优化高频工作频点(800MHz和850MHz)。
本步骤优选的是,若超过第一比率的内核60工作于最高工作频点上,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),将一个工作频点修改设置为一个优化高频工作频点,所述优化高频工作频点的频率高于最高工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,超过30%(第一比率)的内核60工作在最高工作频点(750MHz),则将一个低频工作频点(500MHz)修改设置为优化高频工作频点(800MHz),或者将一个中频工作频点(600MHz)修改设置为优化高频工作频点(800MHz);或者将最高工作频点(750MHz)修改设置为优化高频工作频点(800MHz)。
步骤S606,若超过预定的第二比率的内核60工作于至少一低频工作频点上,说明所述内核60的计算能力过差不足以工作在所述低频工作频点上,因此将至少一工作频点修改设置为至少一优化低频工作频点,所述优化低频工作频点的频率低于最低工作频点的频率,以避免计算性能差的内核60影响运算芯片的整体计算性能。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。值得注意的是,本步骤可以省略,即并不将至少一工作频点修改设置为至少一优化低频工作频点。
例如,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,超过30%(第二比率)的内核60工作在两个低频工作频点(500MHz和550MHz),则将两个低频工作频点(500MHz和550MHz)修改设置为两个优化低频工作频点(400MHz和450MHz),或者将一个低频工作频点(500MHz)和一个中频工作频点(600MHz)修改设置为两个优化低频工作频点(400MHz和450MHz)。
本步骤优选的是,若超过第二比率的内核60工作于最低工作频点上,将一个工作频点修改设置为一个优化低频工作频点。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。例如,超过30%(第二比率)的内核60工作在最低工作频点(500MHz),则将一个低频工作频点(500MHz)修改设置为优化低频工作频点(450MHz),或者将一个中频工作频点(600MHz)修改设置为优化低频工作频点(450MHz);或者将最高工作频点(750MHz)修改设置为优化低频工作频点(450MHz)。
优选的是,所述步骤S606之后进一步包括:
(1)若超过预定的第三比率的内核60工作于至少一中间工作频点上,停止调整设置工作频点的频率;因为比较理想状态就是超过预定的第三比率(如50%)的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz),其能充分发挥内核60的工作性能,故此时不需要再对内核60进行调频。或者
(2)若工作于在至少一中间工作频点上的内核60的数目最多,停止调整设置工作频点的频率。因为比较理想状态就是最多数目的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz),其能充分发挥内核60的工作性能,故此时不需要再对内核60进行调频。
在本发明一个具体应用实施例中:使用6个锁相环电路70,设置6个工作频点:500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。
按照4块算力板统计出的各对应频率上分布的内核数目如下:
算力板0:[294 26 96 224 1023 1665]
算力板1:[274 47 111 212 963 1721]
算力板2:[350 25 153 369 1381 1050]
算力板3:[488 33 184 367 1342 950]
以上述四块算力板0~3为例,如图4所示,数据大致符合正态分布,最低工作频点(500Mhz)为单个内核60工作的最低频率,无法再向下调整(如果错误率过高,可以考虑关闭该最低频点);而最高工作频点(750Mhz)上积累超过预定比率(例如50%)的内核60,则意味着没有发挥出最大的效率(因可能更高),整个运算芯片还有进一步提升的空间。比较理想状态是超过预定的比率(如50%)或最多数目的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz)。为充分利用内核60的计算性能,更应该考虑高能力侧的长尾,而不是低频点长尾。
以算力板0~1为例,可以看出,若将600Mhz频点去除,此时若采用整体左移,大概有100个内核60频点落到550频点上,当前的频率设置明显在左侧低频区,不利于充分发挥内核60的计算性能。故更适合整体右移,即采用整体偏移方式,通过如图2所示的锁相环电路70将550Mhz频点整体向右设置为800Mhz频点以上,则有望使得数百个内核60提高到800M以上,从而带来整体计算性能的大幅提升。
图7是本发明再一实施例中计算设备的优选芯片调频方法的流程图,其可通过所述芯片调频装置100实现,所述计算设备包括至少一个运算芯片,所述运算芯片设置有多个内核。所述计算设备优选用于海量运算,例如用于挖掘虚拟数字货币的运算。所述方法包括步骤有:
步骤S701,为计算设备的运算芯片设置多个工作频点,将运算芯片中的多个内核60分别工作于各工作频点。
步骤S702,分析每个内核60在当前工作频点的计算性能指标。
步骤S703,根据内核60的计算性能指标,对内核60的当前工作频点进行上调或下调。
步骤S704,统计被调频后的内核60在各工作频点上的当前分布状态。工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,高频工作频点中频率最高的是最高工作频点,低频工作频点中频率最低的是最低工作频点。
步骤S705,若工作于至少一高频工作频点的内核60的数目最多,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),因此将至少一工作频点修改设置为至少一优化高频工作频点,所述优化高频工作频点的频率高于最高工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,最多数目的内核60工作在两个高频工作频点(700MHz和750MHz),则将两个低频工作频点(500MHz和550MHz)修改设置为两个优化高频工作频点(800MHz和850MHz),或者将一个低频工作频点(500MHz)和一个中频工作频点(600MHz)修改设置为两个优化高频工作频点(800MHz和850MHz)。
本步骤优选的是,若工作于最高工作频点上的内核60的数目最多,可能导致所述内核60没有发挥出最大的计算性能(因可能更高),因此将一个工作频点修改设置为一个优化高频工作频点。优化高频工作频点的频率高于最高工作频点的频率。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,数目最多的内核60工作在最高工作频点(750MHz),则将一个低频工作频点(500MHz)修改设置为优化高频工作频点(800MHz),或者将一个中频工作频点(600MHz)修改设置为优化高频工作频点(800MHz);或者将最高工作频点(750MHz)修改设置为优化高频工作频点(800MHz)。
步骤S706,若工作于至少一低频工作频点的内核60的数目最多,说明所述内核60的计算能力过差不足以工作在所述低频工作频点上,因此将至少一工作频点修改设置为至少一优化低频工作频点,优化低频工作频点的频率低于最低工作频点的频率,以避免计算能力差的内核60影响运算芯片的整体计算性能。本步骤可以省略,即并不将至少一工作频点修改设置为至少一优化低频工作频点。并且,被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。
例如,设置6个工作频点,500MHz,550MHz,600MHz,650MHz,700MHz,750MHz,数目最多的内核60工作在两个低频工作频点(500MHz和550MHz),则将两个低频工作频点(500MHz和550MHz)修改设置为两个优化低频工作频点(400MHz和450MHz),或者将一个低频工作频点(500MHz)和一个中频工作频点(600MHz)修改设置为两个优化低频工作频点(400MHz和450MHz)。
本步骤优选的是,若工作于最低工作频点的内核60的数目最多,将一个工作频点修改设置为一个优化低频工作频点。被修改的工作频点可以是低频工作频点、中频工作频点和/或高频工作频点。例如,数目最多的内核60工作在最低工作频点(500MHz),则将一个低频工作频点(500MHz)修改设置为优化低频工作频点(450MHz),或者将一个中频工作频点(600MHz)修改设置为优化低频工作频点(450MHz);或者将最高工作频点(750MHz)修改设置为优化低频工作频点(450MHz)。
优选的是,所述步骤S706之后进一步包括:
(1)若超过预定的第三比率的内核60工作于至少一中间工作频点上,停止调整设置工作频点的频率;或者
(2)若工作于在至少一中间工作频点上的内核60的数目最多,停止调整设置工作频点的频率。
在本发明一个具体应用实施例中:使用6个锁相环电路70,设置6个工作频点:500MHz,550MHz,600MHz,650MHz,700MHz,750MHz。
按照4块算力板统计出的各对应频率上分布的内核数目如下:
算力板0:[294 26 96 224 1023 1665]
算力板1:[274 47 111 212 963 1721]
算力板2:[350 25 153 369 1381 1050]
算力板3:[488 33 184 367 1342 950]
以上述四块算力板0~3为例,如图4所示,数据大致符合正态分布,最低工作频点(500Mhz)为单个内核60工作的最低频率,无法再向下调整(如果错误率过高,可以考虑关闭该最低频点);而最高工作频点(750Mhz)上积累的内核60的数目最多,则意味着没有发挥出最大的效率(因可能更高),整个运算芯片还有进一步提升的空间。比较理想状态是超过预定的比率(如50%)或最多数目的内核60落在一个或多个中间工作频点上,例如第3个工作频点(600MHz)。为充分利用内核60的计算性能,更应该考虑高能力侧的长尾,而不是低频点长尾。
以算力板0~1为例,可以看出,如果将600Mhz频点去除,大概有100个内核60频点落到550频点上,当前的频率设置明显在左侧低频区,更适合整体右移,即采用整体偏移方式,通过如图2所示的锁相环电路70将550Mhz频点整体向右设置为800Mhz频点以上,则有望使得数百个内核60提高到800M以上,从而带来整体性能的大幅提升。
本发明还提供一种存储介质,用于存储如图5~图7所述任意一种计算设备的芯片调频方法的计算机程序。例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的存储介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输和/或被存储在根据程序指令运行的计算设备的存储器中。在此,根据本申请的一个实施例包括一个如图8所示的计算设备,所述计算设备优选包括控制板、与所述控制板连接的至少一算力板,所述控制板设置有处理器,所述算力板上设置有多个用于运算的运算芯片,所述运算芯片中设置有多个内核;该设备包括用于存储计算机程序指令的存储介质和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该计算设备执行基于前述多个实施例中的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
根据本发明的方法可以作为计算机实现方法在计算机上实现、或者在专用硬件中实现、或以两者的组合的方式实现。用于根据本发明的方法的可执行代码或其部分可以存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上以便当所述程序产品在计算机上执行时执行根据本发明的方法的非临时程序代码部件。
在优选实施例中,计算机程序包括适合于当计算机程序在计算机上运行时执行根据本发明的方法的所有步骤的计算机程序代码部件。优选地,在计算机可读介质上体现计算机程序。
综上所述,本发明针对计算设备的运算芯片的内核进行自动调频,先设置多个合适的工作频点,将运算芯片中的多个内核分别工作于不同的工作频点上,然后根据每个内核在当前工作频点的计算性能指标,对内核的当前工作频点进行上调或下调,即上调计算性能高的内核的频率,下调计算性能低的内核的频率。并且,统计被调频后的内核在各工作频点上的当前分布状态;根据内核的当前分布状态和预定的频点调整机制,调整设置工作频点的频率。借此,本发明能够根据计算设备的运算芯片中各个内核的实际计算性能,自动调节各个内核对应的频率,从而最大程度发挥内核的计算性能,进而提高运算芯片及整体运算设备的运算性能。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (23)

1.一种计算设备的芯片调频方法,所述计算设备设置有至少一运算芯片,所述运算芯片设置有多个内核,其特征在于,包括步骤有:
频点设置步骤,为所述计算设备的所述运算芯片设置多个工作频点,将所述运算芯片中的多个内核分别工作于各所述工作频点;
计算性能分析步骤,分析每个所述内核在当前工作频点的计算性能指标;
频率调整步骤,根据所述内核的所述计算性能指标,对所述内核的所述当前工作频点进行上调或下调;
频点统计步骤,统计被调频后的所述内核在各所述工作频点上的当前分布状态;
频点调整步骤,根据所述内核的所述当前分布状态和预定的频点调整机制,调整设置所述工作频点的频率,所述频点调整机制是内核分布状态与频点调整的对应关系,其中,所述根据所述内核的所述当前分布状态和预定的频点调整机制,调整设置所述工作频点的频率包括:根据所述内核的所述当前分布状态和预定的频点调整机制,将当前所述分布状态的分布图在其坐标系上向左或者向右移动。
2.根据权利要求1所述的芯片调频方法,其特征在于,所述频点设置步骤还包括:
通过多个锁相环电路为所述运算芯片设置多个所述工作频点,所述工作频点与所述锁相环电路为一一对应关系;
所述频率调整步骤还包括:
根据所述内核的所述计算性能指标,通过所述锁相环电路对所述内核的所述当前工作频点进行上调或下调;
所述频点调整步骤还包括:
根据所述内核的所述当前分布状态和预定的频点调整机制,通过所述锁相环电路调整设置所述工作频点的频率。
3.根据权利要求2所述的芯片调频方法,其特征在于,所述锁相环电路设置于所述运算芯片的内部或外部。
4.根据权利要求1所述的芯片调频方法,其特征在于,相邻的所述工作频点之间的频差为1~10%。
5.根据权利要求1所述的芯片调频方法,其特征在于,所述计算性能分析步骤还包括:
在预定的调整周期内,分析所述内核的所述计算性能指标是否达到预定的第一指标阈值、第二指标阈值和/或第三指标阈值,所述第一指标阈值与所述第二指标阈值相同或者不相同;
所述频率调整步骤还包括:
若所述内核的所述计算性能指标达到所述第一指标阈值,将所述内核的所述当前工作频点上调到上一个工作频点;和/或
若所述内核的所述计算性能指标未达到所述第二指标阈值,将所述内核的所述当前工作频点下调到下一个工作频点;和/或
若所述内核的所述计算性能指标达到所述第三指标阈值,将所述内核的所述当前工作频点下调到下一个工作频点。
6.根据权利要求1所述的芯片调频方法,其特征在于,所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,所述高频工作频点中频率最高的是最高工作频点,所述低频工作频点中频率最低的是最低工作频点;
所述频点调整步骤还包括:
若超过预定的第一比率的所述内核工作于至少一所述高频工作频点上,将至少一所述工作频点修改设置为至少一优化高频工作频点,所述优化高频工作频点的频率高于所述最高工作频点的频率;和/或
若超过预定的第二比率的所述内核工作于至少一所述低频工作频点上,将至少一所述工作频点修改设置为至少一优化低频工作频点,所述优化低频工作频点的频率低于所述最低工作频点的频率。
7.根据权利要求6所述的芯片调频方法,其特征在于,所述若超过所述第一比率的所述内核工作于至少一所述高频工作频点上,将至少一所述工作频点修改设置为至少一所述优化高频工作频点的步骤还包括:
若超过所述第一比率的所述内核工作于所述最高工作频点上,将一个所述工作频点修改设置为一个所述优化高频工作频点;和/或
所述若超过预定的所述第二比率的所述内核工作于至少一所述低频工作频点上,将至少一所述工作频点修改设置为至少一所述优化低频工作频点的步骤还包括:
若超过所述第二比率的所述内核工作于所述最低工作频点上,将一个所述工作频点修改设置为一个所述优化低频工作频点。
8.根据权利要求1所述的芯片调频方法,其特征在于,所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,所述高频工作频点中频率最高的是最高工作频点,所述低频工作频点中频率最低的是最低工作频点;
所述频点调整步骤还包括:
若工作于至少一所述高频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一优化高频工作频点,所述优化高频工作频点的频率高于所述最高工作频点的频率;和/或
若工作于至少一所述低频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一优化低频工作频点,所述优化低频工作频点的频率低于所述最低工作频点的频率。
9.根据权利要求8所述的芯片调频方法,其特征在于,所述若工作于至少一所述高频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一所述优化高频工作频点的步骤还包括:
若工作于所述最高工作频点上的所述内核的数目最多,将一个所述工作频点修改设置为一个所述优化高频工作频点;和/或
所述若工作于至少一所述低频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一所述优化低频工作频点的步骤还包括:
若工作于所述最低工作频点的所述内核的数目最多,将一个所述工作频点修改设置为一个所述优化低频工作频点。
10.根据权利要求1所述的芯片调频方法,其特征在于,所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点;
所述频点调整步骤还包括:
若超过预定的第三比率的所述内核工作于至少一所述中间工作频点上,停止调整设置所述工作频点的频率;或者
若工作于在至少一所述中间工作频点上的所述内核的数目最多,停止调整设置所述工作频点的频率。
11.一种计算设备的芯片调频装置,所述计算设备上设置有至少一个运算芯片,所述运算芯片中设置有多个内核,其特征在于,所述芯片调频装置包括:
频点设置模块,用于为所述计算设备的所述运算芯片设置多个工作频点,将所述运算芯片中的多个内核分别工作于各所述工作频点;
计算性能分析模块,用于分析每个所述内核在当前工作频点的计算性能指标;
频率调整模块,用于根据所述内核的所述计算性能指标,对所述内核的所述当前工作频点进行上调或下调;
频点统计模块,用于统计被调频后的所述内核在各所述工作频点上的当前分布状态;
频点调整模块,用于根据所述内核的所述当前分布状态和预定的频点调整机制,调整设置所述工作频点的频率,所述频点调整机制是内核分布状态与频点调整的对应关系,其中,所述根据所述内核的所述当前分布状态和预定的频点调整机制,调整设置所述工作频点的频率包括:根据所述内核的所述当前分布状态和预定的频点调整机制,将当前所述分布状态的分布图在其坐标系上向左或者向右移动。
12.根据权利要求11所述的芯片调频装置,其特征在于,所述频点设置模块用于通过多个锁相环电路为所述运算芯片设置多个所述工作频点,所述工作频点与所述锁相环电路为一一对应关系;
所述频率调整模块,用于根据所述内核的所述计算性能指标,通过所述锁相环电路对所述内核的所述当前工作频点进行上调或下调;
所述频点调整模块,用于根据所述内核的所述当前分布状态和预定的频点调整机制,通过所述锁相环电路调整设置所述工作频点的频率。
13.根据权利要求12所述的芯片调频装置,其特征在于,所述锁相环电路设置于所述运算芯片的内部或外部。
14.根据权利要求11所述的芯片调频装置,其特征在于,相邻的所述工作频点之间的频差为1~10%。
15.根据权利要求11所述的芯片调频装置,其特征在于,所述计算性能分析模块用于在预定的调整周期内,分析所述内核的所述计算性能指标是否达到预定的第一指标阈值、第二指标阈值和/或第三指标阈值,所述第一指标阈值与所述第二指标阈值相同或者不相同;
所述频率调整模块用于若所述内核的所述计算性能指标达到所述第一指标阈值,将所述内核的所述当前工作频点上调到上一个工作频点;和/或
所述频率调整模块用于若所述内核的所述计算性能指标未达到所述第二指标阈值,将所述内核的所述当前工作频点下调到下一个工作频点;和/或
所述频率调整模块用于若所述内核的所述计算性能指标达到所述第三指标阈值,将所述内核的所述当前工作频点下调到下一个工作频点。
16.根据权利要求11所述的芯片调频装置,其特征在于,所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,所述高频工作频点中频率最高的是最高工作频点,所述低频工作频点中频率最低的是最低工作频点;
所述频点调整模块还包括:
第一频点调整子模块,用于若超过预定的第一比率的所述内核工作于至少一所述高频工作频点上,将至少一所述工作频点修改设置为至少一优化高频工作频点,所述优化高频工作频点的频率高于所述最高工作频点的频率;和/或
第二频点调整子模块,用于若超过预定的第二比率的所述内核工作于至少一所述低频工作频点上,将至少一所述工作频点修改设置为至少一优化低频工作频点,所述优化低频工作频点的频率低于所述最低工作频点的频率。
17.根据权利要求16所述的芯片调频装置,其特征在于,所述第一频点调整子模块,用于若超过所述第一比率的所述内核工作于所述最高工作频点上,将一个所述工作频点修改设置为一个所述优化高频工作频点;和/或
所述第二频点调整子模块,用于若超过所述第二比率的所述内核工作于所述最低工作频点上,将一个所述工作频点修改设置为一个所述优化低频工作频点。
18.根据权利要求11所述的芯片调频装置,其特征在于,所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点,所述高频工作频点中频率最高的是最高工作频点,所述低频工作频点中频率最低的是最低工作频点;
所述频点调整模块还包括:
第三频点调整子模块,用于若工作于至少一所述高频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一优化高频工作频点,所述优化高频工作频点的频率高于所述最高工作频点的频率;和/或
第四频点调整子模块,用于若工作于至少一所述低频工作频点的所述内核的数目最多,将至少一所述工作频点修改设置为至少一优化低频工作频点,所述优化低频工作频点的频率低于所述最低工作频点的频率。
19.根据权利要求18所述的芯片调频装置,其特征在于,所述第三频点调整子模块,用于若工作于所述最高工作频点上的所述内核的数目最多,将一个所述工作频点修改设置为一个所述优化高频工作频点;和/或
所述第四频点调整子模块,用于若工作于所述最低工作频点的所述内核的数目最多,将一个所述工作频点修改设置为一个所述优化低频工作频点。
20.根据权利要求11所述的芯片调频装置,其特征在于,所述工作频点包括至少一高频工作频点、至少一中间工作频点和至少一低频工作频点;
所述频点调整模块还包括:
第一停止调整子模块,用于若超过预定的第三比率的所述内核工作于至少一所述中间工作频点上,停止调整设置所述工作频点的频率;或者
第二停止调整子模块,用于若工作于在至少一所述中间工作频点上的所述内核的数目最多,停止调整设置所述工作频点的频率。
21.一种包括有权利要求11~20中任意一种所述芯片调频装置的算力板。
22.一种包括有权利要求11~20中任意一种所述芯片调频装置的计算设备。
23.一种存储介质,用于存储一种用于执行权利要求1~10中任意一种所述计算设备的芯片调频方法的计算机程序。
CN201810576548.9A 2018-06-06 2018-06-06 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质 Active CN108984360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810576548.9A CN108984360B (zh) 2018-06-06 2018-06-06 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810576548.9A CN108984360B (zh) 2018-06-06 2018-06-06 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN108984360A CN108984360A (zh) 2018-12-11
CN108984360B true CN108984360B (zh) 2022-06-21

Family

ID=64540856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810576548.9A Active CN108984360B (zh) 2018-06-06 2018-06-06 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN108984360B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825208B (zh) * 2019-10-25 2021-06-01 展讯半导体(成都)有限公司 数字货币矿机参数的调整方法、装置、设备及存储介质
CN111966202B (zh) * 2020-08-18 2021-06-04 深圳比特微电子科技有限公司 数字货币矿机的电源电压控制方法、装置和数字货币矿机
CN115145761B (zh) * 2022-09-02 2022-11-18 深圳比特微电子科技有限公司 一种芯片频率控制方法、装置、区块链服务器和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200834422A (en) * 2007-02-07 2008-08-16 Asustek Comp Inc Performance enhancement method for a multi-processing core device
US8631256B2 (en) * 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
WO2013147770A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Method and apparatus for atomic frequency and voltage changes
CN103376874B (zh) * 2012-04-24 2017-03-08 深圳市中兴微电子技术有限公司 一种多核处理器设备及其实现时钟控制的方法
CN105511591B (zh) * 2015-12-31 2018-10-12 天津飞腾信息技术有限公司 基于双阈值功耗自适应的dvfs调节算法
CN106855838A (zh) * 2016-12-29 2017-06-16 杭州嘉楠耘智信息科技有限公司 一种工作频率调整方法、装置及系统
CN107239348B (zh) * 2017-06-23 2020-05-15 厦门美图移动科技有限公司 一种多核处理器调度方法、装置及移动终端

Also Published As

Publication number Publication date
CN108984360A (zh) 2018-12-11

Similar Documents

Publication Publication Date Title
CN108984360B (zh) 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质
CN109086130B (zh) 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质
USRE48819E1 (en) Performance and power optimization via block oriented performance measurement and control
US7657764B2 (en) Method and apparatus for on-demand power management
US8788859B2 (en) Thermal sensitivity based clock frequency adjustment for dynamic power control of a processor
US8095818B2 (en) Method and apparatus for on-demand power management
US6472848B2 (en) Reducing battery discharge current by throttling CPU power
CN102411395B (zh) 一种基于片上监测和电压预测的动态电压调节系统
EP0451661A2 (en) Low power consumption microprocessor
US9971396B2 (en) Method for performing system power control within an electronic device, and associated apparatus
US20090289615A1 (en) Apparatus and method for reducing power consumption by an integrated circuit
CN106788420B (zh) 一种信号频率检测方法、装置及信号频率控制器
CN104702278A (zh) 一种频率校准方法及装置
US20140006667A1 (en) Adaptive hardware interrupt moderation
CN1643480A (zh) 一种用于大规模数字集成电路中的自适应电压定标时钟发生器及其工作方法
CN108170257A (zh) 一种动态电压调整系统及调整方法
US9310872B2 (en) Processor frequency mainly depending on a target frame rate while processing a graphics application
US20160062390A1 (en) Adjusting Clock Frequency
CN101446845A (zh) 频率调节装置
CN103326714B (zh) 数字控制振荡器、硬件性能检测方法、系统和检测器
US20100295582A1 (en) Clock circuit for digital circuit
CN102751982B (zh) 一种适用于通信设备背板开销处理的时钟选择电路
US8854101B2 (en) Adaptive clock generating apparatus and method thereof
US9710042B2 (en) Adaptive microprocessor power ramp control
CN111966209A (zh) 基于arm架构的cpu降频系统、方法、装置和介质

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