[发明专利]支持向量排序的装置、方法及应用有效
申请号: | 201710279834.4 | 申请日: | 2017-04-25 |
公开(公告)号: | CN108733352B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F7/76 | 分类号: | G06F7/76 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 201203 上海浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 向量 排序 装置 方法 应用 | ||
本公开涉及支持向量排序的装置、方法和应用,其中装置包括数据存储单元、运算模块、控制单元和数据输出单元,其中,数据存储单元,用于存储向量排序指令、待排序的数据向量以及排序向量的中间结果;控制单元,获取所述向量排序指令;运算模块,用于将待排序的数据向量或排序向量的中间结构排序为由小到大的向量或由大到小的向量,排序运算所采用的方法可以配置;数据输出单元,用于存储排序后的向量。
技术领域
本公开涉及向量运算领域,更具体地涉及支持向量排序指令的装置、和方法,以及相应装置的应用。
背景技术
向量排序,作为一种基本的运算类型,广泛应用于各种领域。例如,在数据库中,根据某一属性值进行排序;在人工神经网络对样本进行分类预测时,根据样本属于各分类的概率求解前k最大概率对应的类型时,需要计算出的各个分类概率进行排序,挑选出前k大的概率对应的类型。
传统的向量排序方法是在通用处理器上通过特定的算法进行运算,可以采用的方式大致有冒泡排序、选择排序、快速排序、归并排序和二分排序。采用软件方式在通用处理器上进行排序过程中,相关操作串行执行,很难利用排序算法的可并行性,运算速度较慢,同时,向量排序算法会被分成译码成一系列的指令序列,译码的开销也很大。
公开内容
有鉴于此,本公开的目的在于,提供一种支持向量排序指令的装置、方法及应用,以解决以上所述的至少一项技术问题。
根据本公开的一方面,提供一种支持向量排序的装置,包括数据存储单元、运算模块、控制单元和数据输出单元,其中,
数据存储单元,用于存储向量排序指令、待排序的数据向量以及排序向量的中间结果;
控制单元,获取所述向量排序指令,并向运算模块输入进行运算的微指令,并控制运算模块将运算结果写入到数据输出单元中;
运算模块,用于根据微指令设置排序规则,将待排序的数据向量或排序向量的中间结构排序为由小到大的向量或由大到小的向量,形成与待排序的数据向量等长度的排序后的向量;
数据输出单元,用于存储排序后的向量。
根据本公开另一方面,提供一种步骤1,控制单元3从数据存储单元1中获取所要执行的指令,单元根据指令的操作码判断指令的类型,若指令为排序指令,转到步骤5,否则,转到步骤2执行;
步骤2,控制单元3控制运算模块2从数据存储单元1中获取执行操作所需的源数据,并将其送入到第二运算子模块22;
步骤3,控制单元3控制第二运算子模块22根据指令内容完成相应的运算,获取运算结果;
步骤4,控制单元3控制第二运算子模块22将运算结果根据指令中目的操作数的地址写入到数据输出单元4中,运算终止;
步骤5,控制单元3根据向量排序的类型、待排序向量的长度,排序指令的源操作数源地址、目的操作数地址,生成向量排序所需要的微指令,并将微指令送至运算模块2;
步骤6,运算模块2从数据存储单元1中获取待排序向量或排序中间结果,根据微指令对待排序向量或排序中间结果进行排序操作;若排序得到的为中间结果,则将中间结果写回到数据存储单元1原地址处,重复执行步骤6;否则,排序得到的为最后结果,将排序后的结果根据排序指令提供的目的操作数地址写回到数据输出单元4中,操作结束。
根据本公开的再一方面,提供一种使用以上装置进行神经网络运算的方法,其中所述待排序的数据向量为预处理阶段测试数据特征矩阵对应的特征值向量和分类结果的概率向量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710279834.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于区块链的随机数生成方法
- 下一篇:一种界面构造方法和装置