[发明专利]一种并行GPDT算法在多核SOC上的划分方法有效
申请号: | 201610832540.5 | 申请日: | 2016-09-19 |
公开(公告)号: | CN106407561B | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 韩军;轩四中;袁腾跃;曾晓洋 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F30/39 | 分类号: | G06F30/39;G06K9/62 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于集成电路设计技术领域,具体为一种并行GPDT算法在多核SoC上的划分方法。并行GPDT算法包括两层迭代,内层迭代负责求解工作集,而外层迭代负责更新工作集。在计算速度的关键路径方面,外层循环的关键路径是梯度的更新,内层循环的关键路径是每次投影之后向量的计算,这两部分矩阵运算都需要在多核上并行化处理;而其余的运算只能通过在主核上串行的方式实现,包括利用Dai‑Fletcher算法实现的梯度投影操作,以及通过引入快速排序算法来实现工作集的更新等。计算结束后得到的向量即为GPDT算法训练数据的支持向量。 | ||
搜索关键词: | 一种 并行 gpdt 算法 多核 soc 划分 方法 | ||
【主权项】:
一种并行GPDT算法在多核SoC上的划分方法,其特征在于,具体步骤如下:步骤1:首先在主核上初始化向量为0,选择两个整数nB和nC,令0≤nC≤nB≤1,nC为偶数,从向量中随机选择nB个元素组成工作集B,令外层迭代次数k=1;步骤2:QP子问题求解2.1在主核上设定初始梯度下降步长ρ0∈[ρmin,ρmax],ρmin和ρmax为预设值,且满足0<ρmin<ρmax,令内层迭代次数k’=0;2.2然后在各个核上并行计算初始梯度的行片段在主核上将计算结果拼接:其中,A是nB×nB矩阵,是nB×1的列向量,也是nB×1的列向量;首先,将矩阵A将按行分解为其中,Ani表示一个的矩阵;然后在各个核上计算的值;最后,在主核上将各核的运算结果拼接,即为的结果;2.3在主核上完成向可行域Ω投影的操作,并判断向量是否满足终止条件,如果满足则结束迭代,否则计算梯度下降的方向d(k’);2.4接着在各个核上并行计算矩阵z(k’)的行片段其中矩阵A的行分解方式同步骤2.2中一样,然后在主核上将各核的运算结果拼接,即为的计算结果。2.5然后在主核上先线搜索计算系数λk,计算新的步长ρk‘+1以及uk′+1等,再令内层迭代次数k’=k’+1;判断uk′+1是否满足KKT终止条件,如果满足,进入下一步;否则,返回到步骤2.2,计算新的梯度下降方向;步骤3:在得到QP子问题的解后,需要更新梯度,在各个核上并行计算梯度增量的列片段然后在主核上将结果累加,得到新的梯度:计算其中,GLB是一个l×nB的矩阵,而是一个nB×1的列向量,则二者相乘的结果是一个l×1的列向量;由于矩阵GLB是l行nB列,所以,首先,将矩阵按列分解为按行分解为然后,在各个核上计算最后,在主核上将各个核计算的结果累加,即为的值;步骤4:在主核上判断是否满足KKT条件,如果满足,计算结束,否则在主核上更新工作集,令k=k+1,返回到步骤2。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610832540.5/,转载请声明来源钻瓜专利网。