CN106502935A - Fpga异构加速系统、数据传输方法及fpga - Google Patents
Fpga异构加速系统、数据传输方法及fpga Download PDFInfo
- Publication number
- CN106502935A CN106502935A CN201610973073.8A CN201610973073A CN106502935A CN 106502935 A CN106502935 A CN 106502935A CN 201610973073 A CN201610973073 A CN 201610973073A CN 106502935 A CN106502935 A CN 106502935A
- Authority
- CN
- China
- Prior art keywords
- fpga
- dma
- data transmission
- request
- request queue
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 73
- 230000001133 acceleration Effects 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims description 3
- 241001522296 Erithacus rubecula Species 0.000 claims 1
- 238000012546 transfer Methods 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 101150043088 DMA1 gene Proteins 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 101150090596 DMA2 gene Proteins 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明公开了FPGA异构加速系统,包括:FPGA和PCIe驱动端;其中,FPGA具有第一预定个数的DMA及每个DMA对应的请求队列;PCIe驱动端具有第二预定个数的服务线程;服务线程,用于检查对应的请求队列是否为空;若为空,则将新的请求添加到对应的请求队列中,并启动对应DMA开始数据传输;DMA,用于依次处理对应请求队列中的请求,并在完成每一个请求后向PCIe驱动端发送中断,提示数据传输完成;通过多个DMA共同进行数据传输,能最大限度的提高PCIe总线利用率,提高数据传输速度;进而为异构加速算法提高可靠速度保证;本发明还公开了FPGA异构加速的数据传输方法、FPGA,具有上述有益效果。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种FPGA异构加速的数据传输方法、FPGA及FPGA异构加速系统。
背景技术
异构加速中对数据传输速度的要求极高,否则达不到计算加速的目的。异构加速设计中一般采用单队列单DMA加中断的传输方式。如图1所示,在DMA的传输方式中,由于数据拷贝很快,内存锁定比较慢,导致数据拷贝完FPGA端逻辑处于等待状态,因此总线的利用率不高,影响异构加速中对数据传输速度。因此,如何提高总线的利用率,进而提高异构加速中对数据传输速度,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种FPGA异构加速的数据传输方法、FPGA及FPGA异构加速系统,能最大限度的提高PCIe总线利用率,提高数据传输速度;进而为异构加速算法提高可靠速度保证。
为解决上述技术问题,本发明提供一种FPGA异构加速系统,包括:FPGA和PCIe驱动端;其中,所述FPGA具有第一预定个数的DMA及每个DMA对应的请求队列;所述PCIe驱动端具有第二预定个数的服务线程;
所述服务线程,用于检查对应的请求队列是否为空;若为空,则将新的请求添加到对应的请求队列中,并启动对应DMA开始数据传输;
所述DMA,用于依次处理对应请求队列中的请求,并在完成每一个请求后向所述PCIe驱动端发送中断,提示数据传输完成。
可选的,每个DMA对应一个读请求队列和一个写请求队列。
可选的,所述FPGA有2个DMA。
可选的,所述PCIe驱动端具有4个服务线程,分别对应服务于2个DMA的读请求队列和写请求队列。
可选的,所述DMA还用于采用轮询的方式检查对应的请求队列中是否存在请求。
可选的,所述FPGA还包括:
监测器,用于监测第一预定个数的DMA的数据传输过程是否正常;若不正常,则向所述PCIe驱动端发送提示信息。
本发明还提供一种FPGA异构加速的数据传输方法,用于实现PCIe数据传输,FPGA具有第一预定个数的DMA及每个DMA对应的请求队列;PCIe驱动端具有第二预定个数的服务线程,数据传输方法包括:
所述服务线程向对应的请求队列添加请求,启动对应DMA开始数据传输,并检查对应的请求队列是否为空;若为空,则将新的请求添加到对应的请求队列中,并启动对应DMA开始数据传输;
所述DMA依次处理对应请求队列中的请求,并在完成每一个请求后向所述PCIe驱动端发送中断,提示数据传输完成。
可选的,还包括:
所述DMA采用轮询的方式检查对应的请求队列中是否存在请求。
可选的,还包括:
所述FPGA中的监测器监测第一预定个数的DMA的数据传输过程是否正常;若不正常,则向所述PCIe驱动端发送提示信息。
本发明还提供一种FPGA,包括:第一预定个数的DMA、每个DMA对应的请求队列和DDR;其中,
所述DMA,用于依次处理对应请求队列中的请求,并在完成每一个请求后向PCIe驱动端发送中断,提示数据传输完成。
本发明所提供的FPGA异构加速系统,包括:FPGA和PCIe驱动端;其中,FPGA具有第一预定个数的DMA及每个DMA对应的请求队列;PCIe驱动端具有第二预定个数的服务线程;服务线程,用于检查对应的请求队列是否为空;若为空,则将新的请求添加到对应的请求队列中,并启动对应DMA开始数据传输;DMA,用于依次处理对应请求队列中的请求,并在完成每一个请求后向PCIe驱动端发送中断,提示数据传输完成;
可见,该FPGA异构加速系统通过多个DMA共同进行数据传输,能最大限度的提高PCIe总线利用率,提高数据传输速度;进而为异构加速算法提高可靠速度保证;且实施操作简单,不需要更改硬件,只需安装相应驱动和烧写相应FPGA逻辑即可达到提升速度目的。本发明还公开了FPGA异构加速的数据传输方法、FPGA,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术所提供的FPGA异构加速系统的工作过程示意图;
图2为本发明实施例所提供的FPGA异构加速系统的结构框图;
图3为本发明实施例所提供的FPGA异构加速系统的工作过程示意图;
图4为本发明实施例所提供的DMA的工作过程示意图。
具体实施方式
本发明的核心是提供一种FPGA异构加速的数据传输方法、FPGA及FPGA异构加速系统,能最大限度的提高PCIe总线利用率,提高数据传输速度;进而为异构加速算法提高可靠速度保证。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图2,图2为本发明实施例所提供的FPGA异构加速系统的结构框图;该FPGA异构加速系统可以包括:FPGA100和PCIe驱动端200;其中,所述FPGA100具有第一预定个数的DMA及每个DMA对应的请求队列;所述PCIe驱动端200具有第二预定个数的服务线程;
所述服务线程,用于检查对应的请求队列是否为空;若为空,则将新的请求添加到对应的请求队列中,并启动对应DMA开始数据传输;
所述DMA,用于依次处理对应请求队列中的请求,并在完成每一个请求后向所述PCIe驱动端200发送中断,提示数据传输完成。
具体的,由于现有技术中在FPGA100中的DMA的传输方式中,由于数据拷贝很快,内存锁定比较慢,导致数据拷贝完FPGA100端逻辑处于等待状态,因此总线的利用率不高,影响异构加速中对数据传输速度。因此,请参考图3,本实施例在FPGA100中设置多个DMA使得其中一个DMA完成数据传输处于等待状态时,其他DMA仍可以进行数据传输。因此提高了总线利用率,进而提高了FPGA异构加速系统的速度。即本实施例能保证FPGA100中的各个DMA一直处于工作状态,由于DMA传输需要提前锁定内存,如果采用单线程会使图1所以DMA处于等待状态,浪费了有效的传输时间,根本原因是由于锁定内存时间较长,采用多线程可以提高程序的并行度,有效的提高了总线的利用率,提高了PCIe的传输速度,能达到PCIe总线带宽的85%左右。
本实施例中FPGA100端一般为一个PCIe设备,所以具有PCIe设备配置空间,此外由于FPGA100具有多个DMA因此还需要为DMA准备地址寄存器和读写FIFO配置空间。当主机端(即PCIe驱动端200)启动DMA后,会从主机配置的DMA地址寄存器位置读取DMA的descriptortable到FIFO中,然后DMA依次从FIFO中取出源地址,目的地址,数据大小等信息并把数据搬运到要求的位置。对于主机端(即PCIe驱动端200)的PCIe驱动开发,需要开发相应的PCIe驱动程序,由于各个平台的差异性,因此本实施例并不对具体驱动的内容进行限定,只要可以具有多服务线程支持FPGA100端的多DMA传输数据即可。
本实施例并不限定FPGA100中的DMA的个数,也不限定PCIe驱动端200中服务线程的个数。都可以由用户根据实际情况进行选择。即不限定第一预定个数和第二预定个数的具体数值,但是第一预定个数和第二预定个数都至少为2。例如一般情况下FPGA100中具有2个DMA。
其中,PCIe驱动端200中的服务线程用于给对应的请求队列添加任务,例如当服务线程1对应DMA1的读请求队列时,服务线程1向DMA1的读请求队列中添加读请求,并启动对应的DMA1开始进行数据传输,当其检测到读请求队列为空时,将获取新的读请求添加到对应的请求队列中,并启动对应DMA开始数据传输。DMA1从对应的读请求队列中获取读请求并开启对应的处理。
这里的FPGA100中每一个DMA都存在与其对应的请求队列,每一个请求队列都有与其对应的服务线程。但是本实施例并不限定每一个DMA存在与其对应的请求队列的数量,也不限定每一个服务线程对应的请求队列的个数。只要可以实现DMA具有请求队列,请求队列有对应的服务线程控制即可。例如每一个DMA可以具有一个读写请求队列也可以有两个队列即一个读请求队列和一个写请求队列;每一个服务线程可以控制一个读请求队列或者一个写请求队列;每一个服务线程也可以控制同一个DMA具有的全部请求队列;每一个服务线程也可以控制不同DMA具有的全部读请求队列或者全部写请求队列等。
基于上述技术方案,本发明实施例提的FPGA异构加速系统,通过多个DMA共同进行数据传输,能最大限度的提高PCIe总线利用率,提高数据传输速度;进而为异构加速算法提高可靠速度保证;且实施操作简单,不需要更改硬件,只需安装相应驱动和烧写相应FPGA逻辑即可达到提升速度目的。
基于上述实施例,为了在提高数据传输速度的基础上可以尽量做较小的改变,简化系统的复杂性,进而可以提高系统的可靠性。因此优选的,请参考图4,FPGA100端可以有2个DMA,每个DMA对应一个读请求队列和一个写请求队列即图4中RD1,WR1,RD2,WR2。DMA1负责RD1,WR1。DMA2负责RD2,WR2。DMA1和DMA2检测对应请求队列中是否有读写请求。如果有读写请求则处理此请求,并在处理完发送中断通知PCIe驱动端200。PCIe驱动端200具有4个服务线程,分别对应服务于2个DMA的读请求队列和写请求队列。即PCIe驱动端200启动四个服务线程,分别各自服务于自己的RD1(即读请求队列1),WR1(即写请求队列1),RD2(即读请求队列2),WR2(即写请求队列2),个服务线程检测到对应请求队列为空时,即增加一个读或者写请求到队列中,并启动DMA传输。DMA需要检测其对应的请求队列中是否存在请求。可选的,DMA可以采用轮询的方式检查对应的请求队列中是否存在请求。
具体的,本实施例中FPGA100端采用双DMA引擎,双读写队列设计,将数据通过PCIe总线从PCIe驱动端200的内存中搬到FPGA100中的DDR中;如图4,每个DMA采用轮询的方式检查请求队列中是否有数据需要读或者写,PCIe驱动端200启动2-4个服务线程,检查对应的读或写请求队列是否为空,如果为空,就将新的读或写请求放到对应请求队列中,等待DMA处理。当DMA处理完一个读写请求,就发中断告诉驱动端,数据传输完成。能最大限度的提高PCIe总线利用率,提高数据传输速度,使PCIe发挥到最好的效能。
基于上述任意实施例,为了提高系统可靠性,所述FPGA100还可以包括:
监测器,用于监测第一预定个数的DMA的数据传输过程是否正常;若不正常,则向所述PCIe驱动端发送提示信息。便于管理人员及时发现异常情况,以保证数据传输过程的可靠性,进而保证数据的准确性。
基于上述技术方案,本发明实施例提的FPGA异构加速系统,能最大限度的提高PCIe总线利用率,提高数据传输速度;进而为异构加速算法提高可靠速度保证。
下面对本发明实施例提供的FPGA异构加速的数据传输方法及FPGA进行介绍,下文描述的FPGA异构加速的数据传输方法及FPGA与上文描述的FPGA异构加速系统可相互对应参照。
本发明实施例提供一种FPGA异构加速的数据传输方法,用于实现PCIe数据传输,FPGA具有第一预定个数的DMA及每个DMA对应的请求队列;PCIe驱动端具有第二预定个数的服务线程,数据传输方法包括:
所述服务线程向对应的请求队列添加请求,启动对应DMA开始数据传输,并检查对应的请求队列是否为空;若为空,则将新的请求添加到对应的请求队列中,并启动对应DMA开始数据传输;
所述DMA依次处理对应请求队列中的请求,并在完成每一个请求后向所述PCIe驱动端发送中断,提示数据传输完成。
基于上述实施例,该方法还可以包括:
所述DMA采用轮询的方式检查对应的请求队列中是否存在请求。
基于上述实施例,该方法还可以包括:
所述FPGA中的监测器监测第一预定个数的DMA的数据传输过程是否正常;若不正常,则向所述PCIe驱动端发送提示信息。
本发明还提供一种FPGA,包括:第一预定个数的DMA、每个DMA对应的请求队列和DDR;其中,
所述DMA,用于依次处理对应请求队列中的请求,并在完成每一个请求后向PCIe驱动端发送中断,提示数据传输完成。
具体的,DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的FPGA异构加速的数据传输方法、FPGA及FPGA异构加速系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种FPGA异构加速系统,其特征在于,包括:FPGA和PCIe驱动端;其中,所述FPGA具有第一预定个数的DMA及每个DMA对应的请求队列;所述PCIe驱动端具有第二预定个数的服务线程;
所述服务线程,用于检查对应的请求队列是否为空;若为空,则将新的请求添加到对应的请求队列中,并启动对应DMA开始数据传输;
所述DMA,用于依次处理对应请求队列中的请求,并在完成每一个请求后向所述PCIe驱动端发送中断,提示数据传输完成。
2.根据权利要求1所述的FPGA异构加速系统,其特征在于,每个DMA对应一个读请求队列和一个写请求队列。
3.根据权利要求2所述的FPGA异构加速系统,其特征在于,所述FPGA有2个DMA。
4.根据权利要求3所述的FPGA异构加速系统,其特征在于,所述PCIe驱动端具有4个服务线程,分别对应服务于2个DMA的读请求队列和写请求队列。
5.根据权利要求4所述的FPGA异构加速系统,其特征在于,所述DMA还用于采用轮询的方式检查对应的请求队列中是否存在请求。
6.根据权利要求5所述的FPGA异构加速系统,其特征在于,所述FPGA还包括:
监测器,用于监测第一预定个数的DMA的数据传输过程是否正常;若不正常,则向所述PCIe驱动端发送提示信息。
7.一种FPGA异构加速的数据传输方法,用于实现PCIe数据传输,其特征在于,FPGA具有第一预定个数的DMA及每个DMA对应的请求队列;PCIe驱动端具有第二预定个数的服务线程,数据传输方法包括:
所述服务线程向对应的请求队列添加请求,启动对应DMA开始数据传输,并检查对应的请求队列是否为空;若为空,则将新的请求添加到对应的请求队列中,并启动对应DMA开始数据传输;
所述DMA依次处理对应请求队列中的请求,并在完成每一个请求后向所述PCIe驱动端发送中断,提示数据传输完成。
8.根据权利要求7所述的FPGA异构加速的数据传输方法,其特征在于,还包括:
所述DMA采用轮询的方式检查对应的请求队列中是否存在请求。
9.根据权利要求8所述的FPGA异构加速的数据传输方法,其特征在于,还包括:
所述FPGA中的监测器监测第一预定个数的DMA的数据传输过程是否正常;若不正常,则向所述PCIe驱动端发送提示信息。
10.一种FPGA,其特征在于,包括:第一预定个数的DMA、每个DMA对应的请求队列和DDR;其中,
所述DMA,用于依次处理对应请求队列中的请求,并在完成每一个请求后向PCIe驱动端发送中断,提示数据传输完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610973073.8A CN106502935A (zh) | 2016-11-04 | 2016-11-04 | Fpga异构加速系统、数据传输方法及fpga |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610973073.8A CN106502935A (zh) | 2016-11-04 | 2016-11-04 | Fpga异构加速系统、数据传输方法及fpga |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106502935A true CN106502935A (zh) | 2017-03-15 |
Family
ID=58323816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610973073.8A Pending CN106502935A (zh) | 2016-11-04 | 2016-11-04 | Fpga异构加速系统、数据传输方法及fpga |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106502935A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301459A (zh) * | 2017-07-14 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种基于fpga异构运行遗传算法的方法及系统 |
CN107463829A (zh) * | 2017-09-27 | 2017-12-12 | 山东渔翁信息技术股份有限公司 | 一种密码卡中dma请求的处理方法、系统及相关装置 |
CN107491342A (zh) * | 2017-09-01 | 2017-12-19 | 郑州云海信息技术有限公司 | 一种基于fpga的多虚拟卡使用方法及系统 |
CN107590088A (zh) * | 2017-09-27 | 2018-01-16 | 山东渔翁信息技术股份有限公司 | 一种dma读操作的处理方法、系统及相关装置 |
CN109032010A (zh) * | 2018-07-17 | 2018-12-18 | 阿里巴巴集团控股有限公司 | Fpga器件及基于其的数据处理方法 |
CN109388597A (zh) * | 2018-09-30 | 2019-02-26 | 杭州迪普科技股份有限公司 | 一种基于fpga的数据交互方法及装置 |
CN109558250A (zh) * | 2018-11-02 | 2019-04-02 | 锐捷网络股份有限公司 | 一种基于fpga的通信方法、设备、主机及异构加速系统 |
CN109739712A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | Fpga加速卡传输性能测试方法、装置及设备和介质 |
CN111143258A (zh) * | 2019-12-29 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种基于Opencl的系统访问FPGA的方法、系统、设备以及介质 |
CN111240813A (zh) * | 2018-11-29 | 2020-06-05 | 杭州嘉楠耘智信息科技有限公司 | 一种dma调度方法、装置和计算机可读存储介质 |
CN112749112A (zh) * | 2020-12-31 | 2021-05-04 | 无锡众星微系统技术有限公司 | 一种硬件流水结构 |
CN113126917A (zh) * | 2021-04-01 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种分布式存储中请求处理方法、系统、设备以及介质 |
CN113177012A (zh) * | 2021-05-12 | 2021-07-27 | 成都实时技术股份有限公司 | Pcie-srio数据交互处理方法 |
CN114185705A (zh) * | 2022-02-17 | 2022-03-15 | 南京芯驰半导体科技有限公司 | 一种基于PCIe的多核异构同步系统及方法 |
CN116756059A (zh) * | 2023-08-15 | 2023-09-15 | 苏州浪潮智能科技有限公司 | 查询数据输出方法、加速器件、系统、存储介质及设备 |
CN117407336A (zh) * | 2022-07-07 | 2024-01-16 | 象帝先计算技术(重庆)有限公司 | Dma传输方法、装置、soc及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060080478A1 (en) * | 2004-10-11 | 2006-04-13 | Franck Seigneret | Multi-threaded DMA |
CN101198050A (zh) * | 2007-12-29 | 2008-06-11 | 北京中企开源信息技术有限公司 | 一种视频数据处理方法和装置 |
CN101198049A (zh) * | 2007-12-29 | 2008-06-11 | 北京中企开源信息技术有限公司 | 一种视频数据处理方法和装置 |
CN102541779A (zh) * | 2011-11-28 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种提高多数据缓冲区dma效率的系统和方法 |
CN102903074A (zh) * | 2012-10-12 | 2013-01-30 | 湖南大学 | 一种基于fpga的图像处理装置 |
-
2016
- 2016-11-04 CN CN201610973073.8A patent/CN106502935A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060080478A1 (en) * | 2004-10-11 | 2006-04-13 | Franck Seigneret | Multi-threaded DMA |
CN101198050A (zh) * | 2007-12-29 | 2008-06-11 | 北京中企开源信息技术有限公司 | 一种视频数据处理方法和装置 |
CN101198049A (zh) * | 2007-12-29 | 2008-06-11 | 北京中企开源信息技术有限公司 | 一种视频数据处理方法和装置 |
CN102541779A (zh) * | 2011-11-28 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种提高多数据缓冲区dma效率的系统和方法 |
CN102903074A (zh) * | 2012-10-12 | 2013-01-30 | 湖南大学 | 一种基于fpga的图像处理装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301459A (zh) * | 2017-07-14 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种基于fpga异构运行遗传算法的方法及系统 |
CN107491342A (zh) * | 2017-09-01 | 2017-12-19 | 郑州云海信息技术有限公司 | 一种基于fpga的多虚拟卡使用方法及系统 |
CN107463829A (zh) * | 2017-09-27 | 2017-12-12 | 山东渔翁信息技术股份有限公司 | 一种密码卡中dma请求的处理方法、系统及相关装置 |
CN107590088A (zh) * | 2017-09-27 | 2018-01-16 | 山东渔翁信息技术股份有限公司 | 一种dma读操作的处理方法、系统及相关装置 |
CN107590088B (zh) * | 2017-09-27 | 2018-08-21 | 山东渔翁信息技术股份有限公司 | 一种dma读操作的处理方法、系统及相关装置 |
CN109032010A (zh) * | 2018-07-17 | 2018-12-18 | 阿里巴巴集团控股有限公司 | Fpga器件及基于其的数据处理方法 |
CN109388597A (zh) * | 2018-09-30 | 2019-02-26 | 杭州迪普科技股份有限公司 | 一种基于fpga的数据交互方法及装置 |
CN109388597B (zh) * | 2018-09-30 | 2020-06-09 | 杭州迪普科技股份有限公司 | 一种基于fpga的数据交互方法及装置 |
CN109558250A (zh) * | 2018-11-02 | 2019-04-02 | 锐捷网络股份有限公司 | 一种基于fpga的通信方法、设备、主机及异构加速系统 |
CN111240813A (zh) * | 2018-11-29 | 2020-06-05 | 杭州嘉楠耘智信息科技有限公司 | 一种dma调度方法、装置和计算机可读存储介质 |
CN109739712A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | Fpga加速卡传输性能测试方法、装置及设备和介质 |
CN109739712B (zh) * | 2019-01-08 | 2022-02-18 | 郑州云海信息技术有限公司 | Fpga加速卡传输性能测试方法、装置及设备和介质 |
CN111143258A (zh) * | 2019-12-29 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种基于Opencl的系统访问FPGA的方法、系统、设备以及介质 |
CN112749112A (zh) * | 2020-12-31 | 2021-05-04 | 无锡众星微系统技术有限公司 | 一种硬件流水结构 |
CN112749112B (zh) * | 2020-12-31 | 2021-12-24 | 无锡众星微系统技术有限公司 | 一种硬件流水结构 |
CN113126917A (zh) * | 2021-04-01 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种分布式存储中请求处理方法、系统、设备以及介质 |
CN113177012A (zh) * | 2021-05-12 | 2021-07-27 | 成都实时技术股份有限公司 | Pcie-srio数据交互处理方法 |
CN114185705A (zh) * | 2022-02-17 | 2022-03-15 | 南京芯驰半导体科技有限公司 | 一种基于PCIe的多核异构同步系统及方法 |
CN117407336A (zh) * | 2022-07-07 | 2024-01-16 | 象帝先计算技术(重庆)有限公司 | Dma传输方法、装置、soc及电子设备 |
CN116756059A (zh) * | 2023-08-15 | 2023-09-15 | 苏州浪潮智能科技有限公司 | 查询数据输出方法、加速器件、系统、存储介质及设备 |
CN116756059B (zh) * | 2023-08-15 | 2023-11-10 | 苏州浪潮智能科技有限公司 | 查询数据输出方法、加速器件、系统、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106502935A (zh) | Fpga异构加速系统、数据传输方法及fpga | |
US9336168B2 (en) | Enhanced I/O performance in a multi-processor system via interrupt affinity schemes | |
CN108647104B (zh) | 请求处理方法、服务器及计算机可读存储介质 | |
WO2018076793A1 (zh) | 一种NVMe数据读写方法及NVMe设备 | |
US8433833B2 (en) | Dynamic reassignment for I/O transfers using a completion queue | |
KR20210011451A (ko) | 하드웨어 가속을 위한 하드웨어 리소스들의 임베디드 스케줄링 | |
US8850090B2 (en) | USB redirection for read transactions | |
US10979503B2 (en) | System and method for improved storage access in multi core system | |
US8924501B2 (en) | Application-driven shared device queue polling | |
US9965412B2 (en) | Method for application-aware interrupts management | |
WO2017056725A1 (ja) | 車載制御装置 | |
US8856407B2 (en) | USB redirection for write streams | |
US10700869B2 (en) | Access control and security for synchronous input/output links | |
EP3918466A1 (en) | Handling an input/output store instruction | |
CN114513545B (zh) | 请求处理方法、装置、设备及介质 | |
US10229084B2 (en) | Synchronous input / output hardware acknowledgement of write completions | |
CN114817110B (zh) | 一种数据传输方法及装置 | |
EP2413248B1 (en) | Direct memory access device for multi-core system and operating method of the same | |
US20170371813A1 (en) | Synchronous input/output (i/o) cache line padding | |
CN110780999A (zh) | 一种多核cpu的调度系统和方法 | |
CN112612424A (zh) | 一种NVMe提交队列控制装置及方法 | |
CN112241380B (zh) | 应用于pcie对异质设备的中断处理系统与方法 | |
WO2018228524A1 (zh) | 一种ssd控制芯片的中断控制方法、装置及ssd设备 | |
US20140101355A1 (en) | Virtualized communication sockets for multi-flow access to message channel infrastructure within cpu | |
TWI764014B (zh) | 應用於pcie對異質設備的中斷處理系統與方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170315 |
|
RJ01 | Rejection of invention patent application after publication |