CN113900622B - 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 - Google Patents
一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113900622B CN113900622B CN202111106400.7A CN202111106400A CN113900622B CN 113900622 B CN113900622 B CN 113900622B CN 202111106400 A CN202111106400 A CN 202111106400A CN 113900622 B CN113900622 B CN 113900622B
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- sequence
- sorted
- cache address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明属于数据排序技术领域,具体地说,涉及一种基于FPGA的数据信息快速排序方法,该方法包括:步骤1)确定待排序的数据序列的内部缓存大小,并建立缓存;步骤2)从外部读入待排序的数据序列中的第i个数据点,将读入的第i个数据点及其对应的数据区一一映射,逐个存入建立的缓存中;步骤3)在步骤2)读入第i个数据点时,在FPGA内部设置最大值数据寄存器和最小值数据寄存器,对应的记录待排序的数据序列中的最大值数据点与最小值数据点;步骤4)重复步骤2)和3),得到缓存后的待排序的数据序列中的最大值数据点与最小值数据点;步骤5)根据所需要的排序情况,对缓存后的待排序的数据序列进行对应的排序,逐个读取每个数据点,完成排序。
Description
技术领域
本发明属于数据排序和数据处理技术领域,具体地说,涉及一种基于FPGA的数据信息快速排序方法、系统、设备及存储介质。
背景技术
数据排序是计算机领域中必不可少的基本数据处理操作,也是数据处理中的一种非常重要的基本操作,通过排序可以使得数据能够以一定的顺序进行全排列,减少后续操作的时间;数据排序用于组织数据以实现快速搜索,在许多应用中都有至关重要的作用。在计算机应用中,通常需要对数据进行升序或降序排序。
传统的排序采用排序算法实现,如选择排序、归并排序、基数排序或冒泡排序等。传统排序算法需要先将数据从外部读入FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)缓存中,再将数据读出放入寄存器内,经过比较,交换,归并等操作,将数据逐步调整为升序或降序序列。而当数据出现重复时,还需另外耗费资源对重复数据进行统计。大量数据排序会耗费较多的存储和计算资源,降低系统的运行效率。
当前在FPGA中实现的排序算法也采用传统的排序算法,先将数据读入缓存,再将数据读出后做归并或堆排序等。而FPGA作为半定制可编程器件,其内部资源包括底层的块存储资源器资源均为可自由配置,存储深度及存储位宽可根据需要调整。但是,现有的方法并不能将排序问题转化为动态存储问题,也无法极大的降低资源使用率并提高排序效率。
发明内容
为解决现有技术存在的上述缺陷,本发明提出了一种基于FPGA的数据信息快速排序方法,具体涉及一种利用缓存实现低精度数据(即数据位宽不大于16bit)快速排序的方法。
本发明提供了一种基于FPGA的数据信息快速排序方法,该方法包括:
步骤1)确定待排序的数据序列的内部缓存大小,并建立缓存;其中,所述待排序的数据序列包括多个数据点;
步骤2)从外部读入待排序的数据序列中的第i个数据点,将读入的第i个数据点作为缓存地址及其对应的数据区一一映射,并逐个存入步骤1)建立的缓存中;
步骤3)在步骤2)读入第i个数据点时,在FPGA内部设置最大值数据寄存器和最小值数据寄存器,对应的记录待排序的数据序列中的最大值数据点与最小值数据点;
步骤4)重复步骤2)和3),直到将待排序的数据序列中的每个数据点作为缓存地址和对应的数据区写入缓存中,得到缓存后的待排序的数据序列,同时在重复步骤2)和步骤3)的过程中,更新最大值数据点和最小值数据点,得到缓存后的待排序的数据序列中的最大值数据点与最小值数据点;
步骤5)根据所需要的排序情况,对缓存后的待排序的数据序列进行对应的排序,逐个读取每个数据点,完成排序。
作为上述技术方案的改进之一,所述内部缓存大小包括:缓存宽度和缓存深度;所示缓存宽度为数据点的数量,所述缓存深度为待排序的数据序列的数据点对应的最大值。
作为上述技术方案的改进之一,所述步骤5)具体包括:
若所需要的排序情况为升序,则对缓存后的待排序的数据序列进行升序排序,从最小缓存地址开始逐个读取,一直读到最大缓存地址,得到排序后的数据序列;
对读出的每个缓存地址对应的数据区中的数值进行判断;
如果该数据区中的数值不为0,则表明该缓存地址为待排序的数据序列的中的有效数据,将该缓存地址放入排序后数据序列中,完成排序,并提取数据区中的有效数据,将该数据区中的数值作为重复的有效数据的数量;
如果该数据区中的数值为0,则表明该缓存地址为待排序的数据序列的中的无效数据,跳过该地址,继续读取下一个缓存地址。
作为上述技术方案的改进之一,所述步骤5)具体包括:
若所需要的排序情况为降序,则对缓存后的待排序的数据序列进行降序排序,从最大缓存地址开始逐个读取,一直读到最小缓存地址,得到排序后的数据序列;
对读出的每个缓存地址对应的数据区中的数值进行判断;
如果数据区中的数值不为0,则表明该缓存地址为待排序的数据序列的中的有效数据,将该缓存地址放入排序后数据序列中,完成排序,并提取数据区中的有效数据,将该数据区中的数值作为重复的有效数据的数量;
如果该数据区中的数值为0,则表明该缓存地址为待排序的数据序列的中的无效数据,跳过该地址,继续读取下一个地址。
本发明还提供了一种基于FPGA的数据信息快速排序系统,该系统包括:
缓存建立模块,用于确定待排序的数据序列的内部缓存大小,并建立缓存;其中,所述待排序的数据序列包括多个数据点;和
排序模块,用于从外部读入待排序的数据序列中的第i个数据点,将读入的第i个数据点作为缓存地址及其对应的数据区一一映射,并逐个存入建立的缓存中;
在读入第i个数据点时,在FPGA内部设置最大值数据寄存器和最小值数据寄存器,对应的记录待排序的数据序列中的最大值数据点与最小值数据点;
重复上述过程,直到将待排序的数据序列中的每个数据点作为缓存地址和对应的数据区写入缓存中,得到缓存后的待排序的数据序列,同时在重复上述过程中,更新最大值数据点和最小值数据点,得到缓存后的待排序的数据序列中的最大值数据点与最小值数据点;
根据所需要的排序情况,对缓存后的待排序的数据序列进行对应的排序,逐个读取每个数据点,完成排序。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法。
本发明还提了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行所述的方法。
本发明与现有技术相比的有益效果是:
本发明提出的方法能够解决现有的排序方法在FPGA内实现时出现的资源耗费大和运行效率低等问题,利用FPGA内部缓存可编程的特点,并实现对重复数据的数量的统计,将排序问题转化为动态存储问题,极大的降低资源使用率,并提高排序效率,进而提高运行效率。
附图说明
图1是本发明的一种基于FPGA的数据信息快速排序方法的流程图;
图2是采用图1的方法对无重复数据的待排序的数据序列进行排序的实施例示意图;
图3是采用图1的方法对有重复数据的待排序的数据序列进行排序的实施例示意图。
具体实施方式
现结合附图和实例对本发明作进一步的描述。
如图1所示,本发明提供了一种基于FPGA的数据信息快速排序方法,该方法基于FPGA内可配置缓存地址的抽屉排序法,该方法包括:
步骤1)确定待排序的数据序列的内部缓存大小,并建立缓存;其中,所述内部缓存大小包括:缓存宽度和缓存深度;缓存宽度为数据点的数量,缓存深度为待排序的数据序列的数据点对应的最大值;所述待排序的数据序列包括多个数据点;
步骤2)从外部读入待排序的数据序列中的第i个数据点,将读入的第i个数据点作为缓存地址及其对应的数据区一一映射,并逐个存入步骤1)建立的缓存中;
在步骤2)之前,进行上电初始化,排序前先将建立的缓存初始化,将缓存中的所有数据区全部初始化为0。
步骤3)在步骤2)读入第i个数据点时,在FPGA内部设置最大值数据寄存器和最小值数据寄存器,对应的记录待排序的数据序列中的最大值数据点与最小值数据点;
步骤4)重复步骤2)和3),直到将待排序的数据序列中的每个数据点作为缓存地址和对应的数据区写入缓存中,得到缓存后的待排序的数据序列,同时在重复步骤2)和步骤3)的过程中,更新最大值数据点和最小值数据点,得到缓存后的待排序的数据序列中的最大值数据点与最小值数据点,即为缓存的最大缓存地址和最小缓存地址;
步骤5)根据所需要的排序情况,对缓存后的待排序的数据序列进行对应的排序,逐个读取每个数据点,完成排序。
具体地,若所需要的排序情况为升序,则对缓存后的待排序的数据序列进行升序排序,从最小缓存地址开始逐个读取,一直读到最大缓存地址,得到排序后的数据序列;
对读出的每个缓存地址对应的数据区中的数值进行判断;
如果该数据区中的数值不为0,则表明该缓存地址为待排序的数据序列的中的有效数据,将该缓存地址放入排序后数据序列中,完成排序,并提取数据区中的有效数据,将该数据区中的数值作为重复的有效数据的数量;
如果该数据区中的数值为0,则表明该缓存地址为待排序的数据序列的中的无效数据,跳过该地址,继续读取下一个缓存地址。
具体地,若所需要的排序情况为降序,则对缓存后的待排序的数据序列进行降序排序,从最大缓存地址开始逐个读取,一直读到最小缓存地址,得到排序后的数据序列;
对读出的每个缓存地址对应的数据区中的数值进行判断;
如果数据区中的数值不为0,则表明该缓存地址为待排序的数据序列的中的有效数据,将该缓存地址放入排序后数据序列中,完成排序,并提取数据区中的有效数据,将该数据区中的数值作为重复的有效数据的数量;
如果该数据区中的数值为0,则表明该缓存地址为待排序的数据序列的中的无效数据,跳过该地址,继续读取下一个地址。
本发明还提供了一种基于FPGA的数据信息快速排序系统,该系统包括:
缓存建立模块,用于确定待排序的数据序列的内部缓存大小,并建立缓存;其中,所述待排序的数据序列包括多个数据点;和
排序模块,用于从外部读入待排序的数据序列中的第i个数据点,将读入的第i个数据点作为缓存地址及其对应的数据区一一映射,并逐个存入建立的缓存中;
在读入第i个数据点时,在FPGA内部设置最大值数据寄存器和最小值数据寄存器,对应的记录待排序的数据序列中的最大值数据点与最小值数据点;
重复上述过程,直到将待排序的数据序列中的每个数据点作为缓存地址和对应的数据区写入缓存中,得到缓存后的待排序的数据序列,同时在重复上述过程中,更新最大值数据点和最小值数据点,得到缓存后的待排序的数据序列中的最大值数据点与最小值数据点;
根据所需要的排序情况,对缓存后的待排序的数据序列进行对应的排序,逐个读取每个数据点,完成排序。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法。
本发明还提了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行所述的方法。
实施例1.
图2表明了无重复数据序列数组排序的地址和数据区的对应关系;
针对待排序的数据序列,记为待排序数组{2,10,8,3,9,5,7,4},根据步骤1),建立缓存宽度为1bit,缓存深度为10的存储区域,作为缓存;在上电时,将缓存内的所有数据区初始化为0。待排序数组进入时,根据步骤2),从外部先读入第一个数据点数据2,将其作为缓存地址2,将缓存地址2对应的数据区写为1,并将缓存地址2和数据区1进行映射,并存入建立的缓存,同时根据步骤3)设置最大值数据寄存器和最小值数据寄存器,并均写入2;然后重复步骤2),从外部先读入第二个数据点数据10,将其作为缓存地址,将缓存地址10对应的数据区写为1,重复步骤3),更新最大值数据寄存器为10,最小值数据寄存器值不变;循环步骤2)和步骤3),将待排序数组中的每个数据点进行读取,并将每个数据点对应的缓存地址和对应的数据区进行一一映射,并存入缓存中,并得到待排数据的最大和最小值。根据步骤5),确定所需要的排序情况为升序排序,从最小值对应的缓存地址开始读数,判断读出的对应的数据区内的数值不为0的,将对应缓存地址放入输出数据寄存器,图1最小缓存地址为2,对应的数据区为1,表明该地址为待排序数据,读出;缓存地址累加依次读取,得到{2,3,4,5,7,8,9,10}数组,为最终排序结果;而确定所需要的排序情况为降序时,从最大值对应的缓存地址10开始读数,缓存地址累减依次读取,得到{10,9,8,7,5,4,3,2}数组,为最终排序结果。
实施例2.
图3表明了有重复数据序列数组排序的地址和数据区的对应关系;
针对待排序的数据序列,记为待排序数据{2,10,8,10,3,3,9,5,7,2,4,2},根据步骤1),建立缓存宽度为4bit,缓存深度为10的存储区域,作为缓存,在上电时,将缓存内的所有数据区初始化为0。待排序数组进入时,根据步骤2),从外部先读入第一个数据点数据2,将其作为缓存地址2;读出缓存地址2对应的数据区放入临时寄存器,此时该值为0,将该数值加1,写回缓存地址2对应的数据区;同时根据步骤3)设置最大值数据寄存器和最小值数据寄存器,并均写入2;然后重复步骤2)从外部先读入第二个数据点数据10,将其作为缓存地址,读出缓存地址10对应的数据区中的数据,将该数据加1,写回缓存地址10;重复步骤3)更新最大值数据寄存器为10,最小值数据寄存器值不变;循环步骤2)和步骤3),当读入第4个数据点数据10时,读出缓存地址10数据,此时该数据为1,将该数据加1写回,数据区更新为2;循环步骤2)和步骤3),将待排序数组中的每个数据点进行读取,并将每个数据点对应的缓存地址和对应的数据区进行一一映射,并存入缓存中,并得到待排数据的最大和最小值。根据步骤5),确定所需要的排序情况为升序排序,从最小值对应的缓存地址开始读数,判断读出的对应的数据区内的数据,不为0的,将对应缓存地址放入输出数据寄存器,将读出地址放入输出重复次数寄存器,图2中最小缓存地址为2,数据区为3,表明该地址为待排序数据,且重复出现3次,读出;缓存地址累加依次读取,得到输出数组{2,3,4,5,7,8,9,10},数组内数据对应重复次数{3,2,1,1,1,1,1,2},为最终结果;确定所需要的排序情况为降序排序,从最大值对应缓存地址10开始读数,缓存地址累减依次读取,得到{10,9,8,7,5,4,3,2}数组,数组数据对应重复次数{2,1,1,1,1,1,2,3},为最终排序结果。
其中,如图1所示,待排序数据2放入地址2后,2地址对应的数据区flag标记为1,无数据对应的地址区如地址1,数据区flag标记为0。
如果序列中有重复数据,如图2,则每读入一个数据,先将数据对应地址数据读出,放入临时寄存器,将该数据加1后,再将其写入数据对应地址区,完成对重复数据的累加计数,如数据2,在数组中出现3次,则2地址对应的数据区最终累加为3。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种基于FPGA的数据信息快速排序方法,其特征在于,该方法包括:
步骤1)确定待排序的数据序列的内部缓存大小,并建立缓存;其中,所述待排序的数据序列包括多个数据点;
所述内部缓存大小包括:缓存宽度和缓存深度;所示缓存宽度为数据点的数量,所述缓存深度为待排序的数据序列的数据点对应的最大值;
步骤2)从外部读入待排序的数据序列中的第i个数据点,将读入的第i个数据点作为缓存地址与其对应的数据区一一映射,并逐个存入步骤1)建立的缓存中;
步骤3)在步骤2)读入第i个数据点时,在FPGA内部更新最大值数据寄存器和最小值数据寄存器,对应的记录待排序的数据序列中的最大值数据点与最小值数据点;
步骤4)重复步骤2)和3),直到将待排序的数据序列中的每个数据点作为缓存地址和对应的数据区写入缓存中,得到缓存后的待排序的数据序列,同时在重复步骤2)和步骤3)的过程中,更新最大值数据点和最小值数据点,得到缓存后的待排序的数据序列中的最大值数据点与最小值数据点;
步骤5)根据所需要的排序情况,对缓存后的待排序的数据序列进行对应的排序,逐个读取每个数据点,完成排序;
待排序数据放入对应的缓存地址后,将与该缓存地址对应的数据区flag标记为1,无数据放入对应的缓存地址后,将与该缓存地址对应的数据区flag标记为0;如果序列中有重复数据,则对重复数据进行累加计数。
2.根据权利要求1所述的基于FPGA的数据信息快速排序方法,其特征在于,所述步骤5)具体包括:
若所需要的排序情况为升序,则对缓存后的待排序的数据序列进行升序排序,从最小缓存地址开始逐个读取,一直读到最大缓存地址,得到排序后的数据序列;
对读出的每个缓存地址对应的数据区中的数值进行判断;
如果该数据区中的数值不为0,则表明该缓存地址为待排序的数据序列的中的有效数据,将该缓存地址放入排序后数据序列中,完成排序,并提取数据区中的有效数据,将该数据区中的数值作为重复的有效数据的数量;
如果该数据区中的数值为0,则表明该缓存地址为待排序的数据序列的中的无效数据,跳过该地址,继续读取下一个缓存地址。
3.根据权利要求1所述的基于FPGA的数据信息快速排序方法,其特征在于,所述步骤5)具体包括:
若所需要的排序情况为降序,则对缓存后的待排序的数据序列进行降序排序,从最大缓存地址开始逐个读取,一直读到最小缓存地址,得到排序后的数据序列;
对读出的每个缓存地址对应的数据区中的数值进行判断;
如果数据区中的数值不为0,则表明该缓存地址为待排序的数据序列的中的有效数据,将该缓存地址放入排序后数据序列中,完成排序,并提取数据区中的有效数据,将该数据区中的数值作为重复的有效数据的数量;
如果该数据区中的数值为0,则表明该缓存地址为待排序的数据序列的中的无效数据,跳过该地址,继续读取下一个地址。
4.一种基于FPGA的数据信息快速排序系统,其特征在于,该系统包括:
缓存建立模块,用于确定待排序的数据序列的内部缓存大小,并建立缓存;其中,所述待排序的数据序列包括多个数据点;
所述内部缓存大小包括:缓存宽度和缓存深度;所示缓存宽度为数据点的数量,所述缓存深度为待排序的数据序列的数据点对应的最大值;和
排序模块,用于从外部读入待排序的数据序列中的第i个数据点,将读入的第i个数据点作为缓存地址与其对应的数据区一一映射,并逐个存入建立的缓存中;
在读入第i个数据点时,在FPGA内部更新最大值数据寄存器和最小值数据寄存器,对应的记录待排序的数据序列中的最大值数据点与最小值数据点;
重复排序模块所执行的过程,直到将待排序的数据序列中的每个数据点作为缓存地址和对应的数据区写入缓存中,得到缓存后的待排序的数据序列,同时在重复上述过程中,更新最大值数据点和最小值数据点,得到缓存后的待排序的数据序列中的最大值数据点与最小值数据点;
待排序数据放入对应的缓存地址后,将与该缓存地址对应的数据区flag标记为1,无数据放入对应的缓存地址后,将与该缓存地址对应的数据区flag标记为0;如果序列中有重复数据,则对重复数据进行累加计数;
根据所需要的排序情况,对缓存后的待排序的数据序列进行对应的排序,逐个读取每个数据点,完成排序。
5.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-3中任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111106400.7A CN113900622B (zh) | 2021-09-22 | 2021-09-22 | 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111106400.7A CN113900622B (zh) | 2021-09-22 | 2021-09-22 | 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113900622A CN113900622A (zh) | 2022-01-07 |
CN113900622B true CN113900622B (zh) | 2022-04-08 |
Family
ID=79028953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111106400.7A Active CN113900622B (zh) | 2021-09-22 | 2021-09-22 | 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900622B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416020B (zh) * | 2022-01-10 | 2024-10-15 | 武汉中观自动化科技有限公司 | 一种基于fpga实现的快速排序方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
CN107209768A (zh) * | 2014-12-31 | 2017-09-26 | 华为技术有限公司 | 用于数据集的可扩展排序的方法和设备 |
CN108897761A (zh) * | 2014-05-27 | 2018-11-27 | 华为技术有限公司 | 一种聚簇存储方法及装置 |
CN110704424A (zh) * | 2019-09-03 | 2020-01-17 | 华为技术有限公司 | 一种应用于数据库的排序方法、装置及相关设备 |
CN111813370A (zh) * | 2020-07-08 | 2020-10-23 | 上海雪湖科技有限公司 | 基于fpga的多路并行归并排序系统 |
CN112749107A (zh) * | 2019-10-29 | 2021-05-04 | 三星电子株式会社 | 用于在存储附近进行分级排序加速的系统和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004641B (zh) * | 2010-11-23 | 2013-10-02 | 武汉大学 | 一种基于拓扑势的软件需求用例优先级排序方法 |
CN102201001B (zh) * | 2011-04-29 | 2012-11-28 | 西安交通大学 | 基于倒排技术的快速检索方法 |
US9823896B2 (en) * | 2014-01-29 | 2017-11-21 | International Business Machines Corporation | Parallelized in-place radix sorting |
US10884704B2 (en) * | 2017-09-21 | 2021-01-05 | International Business Machines Corporation | Sorting a table in analytical databases |
JP7151515B2 (ja) * | 2019-01-29 | 2022-10-12 | 富士通株式会社 | ソート方法、ソートプログラム及びソート装置 |
CN111258535B (zh) * | 2020-01-15 | 2022-06-17 | 江苏方天电力技术有限公司 | 一种用于fpga实现的排序方法 |
-
2021
- 2021-09-22 CN CN202111106400.7A patent/CN113900622B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
CN108897761A (zh) * | 2014-05-27 | 2018-11-27 | 华为技术有限公司 | 一种聚簇存储方法及装置 |
CN107209768A (zh) * | 2014-12-31 | 2017-09-26 | 华为技术有限公司 | 用于数据集的可扩展排序的方法和设备 |
CN110704424A (zh) * | 2019-09-03 | 2020-01-17 | 华为技术有限公司 | 一种应用于数据库的排序方法、装置及相关设备 |
CN112749107A (zh) * | 2019-10-29 | 2021-05-04 | 三星电子株式会社 | 用于在存储附近进行分级排序加速的系统和方法 |
CN111813370A (zh) * | 2020-07-08 | 2020-10-23 | 上海雪湖科技有限公司 | 基于fpga的多路并行归并排序系统 |
Non-Patent Citations (1)
Title |
---|
"Hybrid Bucket Sorting Method for Successive Cancellation List Decoding of Polar Codes";Jiahao Wang;《IEEE Communications Letters》;20190725;第23卷(第10期);1757-1760 * |
Also Published As
Publication number | Publication date |
---|---|
CN113900622A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307769B2 (en) | Data storage method, apparatus and storage medium | |
CN108304409B (zh) | 一种基于进位的Sketch数据结构的数据频度估计方法 | |
US7054994B2 (en) | Multiple-RAM CAM device and method therefor | |
CN113377332B (zh) | 一种基于线性分段的softmax硬件实现方法 | |
CN113900622B (zh) | 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 | |
KR101226600B1 (ko) | 메모리 시스템 및 그의 메모리 맵핑 방법 | |
CN114268323B (zh) | 支持行存的数据压缩编码方法、装置及时序数据库 | |
US20220342934A1 (en) | System for graph node sampling and method implemented by computer | |
CN109375989B (zh) | 一种并行后缀排序方法及系统 | |
CN112434085B (zh) | 基于Roaring Bitmap的用户数据统计方法 | |
CN111143313B (zh) | 一种提高混合映射算法的日志块读写性能的方法 | |
CN113378115B (zh) | 一种基于磁性随机存储器的近存稀疏向量乘法器 | |
CN115826858A (zh) | 一种嵌入式存储芯片的控制方法及系统 | |
CN113626432B (zh) | 一种支持任意Key值的自适应基数树的改进方法 | |
CN115729955A (zh) | 一种热数据读取方法及相关装置 | |
WO2017215030A1 (zh) | 一种有查询功能的存储器及其查询方法 | |
CN118193140B (zh) | 一种基于虚拟内存的数据管理方法、设备和存储介质 | |
CN105518790A (zh) | 数据写入的方法及装置 | |
CN116011551B (zh) | 优化数据加载的图采样训练方法、系统、设备及存储介质 | |
CN112417815B (zh) | 一种大数据处理中类别组合数据的动态编码方法 | |
CN112818179B (zh) | 基于Hybrid存储格式的图遍历访存优化方法、系统及电子设备 | |
CN114546261B (zh) | 一种分布式对象存储中对象移动优化方法与系统 | |
CN118672654A (zh) | 通用图形处理器的寄存器共享方法、装置、设备及介质 | |
CN118170820A (zh) | 面向NVM的分层异构IoT时序数据检索系统及方法 | |
CN117951199A (zh) | 一种openGauss数据库计算count(distinct)的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |