CN110045951A - 一种神经网络硬件低功耗定制化的开发工具 - Google Patents
一种神经网络硬件低功耗定制化的开发工具 Download PDFInfo
- Publication number
- CN110045951A CN110045951A CN201910321710.7A CN201910321710A CN110045951A CN 110045951 A CN110045951 A CN 110045951A CN 201910321710 A CN201910321710 A CN 201910321710A CN 110045951 A CN110045951 A CN 110045951A
- Authority
- CN
- China
- Prior art keywords
- developing instrument
- power consumption
- voltage
- customizes
- frequency
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种神经网络硬件低功耗定制化的开发工具,属于开发工具领域,包括以下步骤:S1:源码加工,源码加工的操作步骤为用户提供编码、用户输入参数与开发工具输出;S2:生成调节策略,将S1中最后生成的源码下载到硬件上运行,钩子函数将需要监听的功能段负载、电压、频率等信息以文本格式输出;S3:生成工程码源,生成工程码源,生成并输出包含调节函数的工程应用代码。该神经网络硬件低功耗定制化的开发工具,提前将电压、频率调节策略写入,不依赖于现场预测,防止预测错误导致实时性要求高的应用无法正常使用,本专利生产的工程文件,没有大量的性能监测、预测等服务于电压、频率调节的任务,不占用硬件资源。
Description
技术领域
本发明涉及开发工具领域,具体为一种神经网络硬件低功耗定制化的开发工具。
背景技术
随着软硬件技术的不断发展,目前神经网络技术已经在移动端实现应用,而无需借助庞大的后台运算,但是功耗还是嵌入式应用的主要瓶颈之一,为了进一步降低功耗,在硬件方面设计人员通过改变芯片框架结构和优化电路降低单位时间功耗;在软件方面,通过优化算法、减小模型、降低精度等方法减少计算时间来降低功耗,这些方法具有通用性,即适合目前所有主流的神经网络,但为了在通用性和低功耗性能之间达到一个平衡,其功耗和性能并未达到硬件具有的最佳水平。
根据实际需求动态调整电压和频率,在保证性能的前提下降低嵌入式芯片的频率和电压是一种高效的节电方式,目前,较多的嵌入式芯片都支持动态电压与频率调节(如DVFS),也有专用的DVFS芯片用于不支持该功能的嵌入式芯片,该技术的主要工作过程是:采集T1时刻与系统负载有关的信号并计算当前负载;根据T1时刻负载预测T2时刻需要的性能;根据预测的性能调整电压和频率,实现低功耗目的,除了DVFS外,还有AVFS(自适应电压与频率调节)等其他解决方案,其能够适用于多种硬件及系统,具有可观的节电效果,但其存在较明显的缺点:不管采用什么算法,其核心都是根据T1时刻的负载情况预测T2时刻负载,然后根据预测结果调整电压和频率,但是在工程应用中,有时预测误差很大,尤其在实时性要求高的系统中,可能因为错误的电压、频率调节导致程序运行不流畅或死机,因此该方法在工业应用上还有一定的局限性。
发明内容
本发明的目的在于提供一种神经网络硬件低功耗定制化的开发工具,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种神经网络硬件低功耗定制化的开发工具,包括以下步骤:
S1:源码加工;
S2:生成调节策略;
S3:生成工程码源。
优选的,在S1中,源码加工分为三个操作步骤,分别为用户提供编码、用户输入参数与开发工具输出。
优选的,用户提供编码包括编写完成的代码、获取硬件参数的钩子函数与电压频率调节函数,用户输入参数包括需监听代码的函数名与电压和频率调节的步长和门限参数,开发工具输出为嵌入钩子函数的代码。
优选的,钩子函数和调节函数根据硬件技术手册编写,并放入不同文件夹,其中钩子函数用于查看硬件负载、频率、电压等与功耗相关的数据,调节函数主要用于电压和频率的调节控制。
优选的,在S2中,生成调节策略有硬件运行获取包含电压、频率、负载等信息的文件,开发工具根据用户输入参数和钩子函数获取的信息制定电压、频率调节策略与输出调节前和输出调节后的性能曲线图。
优选的,开发工具按程序执行顺序扫描源码,在指定的被监听函数段插入钩子函数,并为每个钩子函数编号。
优选的,在S1中最后生成的源码下载到硬件上运行,钩子函数将需要监听的功能段负载、电压、频率等信息以文本格式输出,该文本输出功能由钩子函数完成。
优选的,在S3中,生成工程码源包括人工比对调节前后的性能图,并结合工程需求修改调节策略、开发工具去除钩子函数,并根据调节策略加入调节函数与生成工程应用的代码,生成并输出包含调节函数的工程应用代码。
与现有技术相比,本发明的有益效果是:提前将电压、频率调节策略写入,不依赖于现场预测,防止预测错误导致实时性要求高的应用无法正常使用(如视频流卡顿等),本专利生产的工程文件,没有大量的性能监测、预测等服务于电压、频率调节的任务,基本不占用硬件资源。
附图说明
图1为本发明的整体流程图;
图2为本发明的源码加工技术框图;
图3为本发明的生成调节策略技术框图;
图4为本发明的生成工程码源技术框图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-4,本发明提供一种技术方案:一种神经网络硬件低功耗定制化的开发工具,包括以下步骤:
S1:源码加工,请参阅图1和图2,源码加工分为三个操作步骤,分别为用户提供编码、用户输入参数与开发工具输出,用户提供编码包括编写完成的代码、获取硬件参数的钩子函数与电压频率调节函数,用户输入参数包括需监听代码的函数名与电压和频率调节的步长和门限参数,开发工具输出为嵌入钩子函数的代码,根据硬件技术手册编写钩子函数和调节函数,并放入不同文件夹,其中钩子函数用于查看硬件负载、频率、电压等与功耗相关的数据,调节函数主要用于电压和频率的调节控制,打开开发工具并将编写完成的代码、钩子函数、调节函数分别导入开发工具,填写需要监听的功能函数名以及电压和频率调节的步长和门限参数,开始运行后,开发工具按程序执行顺序扫描源码,在指定的被监听函数段插入钩子函数,并为每个钩子函数编号,程序执行结束后将生成已按要求插入钩子函数的源码;
S2:生成调节策略,请参阅图3,将S1中最后生成的源码下载到硬件上运行,钩子函数将需要监听的功能段负载、电压、频率等信息以文本格式输出,该文本输出功能由钩子函数完成,将输出的文本信息导入开发工具,开发工具根据S1中用户输入的参数制定电压、频率调节策略,并将调节前后的性能数据以曲线图(报表)的形式展示,客户参照对比调节前后的曲线并根据工程需要进行修改,因为S1中插入钩子函数时都编号了,可直接点击曲线跳转到源代码,可根据源代码人工判断是否需要修改;
S3:生成工程码源,请参阅图4,策略修改完成后,开发工具将原先的钩子函数全部去除,并根据调节策略加入调节函数,最终生成实际工程中应用的源码,生成并输出包含调节函数的工程应用代码。
本发明提前将电压、频率调节策略写入,不依赖于现场预测,防止预测错误导致实时性要求高的应用无法正常使用(如视频流卡顿等),本专利生产的工程文件,没有大量的性能监测、预测等服务于电压、频率调节的任务,基本不占用硬件资源。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (8)
1.一种神经网络硬件低功耗定制化的开发工具,其特征在于,包括以下步骤:
S1:源码加工;
S2:生成调节策略;
S3:生成工程码源。
2.根据权利要求1所述的一种神经网络硬件低功耗定制化的开发工具,其特征在于:在S1中,源码加工分为三个操作步骤,分别为用户提供编码、用户输入参数与开发工具输出。
3.根据权利要求2所述的一种神经网络硬件低功耗定制化的开发工具,其特征在于:用户提供编码包括编写完成的代码、获取硬件参数的钩子函数与电压频率调节函数,用户输入参数包括需监听代码的函数名与电压和频率调节的步长和门限参数,开发工具输出为嵌入钩子函数的代码。
4.根据权利要求3所述的一种神经网络硬件低功耗定制化的开发工具,其特征在于:钩子函数和调节函数根据硬件技术手册编写,并放入不同文件夹,其中钩子函数用于查看硬件负载、频率、电压等与功耗相关的数据,调节函数主要用于电压和频率的调节控制。
5.根据权利要求4所述的一种神经网络硬件低功耗定制化的开发工具,其特征在于:在S2中,生成调节策略有硬件运行获取包含电压、频率、负载等信息的文件,开发工具根据用户输入参数和钩子函数获取的信息制定电压、频率调节策略与输出调节前和输出调节后的性能曲线图。
6.根据权利要求3所述的一种神经网络硬件低功耗定制化的开发工具,其特征在于:开发工具按程序执行顺序扫描源码,在指定的被监听函数段插入钩子函数,并为每个钩子函数编号。
7.根据权利要求6所述的一种神经网络硬件低功耗定制化的开发工具,其特征在于:在S1中最后生成的源码下载到硬件上运行,钩子函数将需要监听的功能段负载、电压、频率等信息以文本格式输出,该文本输出功能由钩子函数完成。
8.根据权利要求1所述的一种神经网络硬件低功耗定制化的开发工具,其特征在于:在S3中,生成工程码源包括人工比对调节前后的性能图,并结合工程需求修改调节策略、开发工具去除钩子函数,并根据调节策略加入调节函数与生成工程应用的代码,生成并输出包含调节函数的工程应用代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910321710.7A CN110045951B (zh) | 2019-04-22 | 2019-04-22 | 一种神经网络硬件低功耗定制化的开发工具 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910321710.7A CN110045951B (zh) | 2019-04-22 | 2019-04-22 | 一种神经网络硬件低功耗定制化的开发工具 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110045951A true CN110045951A (zh) | 2019-07-23 |
CN110045951B CN110045951B (zh) | 2022-04-15 |
Family
ID=67278140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910321710.7A Active CN110045951B (zh) | 2019-04-22 | 2019-04-22 | 一种神经网络硬件低功耗定制化的开发工具 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110045951B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882416A (zh) * | 2021-01-13 | 2021-06-01 | 大连理工大学 | 一种用于电流输入装置自适应降低功耗的电路 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794176A (zh) * | 2006-01-06 | 2006-06-28 | 浙江大学 | 基于动态调频技术的节能编译方法 |
CN101216727A (zh) * | 2008-01-16 | 2008-07-09 | 浙江大学 | 嵌入式低功耗操作系统中动态频率调整的映射方法 |
US20110095794A1 (en) * | 2009-10-28 | 2011-04-28 | Texas Instruments Incorporated | Enhancement of Power Management Using Dynamic Voltage and Frequency Scaling and Digital Phase Lock Loop High Speed Bypass Mode |
CN103760965A (zh) * | 2014-02-21 | 2014-04-30 | 中南大学 | 一种能量受限嵌入式系统的算法源程序节能优化方法 |
US20140313626A1 (en) * | 2013-04-20 | 2014-10-23 | Xiaobao Wang | Programmable high voltage energy saving system |
CN104699214A (zh) * | 2013-12-10 | 2015-06-10 | 展讯通信(上海)有限公司 | 动态电压频率调整装置及方法 |
CN105867521A (zh) * | 2015-02-10 | 2016-08-17 | 马维尔国际有限公司 | 用于调节计算设备中的硬件的时钟频率的方法、装置以及用户设备 |
-
2019
- 2019-04-22 CN CN201910321710.7A patent/CN110045951B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794176A (zh) * | 2006-01-06 | 2006-06-28 | 浙江大学 | 基于动态调频技术的节能编译方法 |
CN101216727A (zh) * | 2008-01-16 | 2008-07-09 | 浙江大学 | 嵌入式低功耗操作系统中动态频率调整的映射方法 |
US20110095794A1 (en) * | 2009-10-28 | 2011-04-28 | Texas Instruments Incorporated | Enhancement of Power Management Using Dynamic Voltage and Frequency Scaling and Digital Phase Lock Loop High Speed Bypass Mode |
US20140313626A1 (en) * | 2013-04-20 | 2014-10-23 | Xiaobao Wang | Programmable high voltage energy saving system |
CN104699214A (zh) * | 2013-12-10 | 2015-06-10 | 展讯通信(上海)有限公司 | 动态电压频率调整装置及方法 |
CN103760965A (zh) * | 2014-02-21 | 2014-04-30 | 中南大学 | 一种能量受限嵌入式系统的算法源程序节能优化方法 |
CN105867521A (zh) * | 2015-02-10 | 2016-08-17 | 马维尔国际有限公司 | 用于调节计算设备中的硬件的时钟频率的方法、装置以及用户设备 |
Non-Patent Citations (1)
Title |
---|
詹克通: ""Linux内核中基于改进OLDVS算法的实时节能调度技术研究与实现"", 《中国优秀硕士论文电子期刊网》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882416A (zh) * | 2021-01-13 | 2021-06-01 | 大连理工大学 | 一种用于电流输入装置自适应降低功耗的电路 |
CN112882416B (zh) * | 2021-01-13 | 2022-01-04 | 大连理工大学 | 一种用于电流输入装置自适应降低功耗的电路 |
Also Published As
Publication number | Publication date |
---|---|
CN110045951B (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102981825B (zh) | 一种移动终端后台数据的管理方法及系统 | |
CN107864071B (zh) | 一种面向主动安全的数据动态采集方法、装置及系统 | |
US20120110360A1 (en) | Application-specific power management | |
CN103197754B (zh) | 一种降低芯片功耗的方法和装置 | |
CN103218263B (zh) | MapReduce参数的动态确定方法及装置 | |
CN103472904B (zh) | 一种智能调整多个定时器的方法和装置 | |
CN107132904B (zh) | 一种ddr系统的控制系统及控制方法 | |
CN105511593A (zh) | 一种用于Linux系统的CPU子系统频率调节方法和装置 | |
CN102866765B (zh) | 图形处理单元与其管理方法 | |
CN110045951A (zh) | 一种神经网络硬件低功耗定制化的开发工具 | |
CN112463367A (zh) | 一种存储系统性能优化方法、系统及电子设备和存储介质 | |
CN104320221A (zh) | 一种通信模块的总线传输速率控制方法和装置 | |
CN111914000A (zh) | 一种基于功耗预测模型的服务器功率封顶方法、系统 | |
CN105933702A (zh) | 一种基于任务敏感的功耗控制方法 | |
CN103796226B (zh) | 一种网络优化方法及装置 | |
CN116073384A (zh) | 新能源送出的直流故障穿越送端交流电压稳定控制方法 | |
CN107256078A (zh) | 一种动态电压频率调整方法及装置 | |
CN113076093B (zh) | 电力监控系统配置方法、装置及终端 | |
CN110046143B (zh) | 一种一体化数据平台的整体架构优化系统及优化方法 | |
CN105828421A (zh) | 一种终端及终端省电的方法 | |
CN112800625A (zh) | 一种区域电网全清洁供电运行边界确定方法和系统 | |
CN112764883A (zh) | 一种基于软件定义的云桌面系统的能源管理方法 | |
CN1588273A (zh) | 计算机系统的电源管理系统 | |
CN105302280A (zh) | 一种功耗优化系统及方法 | |
CN106655157B (zh) | 一种用于光伏电站的功率调控方法与系统 |
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 |