CN111813370A - 基于fpga的多路并行归并排序系统 - Google Patents
基于fpga的多路并行归并排序系统 Download PDFInfo
- Publication number
- CN111813370A CN111813370A CN202010653781.XA CN202010653781A CN111813370A CN 111813370 A CN111813370 A CN 111813370A CN 202010653781 A CN202010653781 A CN 202010653781A CN 111813370 A CN111813370 A CN 111813370A
- Authority
- CN
- China
- Prior art keywords
- data
- sequences
- fpga
- iteration
- sub
- 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.)
- Granted
Links
- 238000012163 sequencing technique Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 abstract description 7
- 230000001133 acceleration Effects 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
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/36—Combined merging and sorting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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的多路并行归并排序系统,包括有数据分发模块、迭代控制器、主缓存、读地址产生器和比较仲裁器;本发明可以在FPGA上实现通用化的高速排序,实现用FPGA加速大数据量排序大大加快处理速度,同时支持纯FPGA运行的运算。
Description
技术领域
本发明涉及到计算机运算排序技术领域,尤其涉及到一种基于FPGA的多路并行归并排序系统。
背景技术
无论是前后端应用、人工智能、大数据,还是科学运算,排序在计算机所有领域都有至关重要的作用。目前排序的实现主要是CPU与RAM来回交互,对数据两个两个比较进行的。此方法是用CPU指令一步一步完成,在边缘计算平台上,耗能较高;由于同时只能对两个数进行排序,在数据量达到几千几万时,处理速度极其依赖平台运算性能,对于某些低功耗低延迟要求的应用很不友好。
FPGA(现场可编程逻辑门阵列)是一种半定制电路,它可用电路完成软件所需的运算及处理。相比于CPU具有运算速度快、可并行、功耗低等优点,相比于ASIC具有开发时间短、电路可调等优点,因此FPGA是适合于多个应用场景的高速运算芯片,利用FPGA的特性,可以开发一种高效的排序模块,大大提升数据排序的速度。
发明内容
鉴于上述技术问题,本发明提供了一种基于FPGA的多路并行归并排序系统,此发明是为了在人工智能等大部分领域,设计一个可以在FPGA上实现通用化的高速排序的方法,实现用FPGA加速大数据量排序大大加快处理速度。
一种基于FPGA的多路并行归并排序系统,其中,所述系统包括有:
数据分发模块、迭代控制器、主缓存、读地址产生器和比较仲裁器;
数据分发模块,将未排序的初始数据均匀分布在各个子序列中;
迭代控制器,与所述读地址产生器连接,所述迭代控制器会控制读地址产生器,以将对所有的数据进行一次遍历,完成一次遍历称作一次迭代,每次迭代会对多组子序列比较并产生新序列,并将新序列中的数据存储至预设地址中;
主缓存,分别与所述数据分发模块、所述读地址产生器、所述比较仲裁器连接,用于接收所述读地址产生器的产生的旧序列的数据地址,输出旧序列的内容至所述比较仲裁器参加排序,并接收所述比较仲裁器产生的新序列;
若干读地址产生器,与所述迭代控制器、所述主缓存连接,所述读地址产生器会基于所述比较仲裁器的反馈信号产生旧序列的数据的地址给所述主缓存,再由主缓存将数据输出给所述比较仲裁器;
比较仲裁器,与所述主缓存连接,所述比较仲裁器接收主缓存中的旧序列,进行旧序列比较,并选出最大或者最小值填入大的另一新序列,存回所述主缓存中,最后一次迭代输出完成归并排序。
上述的基于FPGA的多路并行归并排序系统,其中,每次迭代会对多组子序列比较并产生新序列,一组子序列是相邻的多个子序列,它们会一起进行比较,当一组子序列比较完成,会开始下一组子序列的比较,当所有子序列参加完比较后,一次迭代完成,迭代控制器需要记住当前的迭代的状态,控制子序列的大小和地址。
上述的基于FPGA的多路并行归并排序系统,其中,该系统能展开多个核心,同时对多组子序列并行进行排序。
上述的基于FPGA的多路并行归并排序系统,其中,多个读地址产生器可以共用同一个缓存模块的读数据端口。
上述技术方案具有如下优点或有益效果:
本发明提供了一种基于FPGA的多路并行归并排序系统,可以在FPGA上实现通用化的高速排序,实现用FPGA加速大数据量排序大大加快处理速度,同时支持纯FPGA运行的运算,使排序相关算法可以脱离CPU端在FPGA上实现,有效提升FPGA的运行效率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比例绘制附图,重点在于示出本发明的主旨。
图1是本发明基于FPGA的多路并行归并排序系统的整体架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施技术方案的方法基础原理是归并排序,结合FPGA并行运算的特点,大大加快处理速度,设计运行频率是200MHz到350MHz,这是当前业内FPGA高速逻辑的主要频率。归并排序的原理是将两个有序序列的最大(最小)值比较,选出这两个数的最大(最小)值放入一个新的序列,再把两个序列剩下的数的最大(最小)值比较并放入新序列,不断重复此过程,直到读取的两个有序序列的数全部进入新的序列。新的序列再和另一个新序列用同样的方式排序,直到没有第二个新序列产生。
在FPGA中,由于并行运算的特性,可以将多个有序子序列同时比较,从而减少数据遍历的次数,此为多路排序。各个子序列除了最后一次迭代,都是相互独立的,FPGA可以创建多个核心,同时对多组子序列进行排序,减少一次数据遍历排序时间,此为并行排序。在实际项目中,可根据实际情况配置这两个优化方案。
由此,如图1所示,本发明提供了一种基于FPGA的多路并行归并排序系统,系统主要构架包括有:数据分发模块、迭代控制器、主缓存、读地址产生器和比较仲裁器。
数据分发模块,将未排序的初始数据均匀分布在各个子序列中;
迭代控制器,与读地址产生器连接,迭代控制器会控制读地址产生器,以将对所有的数据进行一次遍历,完成一次遍历称作一次迭代,每次迭代会对多组子序列比较并产生新序列,并将新序列中的数据存储至预设地址中;
主缓存,分别与数据分发模块、读地址产生器、比较仲裁器连接,用于接收读地址产生器的产生的旧序列的数据地址,输出旧序列的内容至比较仲裁器参加排序,并接收比较仲裁器产生的新序列;
若干读地址产生器,与迭代控制器、主缓存连接,读地址产生器会基于比较仲裁器的反馈信号产生旧序列的数据的地址给主缓存,再由主缓存将数据输出给比较仲裁器;
比较仲裁器,与主缓存连接,比较仲裁器接收主缓存中的旧序列,进行旧序列比较,并选出最大或者最小值填入大的另一新序列,存回所述主缓存中,最后一次迭代输出完成归并排序。
在本发明技术方案中,每次迭代会对多组子序列比较并产生新序列,一组子序列是相邻的多个子序列,它们会一起进行比较,当一组子序列比较完成,会开始下一组子序列的比较,当所有子序列参加完比较后,一次迭代完成,迭代控制器需要记住当前的迭代的状态,控制子序列的大小和地址。
优选的,多个读地址产生器可以共用同一个缓存模块的读数据端口。
图1为系统整体架构的4核心4路归并的示例,主要包括有:
数据分发模块,该模块是为了让数据均匀分布在各个核心、各个子序列,以减少其它子序列等待较大子序列的时间,总体上加快排序速度。
迭代控制器,在此排序模块中,对所有数据完成一次遍历称作一次迭代,每次迭代会对多组子序列比较并产生新序列。一组子序列是相邻的多个子序列,它们会一起进行比较,当一组子序列比较完成,会开始下一组子序列的比较。当所有子序列参加完比较后,一次迭代完成。迭代控制器需要记住当前的迭代的状态,控制子序列的大小和地址。
FPGA是以数字电路运行的程序,因此,各个序列对齐到2^n是最适合的方式,因此,每个子序列的大小都是2^n。通常情况下,排序模块得到的输入数据量往往不是2^n个,因此每一轮迭代的最后一个子序列长度通常不是2^n。对于这个特殊情况的处理,需要迭代控制器产生信号,告知地址产生器最后一个序列的大小,其中包括“这个地址区间没有数据,不参与排序”的信号。此模块还需协调好多个核心的进度,使所有核心的迭代状态保持一致。
主缓存,此归并排序所需的空间复杂度为2n,即需要两倍数据量的缓存来完成排序。该方法在排序时,需要把几个子序列的数据进行比较,写入相当于这几个子序列总和的新序列,这个过程是从缓存A写入缓存B的过程。A缓存写入B缓存是一个方向,每一次迭代的写入方向一致,一次迭代完成后,通过选通逻辑,交换AB缓存的方向,以此进行连续的排序。
读地址产生器,FPGA的多路归并是让多个新序列同时互相比较,选出最大(最小)值填入更大的另一新序列,每个读地址产生器都会产生一路排序数据的地址,对应一个子序列,此方法则会用多个读地址产生器,产生相邻的多个子序列的地址,读出来的数据就是多个子序列参与多路归并。
归并排序一次只能比较出一个最大或最小值,因此,多个读地址产生器可以共用同一个缓存模块的读数据端口。为了能够端口复用,在缓存模块的数据出口,每一路子序列都需要使用一个较小的FIFO来缓存数据。排序模块会循环遍历,使能各个读地址产生器,每周期的使能能读取一个数据。通过循环遍历,使每个子序列的FIFO数据量均匀分布。
当子序列内的数据大小分布不均匀,例如大部分数据都接近最大或最小值时,有可能会导致FIFO溢出或被读空。为了解决这个问题,需要对各个子序列读数据的优先级进行调整,每路FIFO需要产生两个信号,一个是FIFO即将被填满的“将满”(ProgrammableFull)信号,一个是FIFO即将被读空的“将空”(ProgrammableEmpty)信号。将满信号产生时,该路的数据读取会被暂停,直到信号消失。将空信号产生时,该路的数据读取会被优先进行,直到该信号消失,才会去遍历其它的子序列。如果有多路将空信号产生,这些路将被提高优先级循环遍历,直到这些信号消失。通过循环遍历,再结合排序结果调整各个排序区间读数据的优先级,这样即使各个排序区间的数据极不均匀,也能使读数据量的均匀分布。
比较仲裁器,该模块是将多个数同时比较,选出最大或最小值的模块。比较的原理是让所有子序列两两比较,必定会有一个子序列产生“大于所有子序列”的结果,该路的数据将作为最大(最小)写入新序列,并且FIFO读下一个数据。如果同时有两个最大(最小)值一起出信号,即两个数值一样的最大(最小)值,该模块将从中随机选择一个作为输出。如果发生FIFO被读空,比较将暂停,直到所有FIFO都有数据。
本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现所述变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (4)
1.一种基于FPGA的多路并行归并排序系统,其特征在于,所述系统包括有:
数据分发模块、迭代控制器、主缓存、读地址产生器和比较仲裁器;
数据分发模块,将未排序的初始数据均匀分布在各个子序列中;
迭代控制器,与所述读地址产生器连接,所述迭代控制器会控制读地址产生器,以将对所有的数据进行一次遍历,完成一次遍历称作一次迭代,每次迭代会对多组子序列比较并产生新序列,并将新序列中的数据存储至预设地址中;
主缓存,分别与所述数据分发模块、所述读地址产生器、所述比较仲裁器连接,用于接收所述读地址产生器的产生的旧序列的数据地址,输出旧序列的内容至所述比较仲裁器参加排序,并接收所述比较仲裁器产生的新序列;
若干读地址产生器,与所述迭代控制器、所述主缓存连接,所述读地址产生器会基于所述比较仲裁器的反馈信号产生旧序列的数据的地址给所述主缓存,再由主缓存将数据输出给所述比较仲裁器;
比较仲裁器,与所述主缓存连接,所述比较仲裁器接收主缓存中的旧序列,进行旧序列比较,并选出最大或者最小值填入大的另一新序列,存回所述主缓存中,最后一次迭代输出完成归并排序。
2.根据权利要求1所述的基于FPGA的多路并行归并排序系统,其特征在于,每次迭代会对多组子序列比较并产生新序列,一组子序列是相邻的多个子序列,它们会一起进行比较,当一组子序列比较完成,会开始下一组子序列的比较,当所有子序列参加完比较后,一次迭代完成,迭代控制器需要记住当前的迭代的状态,控制子序列的大小和地址。
3.根据权利要求1所述的基于FPGA的多路并行归并排序系统,其特征在于,该系统能展开多个核心,同时对多组子序列并行进行排序。
4.根据权利要求1所述的基于FPGA的多路并行归并排序系统,其特征在于,多个读地址产生器可以共用同一个缓存模块的读数据端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010653781.XA CN111813370B (zh) | 2020-07-08 | 2020-07-08 | 基于fpga的多路并行归并排序系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010653781.XA CN111813370B (zh) | 2020-07-08 | 2020-07-08 | 基于fpga的多路并行归并排序系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813370A true CN111813370A (zh) | 2020-10-23 |
CN111813370B CN111813370B (zh) | 2023-10-31 |
Family
ID=72842648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010653781.XA Active CN111813370B (zh) | 2020-07-08 | 2020-07-08 | 基于fpga的多路并行归并排序系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813370B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543025A (zh) * | 2020-12-08 | 2021-03-23 | 成都天奥信息科技有限公司 | 基于矩阵化的高速串行ad采样及数据处理系统及方法 |
CN113094020A (zh) * | 2021-03-15 | 2021-07-09 | 西安交通大学 | 一种快速查找数据集最大或最小n个值的硬件装置及方法 |
CN113900622A (zh) * | 2021-09-22 | 2022-01-07 | 中国科学院国家空间科学中心 | 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 |
CN115905233A (zh) * | 2021-03-11 | 2023-04-04 | 中科驭数(北京)科技有限公司 | 归并树形数据排序系统和排序方法 |
CN116303140A (zh) * | 2023-05-19 | 2023-06-23 | 珠海妙存科技有限公司 | 一种基于硬件的排序算法优化方法及其装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932002A (zh) * | 2012-11-12 | 2013-02-13 | 中国电子科技集团公司第五十四研究所 | 截短型高速tpc译码器的fpga设计方法 |
CN102968496A (zh) * | 2012-12-04 | 2013-03-13 | 天津神舟通用数据技术有限公司 | 基于任务驱动和双缓冲机制的并行排序方法 |
CN103226464A (zh) * | 2013-03-29 | 2013-07-31 | 江苏复芯物联网科技有限公司 | 一种归并排序结构 |
US20150066988A1 (en) * | 2013-08-30 | 2015-03-05 | Nec Laboratories America, Inc. | Scalable parallel sorting on manycore-based computing systems |
CN104932864A (zh) * | 2015-06-25 | 2015-09-23 | 许继电气股份有限公司 | 基于流水线进程的归并排序方法及使用该方法的阀控装置 |
CN105515420A (zh) * | 2015-12-01 | 2016-04-20 | 中国西电电气股份有限公司 | 一种基于fpga的模块电压并行多路归并排序方法 |
CN206058228U (zh) * | 2016-05-10 | 2017-03-29 | 梁伟棠 | 机器视觉检测系统 |
CN106802787A (zh) * | 2017-01-15 | 2017-06-06 | 天泽信息产业股份有限公司 | 基于GPU排序的MapReduce优化方法 |
CN107451091A (zh) * | 2017-08-02 | 2017-12-08 | 上海金融期货信息技术有限公司 | 基于fpga‑cpu混合架构的高速信息交互系统 |
CN108647368A (zh) * | 2018-03-13 | 2018-10-12 | 北京航空航天大学 | 基于fpga的动态部分重构系统及方法 |
US20180307711A1 (en) * | 2017-04-24 | 2018-10-25 | Reniac, Inc. | System and method to accelerate compaction |
CN109783258A (zh) * | 2019-02-21 | 2019-05-21 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、装置及服务器 |
CN111124357A (zh) * | 2018-10-31 | 2020-05-08 | 想象技术有限公司 | 从n个m位数的集合中选择第i大或第p小的数 |
-
2020
- 2020-07-08 CN CN202010653781.XA patent/CN111813370B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932002A (zh) * | 2012-11-12 | 2013-02-13 | 中国电子科技集团公司第五十四研究所 | 截短型高速tpc译码器的fpga设计方法 |
CN102968496A (zh) * | 2012-12-04 | 2013-03-13 | 天津神舟通用数据技术有限公司 | 基于任务驱动和双缓冲机制的并行排序方法 |
CN103226464A (zh) * | 2013-03-29 | 2013-07-31 | 江苏复芯物联网科技有限公司 | 一种归并排序结构 |
US20150066988A1 (en) * | 2013-08-30 | 2015-03-05 | Nec Laboratories America, Inc. | Scalable parallel sorting on manycore-based computing systems |
CN104932864A (zh) * | 2015-06-25 | 2015-09-23 | 许继电气股份有限公司 | 基于流水线进程的归并排序方法及使用该方法的阀控装置 |
CN105515420A (zh) * | 2015-12-01 | 2016-04-20 | 中国西电电气股份有限公司 | 一种基于fpga的模块电压并行多路归并排序方法 |
CN206058228U (zh) * | 2016-05-10 | 2017-03-29 | 梁伟棠 | 机器视觉检测系统 |
CN106802787A (zh) * | 2017-01-15 | 2017-06-06 | 天泽信息产业股份有限公司 | 基于GPU排序的MapReduce优化方法 |
US20180307711A1 (en) * | 2017-04-24 | 2018-10-25 | Reniac, Inc. | System and method to accelerate compaction |
CN107451091A (zh) * | 2017-08-02 | 2017-12-08 | 上海金融期货信息技术有限公司 | 基于fpga‑cpu混合架构的高速信息交互系统 |
CN108647368A (zh) * | 2018-03-13 | 2018-10-12 | 北京航空航天大学 | 基于fpga的动态部分重构系统及方法 |
CN111124357A (zh) * | 2018-10-31 | 2020-05-08 | 想象技术有限公司 | 从n个m位数的集合中选择第i大或第p小的数 |
CN109783258A (zh) * | 2019-02-21 | 2019-05-21 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、装置及服务器 |
Non-Patent Citations (2)
Title |
---|
ZHANG C: "High throughput large scale sorting on a CPU-FPGA heterogeneous platform", 《2016 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW)》, pages 148 - 155 * |
叶芃: "基于FORK/JOIN模式归并排序并行算法设计与实现", 《数码世界》, vol. 14, no. 04, pages 94 - 95 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543025A (zh) * | 2020-12-08 | 2021-03-23 | 成都天奥信息科技有限公司 | 基于矩阵化的高速串行ad采样及数据处理系统及方法 |
CN112543025B (zh) * | 2020-12-08 | 2023-03-14 | 成都天奥信息科技有限公司 | 基于矩阵化的高速串行ad采样及数据处理系统及方法 |
CN115905233A (zh) * | 2021-03-11 | 2023-04-04 | 中科驭数(北京)科技有限公司 | 归并树形数据排序系统和排序方法 |
CN115905233B (zh) * | 2021-03-11 | 2023-10-20 | 中科驭数(北京)科技有限公司 | 归并树形数据排序系统和排序方法 |
CN113094020A (zh) * | 2021-03-15 | 2021-07-09 | 西安交通大学 | 一种快速查找数据集最大或最小n个值的硬件装置及方法 |
CN113900622A (zh) * | 2021-09-22 | 2022-01-07 | 中国科学院国家空间科学中心 | 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 |
CN113900622B (zh) * | 2021-09-22 | 2022-04-08 | 中国科学院国家空间科学中心 | 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 |
CN116303140A (zh) * | 2023-05-19 | 2023-06-23 | 珠海妙存科技有限公司 | 一种基于硬件的排序算法优化方法及其装置 |
CN116303140B (zh) * | 2023-05-19 | 2023-08-29 | 珠海妙存科技有限公司 | 一种基于硬件的排序算法优化方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111813370B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813370A (zh) | 基于fpga的多路并行归并排序系统 | |
Chen et al. | Energy and memory efficient mapping of bitonic sorting on FPGA | |
JP6177418B2 (ja) | ステートマシンエンジンによって受信されるデータを提供するための方法及び装置 | |
KR101703797B1 (ko) | 벡터 소팅 알고리즘 및 다른 알고리즘들을 지원하기 위한 트리 구조를 갖춘 기능 유닛 | |
US10372451B2 (en) | Sequence alignment method of vector processor | |
CN111562898B (zh) | 一种基于fpga实现的多级归并排序方法 | |
Norollah et al. | RTHS: A low-cost high-performance real-time hardware sorter, using a multidimensional sorting algorithm | |
Lipu et al. | Exploiting parallelism for faster implementation of Bubble sort algorithm using FPGA | |
US11580055B2 (en) | Devices for time division multiplexing of state machine engine signals | |
US10101965B1 (en) | Method and apparatus for high speed streaming sorter | |
US9110524B1 (en) | High throughput finite state machine | |
JP7044118B2 (ja) | 並列ユニオン制御装置、並列ユニオン制御方法、および並列ユニオン制御用プログラム | |
Papaphilippou et al. | FLiMS: A fast lightweight 2-way merger for sorting | |
JPWO2005098612A1 (ja) | 重要成分優先計算方式ならびに装置 | |
Preethi et al. | Low Power Sorters Using Clock Gating | |
CN102129495B (zh) | 一种降低可重构算子阵列结构功耗的方法 | |
CN109086537B (zh) | 基于fpga的粒子群算法加速方法 | |
Raju et al. | A CPU-GPU cooperative sorting approach | |
Jain-Mendon et al. | A case study of streaming storage format for sparse matrices | |
Dimitrakopoulos et al. | Sorter based permutation units for media-enhanced microprocessors | |
Norollah et al. | An efficient sorting architecture for area and energy constrained edge computing devices | |
US20230344432A1 (en) | Asymmetrical clock separation and stage delay optimization in single flux quantum logic | |
Kohutka et al. | Heap queue: a novel efficient hardware architecture of MIN/MAX queues for real-time systems | |
Heenes et al. | FPGA implementations of the massively parallel GCA model | |
Jiang et al. | Traditional Architecture Artificial Intelligence Chip Technology |
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 |