The present disclosure relates to a device, method and application of support vector sorting, in which the device includes a data storage unit, an operation module, a control unit and a data output unit, wherein the data storage unit is used to store vector sorting instructions, data vectors to be sorted, and intermediate results of the sorting vector; and the control unit, acquisition. The vector sorting instruction, the operation module, is used to sort the intermediate structure of the data vector or the sorting vector to be sorted into vectors from small to large or from large to small, and the method used in the sorting operation can be configured; and the data output unit is used to store the sorted vectors.
【技术实现步骤摘要】
支持向量排序的装置、方法及应用
本公开涉及向量运算领域,更具体地涉及支持向量排序指令的装置、和方法,以及相应装置的应用。
技术介绍
向量排序,作为一种基本的运算类型,广泛应用于各种领域。例如,在数据库中,根据某一属性值进行排序;在人工神经网络对样本进行分类预测时,根据样本属于各分类的概率求解前k最大概率对应的类型时,需要计算出的各个分类概率进行排序,挑选出前k大的概率对应的类型。传统的向量排序方法是在通用处理器上通过特定的算法进行运算,可以采用的方式大致有冒泡排序、选择排序、快速排序、归并排序和二分排序。采用软件方式在通用处理器上进行排序过程中,相关操作串行执行,很难利用排序算法的可并行性,运算速度较慢,同时,向量排序算法会被分成译码成一系列的指令序列,译码的开销也很大。公开内容有鉴于此,本公开的目的在于,提供一种支持向量排序指令的装置、方法及应用,以解决以上所述的至少一项技术问题。根据本公开的一方面,提供一种支持向量排序的装置,包括数据存储单元、运算模块、控制单元和数据输出单元,其中,数据存储单元,用于存储向量排序指令、待排序的数据向量以及排序向量的中间结果;控制单元,获取所述向量排序指令,并向运算模块输入进行运算的微指令,并控制运算模块将运算结果写入到数据输出单元中;运算模块,用于根据微指令设置排序规则,将待排序的数据向量或排序向量的中间结构排序为由小到大的向量或由大到小的向量,形成与待排序的数据向量等长度的排序后的向量;数据输出单元,用于存储排序后的向量。根据本公开另一方面,提供一种步骤1,控制单元3从数据存储单元1中获取所要执行的指令,单元根据指令 ...
【技术保护点】
1.一种支持向量排序的装置,包括数据存储单元、运算模块、控制单元和数据输出单元,其中,数据存储单元,用于存储向量排序指令、待排序的数据向量以及排序向量的中间结果;控制单元,获取所述向量排序指令,并向运算模块输入进行运算的微指令,并控制运算模块将运算结果写入到数据输出单元中;运算模块,用于根据微指令设置排序规则,将待排序的数据向量或排序向量的中间结构排序为由小到大的向量或由大到小的向量,形成与待排序的数据向量等长度的排序后的向量;数据输出单元,用于存储排序后的向量。
【技术特征摘要】
1.一种支持向量排序的装置,包括数据存储单元、运算模块、控制单元和数据输出单元,其中,数据存储单元,用于存储向量排序指令、待排序的数据向量以及排序向量的中间结果;控制单元,获取所述向量排序指令,并向运算模块输入进行运算的微指令,并控制运算模块将运算结果写入到数据输出单元中;运算模块,用于根据微指令设置排序规则,将待排序的数据向量或排序向量的中间结构排序为由小到大的向量或由大到小的向量,形成与待排序的数据向量等长度的排序后的向量;数据输出单元,用于存储排序后的向量。2.根据权利要求1所述的装置,其特征在于,所述排序规则包括冒泡排序、选择排序、快速排序、归并排序和/或二分排序规则。3.根据权利要求2所述的装置,其特征在于,所述排序规则为归并排序规则。4.根据权利要求3所述的装置,其特征在于,所述运算模块包括由n个向量归并单元构成的第一运算子模块,其中,n为大于等于2的自然数,第一运算子模块每次从数据存储单元中读取不大于2n个已经归并的子向量或者有序子向量,然后进行归并,转存入数据存储单元中,直到已经归并的子向量的长度等于待排序的数据向量长度,形成排序后的向量。5.根据权利要求1-4任一所述的装置,其特征在于,所述运算模块还包括进行非向量排序的第二运算子模块,第二运算子模块用以完成除向量排序外的运算操作。6.一种向量排序方法,其特征在于包括:步骤1,控制单元3从数据存储单元1中获取所要执行的指令,单元根据指令的操作码判断指令的类型,若指令为排序指令,转到步骤5,否则,转到步骤2执行;步骤2,控制单元3控制运算模块2从数据存储单元1中获取执行操作所需的源数据,并将其送入到第二运算子模块22;步骤3,控制单元3控制第二运算子模块22根据指令内容完成相应的运算,获取运算结果;步骤4,控制单元3控制第二运算子模块22将运算结果根据指令中目的操作数的地址写入到数据输出单元...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。