Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于CNN的PPA约束驱动处理器设计方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

摘要:本发明公开了一种基于CNN的PPA约束驱动处理器设计方法,先构建由处理器设计范式,采样模块,EDA工具模块,PPA预测模块以及PPA约束驱动的处理器设计生成模块组成的基于CNN的PPA约束驱动处理器设计系统。采样模块对处理器设计范式的设计空间进行采样获取处理器设计样本,EDA工具获取处理器设计样本的PPA值,PPA约束驱动的处理器设计生成模块基于模拟退火算法对设计空间进行探索,从PPA预测模块获取不同特征向量配置下的PPA预测值,通过评价函数评价不同处理器设计,使用最优特征向量配置处理器设计范式,生成帕累托最优的处理器设计。本发明PPA预测准确率高,能高效生成满足PPA约束的帕累托最优设计。

主权项:1.一种基于CNN的PPA约束驱动处理器设计方法,其特征在于包括以下步骤:第一步,构建基于CNN的PPA约束驱动处理器设计系统;基于CNN的PPA约束驱动处理器设计系统由处理器设计范式,采样模块,EDA工具模块,PPA预测模块以及PPA约束驱动的处理器设计生成模块组成;采样模块与处理器设计范式、EDA工具模块、PPA预测模块相连;采样模块对处理设计范式的设计空间进行采样,得到若干处理器设计范式的特征向量,并将这些特征向量配置下的处理器设计发送给EDA工具模块;采样模块接收从EDA工具模块发送回的处理器设计的性能、功耗、面积评估,将处理器设计范式的特征向量以及该特征向量配置下的处理器设计的性能、功耗、面积评估构建为训练数据集,将训练数据集发送给PPA预测模块;特征向量长度为N,N为处理器设计范式中可配置参数的数量;EDA工具模块与采样模块相连,使用仿真工具对来自采样模块的处理器设计进行仿真,得到性能评估,使用综合工具对来自采样模块的处理器设计进行综合,得到功耗及面积的评估;将性能评估、功耗及面积的评估发送给采样模块;PPA预测模块是一个CNN模型,它与采样模块、PPA约束驱动的处理器设计生成模块相连;CNN模型由第一全连接层,第一卷积层,第二卷积层以及第二全连接层构成;第一全连接层与采样模块、第一卷积层相连,从采样模块接收训练数据集,对训练数据集中处理器设计范式的特征向量进行加权并扩充,得到N*N的特征矩阵,将特征矩阵发送给第一卷积层;第一卷积层与第一全连接层和第二卷积层相连,对从第一全连接层接收的特征矩阵进行特征提取得到一级特征,将一级特征发送给第二卷积层;第二卷积层与第一卷积层和第二全连接层相连,对从第一卷积层接收的一级特征进行特征提取得到二级特征,将二级特征发送给第二全连接层;第二全连接层与第二卷积层相连,对从第二卷积层接收的二级特征进行线性回归,得到特征向量配置下处理器设计的性能、功耗、面积预测值组成的三元组,即处理器设计PPA的预测值;PPA约束驱动的处理器设计生成模块与处理器设计范式、PPA预测模块相连;PPA约束驱动的处理器设计生成模块基于设计人员输入的PPA约束,对处理器设计范式的设计空间进行探索,将每次探索得到的特征向量发送给PPA预测模块,从PPA预测模块接收此特征向量配置下处理器设计的PPA预测值,计算探索得到的特征向量的评价函数值并进行迭代;在对处理器设计范式的设计空间进行探索的过程中PPA约束驱动的处理器设计生成模块记录保存满足PPA约束的处理器设计的特征向量,对满足PPA约束的处理器设计的特征向量按评价函数的值进行排序,将评价函数值最高的特征向量用于配置处理器设计范式,生成满足PPA约束的帕累托最优处理器设计序列;第二步,采样模块对处理器设计范式的设计空间进行采样,并构建用于训练CNN模型的数据集,方法是:2.1将处理器设计范式中N个可配置参数的初始值组成的向量记为初始特征向量F0,0=v1,v2,...,vn,…,vN,其中vn是第n个可配置参数的初始值,1≤n≤N,N为正整数;2.2使用F0,0配置处理器设计范式,得到F0,0配置下的处理器设计,将F0,0配置下的处理器设计发送给EDA工具模块;EDA工具模块使用仿真工具获取F0,0配置下的处理器设计的性能评估Per0,0;使用综合工具获取F0,0配置下的处理器设计的功耗Pow0,0和面积评估Area0,0,并将二元组F0,0,Per0,0,Pow0,0,Area0,0发送回采样模块;2.3采样模块初始化训练CNN模型的数据集FC,令FC={F0,0,Per0,0,Pow0,0,Area0,0};2.4将处理器设计范式的N个可配置参数除初始值外的值域依次记为数组V1,V2,……,Vn,……,VN,记Vn的长度为lenn;2.5采样模块继续对处理器设计范式的设计空间采样,并扩充数据集FC,方法是:2.5.1初始化n=1;2.5.2初始化循环变量j=1;2.5.3将特征向量F0,0中的第n个元素vn的取值更新为数组vn中的第j个值,即令vn=Vn[j],得到将初始特征向量中第n个元素值更新为数组Vn中的第j个值的特征向量Fn,j,Fn,j=v1,v2,...,Vn[j],...,vN;2.5.4使用Fn,j配置处理器设计范式,得到Fn,j配置下的处理器设计,将Fn,j配置下的处理器设计发送给EDA工具模块;2.5.5EDA工具模块使用仿真工具获取Fn,j配置下的处理器设计的性能评估Pern,j;使用综合工具获取Fn,j配置下的处理器设计的功耗Pown,j和面积评估Arean,j,并将二元组Fn,j,Pern,j,Pown,j,Arean,j发送回采样模块;2.5.6采样模块将二元组Fn,j,Pern,j,Pown,j,Arean,j加入数据集FC;2.5.7令j=j+1;2.5.8若jlenn,转2.5.9;否则转2.5.32.5.9令n=n+1;2.5.10若nN,转2.5.11;否则转2.5.2;2.5.11初始化循环变量rand=1;2.5.12将处理器设计范式中的N个可配置参数随机赋值为其值域中的一个值,并将这N个参数的值记为随机特征向量FN+1,rand,其中FN+1,rand的下标N+1表示随机特征向量是通过随机采样的方式产生,下标rand表示该随机特征向量是随机采样得到的第rand个特征向量;2.5.13若转2.5.14,否则转2.5.12;2.5.14使用FN+1,rand配置处理器设计范式,得到FN+1,rand配置下的处理器设计,将FN+1,rand配置下的处理器设计发送给EDA工具模块;2.5.15EDA工具模块使用仿真工具获取FN+1,rand配置下的处理器设计的性能评估PerN+1,rand;使用综合工具获取FN+1,rand配置下的处理器设计的功耗PowN+1,rand和面积评估AreaN+1,rand,并将二元组FN+1,rand,PerN+1,rand,PowN+1,rand,AreN+1,rand发送回采样模块;2.5.16采样模块将二元组FN+1,rand,PerN+1,rand,PowN+1,rand,AreaN+1,rand加入数据集FC;2.5.17令rand=rand+1;若rand≤RAND_SAMPLES,RAND_SAMPLES是随机采样数量,转2.5.12,否则表示采样模块完成对处理器设计范式的设计空间进行采样,且完成了用于训练CNN模型的数据集FC的构建,转第三步;第三步,使用FC训练PPA预测模块,得到能够预测处理器设计的PPA值的PPA预测模块,方法是:3.1初始化迭代次数epoch=20,批大小batchsize=16,学习率lr=0.01;3.2选择均方误差MSE作为CNN模型的损失函数;3.3使用数据集FC训练PPA预测模块,方法是:3.3.1初始化训练循环变量e=0;3.3.2从数据集FC取出第batchsize*e+1个到第batchsize*e+1个数据,记为集合B,初始化循环变量batch=1;3.3.3将B中的第batch个数据中的第一项数据记为Input,Input长度为N,即处理器设计范式的一个特征向量样本,将Input输入CNN模型的第一全连接层,第一全连接层对Input进行加权并扩充得到N*N的特征矩阵,将特征矩阵发送给第一卷积层;第一卷积层对从第一全连接层得到的特征矩阵进行特征提取,得到一级特征,将一级特征发送给第二卷积层;第二卷积层对从第一卷积层接收的一级特征进行特征提取,得到二级特征,将二级特征发送给第二全连接层;第二全连接层对从第二卷积层接收的二级特征进行线性回归,得到第一全连接层输入的特征向量样本Input配置下处理器设计的性能、功耗、面积预测值组成的三元组Perinput,Powinput,Areainput;上述过程记为特征提取函数CNN_P,对特征向量样本为Input进行特征提取时的特征提取函数为CNN_PInput;CNN_PInput=L2C2C1L1Input=Perinput,Powinput,Areainput其中,L1是第一全连接层的加权扩充操作,C1是第一卷积层的提取特征操作,C2是第二卷积层的提取特征操作,L2是第二卷积层的线性回归操作;3.3.4令batch=batch+1;3.3.5若batch≤batchsize,转3.3.2,否则转3.3.5;3.3.6按如下公式计算损失值loss; B中第i个样本;Peri,Powi,Areai分别是CNN模型对B中第i个样本预测得到的性能、功耗、面积值;Per′i,Pow′i,Area′i分别是B中第i个样本通过EDA模块得到的性能、功耗、面积值,即第i个数据的标签;1≤i≤batchsize;3.3.7利用损失值的反向传播优化CNN模型的参数;3.3.8令循环变量e=e+1;3.3.9若eepoch,转3.3.1,否则训练结束,转3.4;3.4将此时的CNN模型参数加载到PPA预测模块,得到训练后的PPA预测模块;第四步,PPA约束驱动的处理器设计生成模块生成满足具体PPA约束的一系列帕累托最优的处理器设计,方法是:4.1PPA约束驱动的处理器设计生成模块从键盘接收用户输入的PPA约束per,pow,area,其中per是性能约束,pow是功耗约束,area是面积约束;4.2初始化模拟退火算法的初始温度T为1000-10000中任意整数,初始化温度下降速率d为1个0到1之间的随机数;4.3初始化二元组列表RL,用于存储满足PPA约束的处理器设计范式的特征向量以及该特征向量配置下的处理器设计的评价函数值,RL中的元素为特征向量和评价函数值组成的二元组;4.4初始化设计空间探索特征向量集合DSE用于记录PPA约束驱动的处理器设计生成模块已探索过的处理器设计范式的特征向量;4.5将处理器设计范式中的N个可配置参数全部随机更新为每个参数值域中的一个值,依次记为vx1,vx2,...,vxN,并将这组参数取值记录为已探索特征向量Fx,Fx=vx1,vx2,...,vxN,将Fx加入DSE;4.6将Fx中的任意一个参数修改为该参数值域中的其他值,得到一个新的特征向量,记为待探索特征向量Fy;4.7若Fy∈DSE,转4.6;否则将Fy加入DSE,转4.8;4.8令T=T*d;4.9若T>1,说明PPA约束驱动的处理器设计生成模块使用的模拟退火算法还在运行,转4.10;若T≤1,说明PPA约束驱动的处理器设计生成模块使用的模拟退火算法已经运行结束,转4.14;4.10PPA约束驱动的处理器设计生成模块将Fx和Fy发送给PPA预测模块,并从PPA预测模块得到Fx和Fy配置下的处理器设计的性能,功耗以及面积的预测值,即三元组Perx,Powx,Areax和三元组Pery,Powy,Areay,其中Perx,Powx,Areax分别是Fx配置下的处理器设计的性能,功耗以及面积的预测值,Pery,Powy,Areay分别是Fy配置下的处理器设计的性能,功耗以及面积的预测值;将三元组Perx,Powx,Areax和Pery,Powy,Areay发送给PPA约束驱动的处理器设计生成模块;4.11PPA约束驱动的处理器设计生成模块计算Fx配置下处理器设计的评价函数以及Fy配置下处理器设计的评价函数4.12若三元组Perx,Powx,Areax中的Perx,Powx,Areax满足Perx≤per且Powx≤pow且reax≤area,将Fx以及Ex加入到二元组列表RL中,转4.13;若Perxper或Powxpow或Areaxarea,直接转4.13;4.13PPA约束驱动的处理器设计生成模块计算模拟退火算法的跳转条件:e是自然常数;取0至1中的随机数m,若m≤Delta,令Fx=Fy,转4.6;否则直接转4.6;4.14PPA约束驱动的处理器设计生成模块对RL中的二元组按二元组中第二个元素的值从高到低进行排序,得到排序后的二元组列表RL;PPA约束驱动的处理器设计生成模块选取RL中的前K个二元组中的第一个特征向量来配置处理器设计范式,生成K个满足具体PPA约束的帕累托最优的处理器设计,K是正整数。

全文数据:

权利要求:

百度查询: 中国人民解放军国防科技大学 基于CNN的PPA约束驱动处理器设计方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。