Document
拖动滑块完成拼图
个人中心

预订订单
服务订单
发布专利 发布成果 人才入驻 发布商标 发布需求

在线咨询

联系我们

龙图腾公众号
首页 专利交易 IP管家助手 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索
当前位置 : 首页 > 专利喜报 > 湖南科技大学莫尚丰获国家专利权

湖南科技大学莫尚丰获国家专利权

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

龙图腾网获悉湖南科技大学申请的专利一种基于向量处理器排序的运算方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN115629805B

龙图腾网通过国家知识产权局官网在2025-09-09发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202211386006.8,技术领域涉及:G06F9/30;该发明授权一种基于向量处理器排序的运算方法是由莫尚丰;毛春献;胡勇华设计研发完成,并于2022-11-07向国家知识产权局提交的专利申请。

一种基于向量处理器排序的运算方法在说明书摘要公布了:本发明提供了一种基于向量处理器排序的运算方法,该方法包括以下两种情况:第一种情况是待处理的数据量小,二级高速缓存:Level2Cache,简称L2Cache能全部装入数据,此时,从片外存储器DDR中选取所有偶数列元素传输到L2Cache上半区,选取所有奇数列元素传输到L2Cache的下半区;首先,上半区元素与下半区元素一对一比较;然后,上半区元素错位与下半区元素一对一比较;循环进行,直至结束。第二种情况是L2Cache不能全部装入待处理数据,首先将片外存储器DDR中数据根据L2Cache大小分为N+1块。将N+1块数据分别传输到L2Cache中按第一种情况进行排序运算。然后将DDR的各块有序数据传输sizeofL2CacheN+1大小的数据到L2Cache空间,将L2Cache装满,然后按第一种情况进行排序运算,min为当次排序好的最后一个数据。从DDR中各块有序数据中找到大于min的最小数据的位置ddrLocAddr,从ddrLocAddr开始,传输sizeofL2CacheN+1大小的数据到L2Cache空间,将L2Cache装满,然后按第一种情况进行排序运算。依次进行,直到DDR中各块数据排序完成。

本发明授权一种基于向量处理器排序的运算方法在权利要求书中公布了:1.一种基于向量处理器排序的运算方法,其特征在于:包括以下步骤,以下步骤以升序排序, 步骤1,当需要排序的数据量小时,二级高速缓存:Level2Cache,简称L2Cache,能全部装入数据,直接进行排序; 步骤2,当需要排序的数据量很大时,L2Cache不能全部装入数据,分批次进行排序; 所述步骤1的具体方式包括如下步骤, 步骤1.1,从片外存储器DDR中选取所有偶数列元素传输到L2Cache上半区,选取所有奇数列元素传输到L2Cache下半区,其中当数据个数S能被2整除时,默认前S2个数据为偶数列元素,剩余的为奇数列元素;S不能被2整除时,默认前floorS2+1个数据为偶数列元素,floor表示取下整数,剩余的为奇数列元素; 步骤1.2,上半区元素与下半区元素一对一比较,数值小的元素保留在上半区,数值大的元素保留在下半区; 步骤1.3,上半区元素位置+1与下半区元素一对一比较,数值小的元素保留在下半区,数值大的元素保留在上半区; 步骤1.4,判断排列是否结束,若排列未结束,进入步骤1.2,若排列结束,通过索引传输的方式将L2Cache中的数据保存到片外存储器DDR中,其中排列结束的标志是上半区每个元素值都小于下半区对应元素值; 所述步骤2的具体方式包括如下步骤, 步骤2.1,将DDR中数据根据L2Cache大小分为N+1块,编号为0,1,2,3,…,N,将N+1块数据分别传输到L2Cache中并按照步骤1进行排序运算,运算完成后传回DDR空间,此时第0至N块数据内部是有序的; 步骤2.2,第0次,从DDR中各块有序数据传输sizeofL2CacheN+1大小的数据到L2Cache空间,设DDR中各块传输到L2Cache数据的最大值,即最右边的值为max00,max01,max02,max03,max…,max0N;然后求所有最大值中的最小值,min0=Minmax00,max01,max02,max03,max…,max0N; 步骤2.3,DDR中各块数据传输到L2Cache后,数据需要调整,调整过程中用到如下参数,num:待排序全部数据个数;DataNum:DDR向L2Cache传输的数据个数,开始时,DataNum=floorL2CacheN+1*N+1,即L2CacheN+1的下整数再乘以N+1,随着计算的进行,某些块的数据会全部排序完毕,DataNum会发生变化;evenCloNum:偶数列数据个数;oddCloNum:奇数列数据个数;halfL2CacheNum:一半L2Cache空间能存储的数据个数;outputAddr:输出排序数据起始地址;若DataNum能被2整除,evenCloNum=oddCloNum=DataNum2,若DataNum不能被2整除,evenCloNum=floorDataNum2+1,oddCloNum=floorDataNum2;数据调整的原因是,设向量处理单元同时处理数据的个数是固定值P,向量处理单元从L2Cache取数据时,L2Cache数据的起始地址应按P对齐,若偶数列数据个数和奇数列数据个数差距大于P,则排序算法会比较一些非法值,不能得到正确的排序结果,因此需要进行数据调整;数据调整分2种情况,第1种情况:DataNum=halfL2CacheNum;L2Cache中0至evenCloNum-1之间的数据保持不动,evenCloNum至DataNum-1之间的数据数据长度为oddCloNum从L2Cache传输到DDR中起始位置为outputAddr+num-oddCloNum,长度为oddCloNum的区间,传输结束后,再从DDR中传输这部分数据到L2Cache起始位置为halfL2CacheNum的区间;第2种情况:DataNumhalfL2CacheNum;L2Cache中0至evenCloNum-1之间的数据保持不动,evenCloNum至halfL2CacheNum-1之间的数据数据长度为halfL2CacheNum-evenCloNum从L2Cache传输到DDR中起始位置为outputAddr+num-halfL2CacheNum-evenCloNum,长度为halfL2CacheNum-evenCloNum的区间,传输结束后,再从DDR中传输这部分数据到L2Cache起始位置为DataNum的区间; 步骤2.4,数据传输至L2Cache后,按步骤1进行排序运算,运算完成后传回DDR结果数据空间;在L2Cache搬回DDR结果数据中找到min0值的位置loc0Addr,位置0至loc0Addr这部分数据是第0次最终的排序数据; 步骤2.5,第1次,从DDR中各块有序数据中找到大于min0的最小数据的位置ddrLocAddr,从ddrLocAddr开始,传输sizeofL2CacheN+1大小的数据到L2Cache空间,设DDR中各块传输到L2Cache的数据的最大值,即最右边的值为max10,max11,max12,max13,max…,max1N;然后求所有最大值中的最小值,min1=Minmax10,max11,max12,max13,max…,max1N;数据传输至L2Cache后,按步骤2.3进行数据调整,然后按步骤1进行排序运算,运算完成后传回DDR结果数据空间;在L2Cache搬回DDR数据中找到min1值的位置loc1Addr,loc0Addr至loc1Addr位置这部分数据是第1次最终的排序数据,将这部分数据放在第0次最终排序数据之后; 步骤2.6,依次按步骤2.5进行,直到DDR中各块数据排序完成。

如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人湖南科技大学,其通讯地址为:411201 湖南省湘潭市雨湖区石马头;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。

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