+

CN111343148A - A method, system and device for processing FGPA communication data - Google Patents

A method, system and device for processing FGPA communication data Download PDF

Info

Publication number
CN111343148A
CN111343148A CN202010080854.0A CN202010080854A CN111343148A CN 111343148 A CN111343148 A CN 111343148A CN 202010080854 A CN202010080854 A CN 202010080854A CN 111343148 A CN111343148 A CN 111343148A
Authority
CN
China
Prior art keywords
data
frame
communication data
fpga
type
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
Application number
CN202010080854.0A
Other languages
Chinese (zh)
Inventor
阚宏伟
王彦伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010080854.0A priority Critical patent/CN111343148A/en
Publication of CN111343148A publication Critical patent/CN111343148A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种FGPA通信数据的处理方法,利用预设协议封装数据包后,可以通过网络接口可接收数据包,预设协议中定义了帧类型与帧内容,即可在接收到数据包后按照预设协议解析数据包,确定帧类型与帧内容,按照帧类型对帧内容中的数据进行相应的操作,因此本方案可以通过网络传输FPGA数据代替PCIE传输数据,使得FPGA异构加速卡可以不设于PCIE插槽中,从而避免对服务器的依赖,可以独立接收数据并处理数据,降低FPGA通信数据处理过程对于服务器CPU的依赖,提高数据处理效率。本申请还提供一种FGPA通信数据的处理系统、装置及计算机可读存储介质,同样可以实现上述效果。

Figure 202010080854

The invention discloses a method for processing FGPA communication data. After using a preset protocol to encapsulate data packets, the data packets can be received through a network interface. The preset protocol defines frame types and frame contents, and the data packets can be received after the data packets are received. Then, the data packet is parsed according to the preset protocol, the frame type and frame content are determined, and corresponding operations are performed on the data in the frame content according to the frame type. Therefore, this solution can transmit FPGA data through the network instead of PCIE transmission data, so that the FPGA heterogeneous acceleration card It can not be installed in the PCIE slot, so as to avoid dependence on the server, and can receive and process data independently, reduce the dependence of the FPGA communication data processing process on the server CPU, and improve the data processing efficiency. The present application also provides a system, device and computer-readable storage medium for processing FGPA communication data, which can also achieve the above effects.

Figure 202010080854

Description

一种FGPA通信数据的处理方法、系统及装置A method, system and device for processing FGPA communication data

技术领域technical field

本发明涉及FPGA技术,更具体地说,涉及一种FGPA通信数据的处理方法、系统及装置。The present invention relates to FPGA technology, and more particularly, to a method, system and device for processing FPGA communication data.

背景技术Background technique

FPGA(Field-Programmable Gate Array,现场可编程门阵列)异构加速卡可以对CPU(Central Processing Unit,中央处理器)所发送的源操作数据进行加速计算,并将计算结果返回给CPU,从而实现高性能的计算能力,完成诸如视频编解码、深度学习、科学计算以及图形处理等对计算能力要求较高的功能。The FPGA (Field-Programmable Gate Array, Field Programmable Gate Array) heterogeneous accelerator card can accelerate the calculation of the source operation data sent by the CPU (Central Processing Unit, central processing unit), and return the calculation result to the CPU, thereby realizing High-performance computing power to complete functions that require high computing power, such as video encoding and decoding, deep learning, scientific computing, and graphics processing.

随着FPGA异构加速卡在云数据中心应用的展开,FPGA加速卡开始大规模进行部署,现有的部署方式一般采用机卡绑定的方式,即每张FPGA加速卡都通过PCI-E插槽直接插接到服务器的标准总线接口上,用户在申请使用FPGA实例时,一般会为用户分配一套虚拟机的环境,用户利用虚拟机对FPGA板卡进行访问和使用。With the development of FPGA heterogeneous accelerator cards in cloud data centers, FPGA accelerator cards have begun to be deployed on a large scale. The existing deployment method generally adopts the method of machine-card binding, that is, each FPGA accelerator card is inserted through PCI-E. The slot is directly connected to the standard bus interface of the server. When a user applies for an FPGA instance, a virtual machine environment is generally allocated to the user, and the user uses the virtual machine to access and use the FPGA board.

目前FPGA异构加速卡的部署模式主要有单机单卡与单机多卡两种模式,即一台服务器上插一张卡或一台服务器上插多张卡。在机卡绑定模式中,FPGA异构加速卡与服务器的CPU紧耦合,即FPGA异构加速卡的使用需要依赖于CPU,用户只能通过服务器的CPU对FPGA异构加速卡进行访问使用。At present, the deployment modes of FPGA heterogeneous accelerator cards mainly include single-machine single-card and single-machine multi-card modes, that is, one card is inserted into one server or multiple cards are inserted into one server. In the machine-card binding mode, the FPGA heterogeneous accelerator card is tightly coupled with the server's CPU, that is, the use of the FPGA heterogeneous accelerator card depends on the CPU, and the user can only access the FPGA heterogeneous accelerator card through the server's CPU.

因此,如何降低FPGA通信数据处理过程对于服务器CPU的依赖,提高数据处理效率是本领域技术人员需要解决的问题。Therefore, how to reduce the dependence of the FPGA communication data processing process on the server CPU and improve the data processing efficiency is a problem to be solved by those skilled in the art.

发明内容SUMMARY OF THE INVENTION

本发明的目的在于提供一种FGPA通信数据的处理方法、系统及装置,以降低FPGA异构加速卡的扩充成本。The purpose of the present invention is to provide a method, system and device for processing FGPA communication data, so as to reduce the expansion cost of the FPGA heterogeneous acceleration card.

为实现上述目的,本发明实施例提供了如下技术方案:To achieve the above purpose, the embodiments of the present invention provide the following technical solutions:

一种FGPA通信数据的处理方法,包括:A method for processing FGPA communication data, comprising:

利用网络接口接收数据发送方利用预设协议封装的数据包;其中,所述数据包包括帧类型和帧内容,所述帧内容包括FPGA通信数据信息;Utilize the network interface to receive the data packet encapsulated by the data sender using the preset protocol; wherein, the data packet includes frame type and frame content, and the frame content includes FPGA communication data information;

解析所述数据包得到所述帧类型与所述帧内容;Parse the data packet to obtain the frame type and the frame content;

确定所述帧类型对应的数据处理操作,并对所述帧内容中的FPGA通信数据执行所述数据处理操作。A data processing operation corresponding to the frame type is determined, and the data processing operation is performed on the FPGA communication data in the frame content.

可选的,当所述帧类型包括数据搬移类型时,对所述帧内容中的FPGA通信数据执行所述数据处理操作,包括:Optionally, when the frame type includes a data movement type, performing the data processing operation on the FPGA communication data in the frame content includes:

按照所述帧类型搬移所述帧内容中的所述FPGA通信数据。The FPGA communication data in the frame content is moved according to the frame type.

可选的,所述帧类型包括RDMA类型,所述FPGA通信数据信息包括存储FPGA通信数据的源地址、所述FPGA通信数据的数据长度与存储所述FPGA通信数据的目的地址;Optionally, the frame type includes an RDMA type, and the FPGA communication data information includes a source address for storing the FPGA communication data, a data length for the FPGA communication data, and a destination address for storing the FPGA communication data;

相应的,对所述帧内容中的FPGA通信数据执行所述数据处理操作,包括:Correspondingly, performing the data processing operation on the FPGA communication data in the frame content includes:

向所述源地址搬移所述数据长度的所述FPGA通信数据至所述目的地址。Moving the FPGA communication data of the data length to the destination address to the source address.

可选的,所述帧类型包括文件烧写类型,所述FPGA通信数据信息包括待烧写文件内容;Optionally, the frame type includes a file programming type, and the FPGA communication data information includes the content of the file to be programmed;

相应的,对所述帧内容中的FPGA通信数据执行所述数据处理操作,包括:Correspondingly, performing the data processing operation on the FPGA communication data in the frame content includes:

将所述待烧写文件内容烧写至所述FPGA。Program the content of the to-be-programmed file to the FPGA.

可选的,所述帧类型包括指令类型,所述FPGA通信数据信息包括读写标识、命令个数与所述命令个数的命令信息,每个所述命令信息包括FPGA寄存器地址以及与所述FPGA寄存器地址对应的待写数据或空数据;Optionally, the frame type includes an instruction type, the FPGA communication data information includes a read/write identifier, the number of commands and the command information of the number of commands, and each of the command information includes an FPGA register address and a Data to be written or empty data corresponding to the FPGA register address;

相应的,对所述帧内容中的FPGA通信数据执行所述数据处理操作,包括:Correspondingly, performing the data processing operation on the FPGA communication data in the frame content includes:

按照所述读写标识依次对每个命令信息中的FPGA寄存器地址执行写寄存器或读寄存器操作。According to the read and write identifiers, a register write or register read operation is sequentially performed on the FPGA register address in each command message.

可选的,所述帧类型包括回复类型,所述FPGA通信数据信息包括回复标识;Optionally, the frame type includes a reply type, and the FPGA communication data information includes a reply identifier;

相应的,对所述帧内容中的FPGA通信数据执行所述数据处理操作,包括:Correspondingly, performing the data processing operation on the FPGA communication data in the frame content includes:

利用所述回复标识确定所述FPGA通信数据的处理结果。The processing result of the FPGA communication data is determined by using the reply identifier.

可选的,所述数据包还包括帧序号,所述利用网络接口接收数据发送方利用预设协议封装的数据包之后,还包括:Optionally, the data packet further includes a frame sequence number, and after the use of the network interface to receive the data packet encapsulated by the data sender using a preset protocol, further includes:

解析所述数据包得到所述帧序号;Parsing the data packet to obtain the frame sequence number;

利用所述帧序号确定与当前接收到的所有数据包的帧序号判断是否丢失数据包。The frame sequence numbers of all currently received data packets are determined by using the frame sequence numbers to determine whether the data packets are lost.

可选的,所述FPGA通信数据信为对原始数据划分预设包数的分包数据;Optionally, the FPGA communication data information is the sub-packet data that divides the original data into a preset number of packets;

所述数据包还包括分包序号;The data packet also includes a sub-packet sequence number;

所述利用网络接口接收数据发送方利用预设协议封装的数据包之后,还包括:After the using the network interface to receive the data packets encapsulated by the data sender using the preset protocol, the method further includes:

解析所述数据包得到所述分包序号,以利用所述分包序号对所述通信数据进行组包。The packet sequence number is obtained by parsing the data packet, so as to use the packet sequence number to package the communication data.

为实现上述目的,本申请还提供一种FGPA通信数据的处理系统,包括:To achieve the above purpose, the application also provides a processing system for FGPA communication data, including:

数据包接收模块,用于利用网络接口接收数据发送方利用预设协议封装的数据包,所述数据包包括帧类型和帧内容,所述帧内容包括FPGA通信数据信息;a data packet receiving module, configured to use a network interface to receive a data packet encapsulated by a data sender using a preset protocol, where the data packet includes a frame type and frame content, and the frame content includes FPGA communication data information;

解析模块,用于解析所述数据包得到所述帧类型与所述帧内容;a parsing module, configured to parse the data packet to obtain the frame type and the frame content;

数据处理模块,用于确定所述帧类型对应的数据处理操作,并对所述帧内容中的FPGA通信数据执行所述数据处理操作。A data processing module, configured to determine a data processing operation corresponding to the frame type, and perform the data processing operation on the FPGA communication data in the frame content.

为实现上述目的,本申请还提供一种FGPA通信数据的处理装置,包括:To achieve the above purpose, the present application also provides a processing device for FGPA communication data, including:

存储器,用于存储计算机程序;memory for storing computer programs;

处理器,用于执行所述计算机程序时实现如任一项所述FGPA通信数据的处理方法的步骤。The processor is configured to implement the steps of the method for processing FGPA communication data according to any one of the above when executing the computer program.

通过以上方案可知,本发明提供的一种FGPA通信数据的处理方法,包括:利用网络接口接收数据发送方利用预设协议封装的数据包,所述数据包包括帧类型和帧内容,所述帧内容包括FPGA通信数据信息;解析所述数据包得到所述帧类型与所述帧内容;确定所述帧类型对应的数据处理操作,并对所述帧内容中的FPGA通信数据执行所述数据处理操作。It can be seen from the above solutions that a method for processing FGPA communication data provided by the present invention includes: using a network interface to receive a data packet encapsulated by a data sender using a preset protocol, where the data packet includes a frame type and frame content, and the frame The content includes FPGA communication data information; parse the data packet to obtain the frame type and the frame content; determine the data processing operation corresponding to the frame type, and perform the data processing on the FPGA communication data in the frame content operate.

由此可见,本申请提供的一种FGPA通信数据的处理方法,利用预设协议封装数据包后,可以通过网络接口可接收数据包,预设协议中定义了帧类型与帧内容,即可在接收到数据包后按照预设协议解析数据包,确定帧类型与帧内容,按照帧类型对帧内容中的数据进行相应的操作,因此本方案可以通过网络传输FPGA数据代替PCIE传输数据,使得FPGA异构加速卡可以不设于PCIE插槽中,从而避免对服务器CPU的依赖,可以独立接收数据并处理数据,降低FPGA通信数据处理过程对于服务器CPU的依赖,提高数据处理效率。本申请还提供一种FGPA通信数据的处理系统、装置及计算机可读存储介质,同样可以实现上述效果。It can be seen that, in a method for processing FGPA communication data provided by the present application, after the data packet is encapsulated by the preset protocol, the data packet can be received through the network interface, and the frame type and frame content are defined in the preset protocol. After receiving the data packet, parse the data packet according to the preset protocol, determine the frame type and frame content, and perform corresponding operations on the data in the frame content according to the frame type. Therefore, this solution can transmit FPGA data through the network instead of PCIE transmission data, so that FPGA Heterogeneous accelerator cards can not be installed in the PCIE slot, thus avoiding the dependence on the server CPU, and can receive and process data independently, reducing the dependence of the FPGA communication data processing process on the server CPU, and improving the data processing efficiency. The present application also provides a system, device and computer-readable storage medium for processing FGPA communication data, which can also achieve the above effects.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the embodiments of the present invention or the technical solutions in the prior art more clearly, the following briefly introduces the accompanying drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only These are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can also be obtained according to these drawings without creative efforts.

图1为本发明实施例公开的一种FGPA通信数据的处理方法流程图;1 is a flowchart of a method for processing FGPA communication data disclosed in an embodiment of the present invention;

图2为本发明实施例公开的一种具体的FGPA通信数据的处理方法流程图;2 is a flowchart of a specific method for processing FGPA communication data disclosed in an embodiment of the present invention;

图3为本发明实施例公开的一种具体的FGPA通信数据的处理方法流程图;3 is a flowchart of a specific FGPA communication data processing method disclosed in an embodiment of the present invention;

图4为本发明实施例公开的一种FGPA通信数据的处理系统结构示意图。FIG. 4 is a schematic structural diagram of a system for processing FGPA communication data disclosed in an embodiment of the present invention.

具体实施方式Detailed ways

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

本发明实施例公开了一种FGPA通信数据的处理方法、系统及装置,以降低FPGA异构加速卡的扩充成本。The embodiments of the present invention disclose a method, system and device for processing FGPA communication data, so as to reduce the expansion cost of the FPGA heterogeneous acceleration card.

参见图1,本发明实施例提供的一种FGPA通信数据的处理方法,具体包括:Referring to FIG. 1, a method for processing FGPA communication data provided by an embodiment of the present invention specifically includes:

S101,利用网络接口接收数据发送方利用预设协议封装的数据包,所述数据包包括帧类型和帧内容,所述帧内容包括FPGA通信数据信息。S101 , using a network interface to receive a data packet encapsulated by a data sender using a preset protocol, where the data packet includes a frame type and frame content, and the frame content includes FPGA communication data information.

区别于现有技术,本方案中FPGA板卡不再仅通过PCIE接口接收数据,而是可以通过网络接口接收数据包。Different from the prior art, in this solution, the FPGA board no longer only receives data through the PCIE interface, but can receive data packets through the network interface.

具体地,利用网络接口接收数据包,该数据包为数据发送方利用预设封装协议进行封装的数据包。需要说明的是,由于改变了数据传输的方式,因此在本方案中也需要调整数据包的封装方式,从而使数据可以在网络中传输且能够被通信双方识别并处理。本方案利用预设协议对FPGA通信数据信息进行封装,以实现通过网络传输FPGA通信数据。Specifically, a network interface is used to receive a data packet, where the data packet is a data packet encapsulated by the data sender using a preset encapsulation protocol. It should be noted that since the data transmission mode is changed, the encapsulation mode of the data packet also needs to be adjusted in this solution, so that the data can be transmitted in the network and can be identified and processed by both communicating parties. This solution uses the preset protocol to encapsulate the FPGA communication data information, so as to realize the transmission of FPGA communication data through the network.

在本方案中,预设协议的内容至少包括帧类型、帧内容。其中帧类型用来设定对FPGA通信数据的处理操作类型,帧内容包括FPGA通信数据信息,FPGA通信数据信息为与处理操作类型对应的操作内容,例如,帧类型为数据搬移,FPGA通信数据信息为待搬移的FPGA通信数据。In this solution, the content of the preset protocol at least includes frame type and frame content. The frame type is used to set the processing operation type of the FPGA communication data, the frame content includes the FPGA communication data information, and the FPGA communication data information is the operation content corresponding to the processing operation type. For example, the frame type is data transfer, and the FPGA communication data information Communication data for the FPGA to be moved.

需要说明的是,在本方案中数据发送方既可以是CPU也可以是FPGA,数据接收方同样既可以是CPU也可以是FPGA,其中,当数据发送方或数据接收方为CPU时,对端为FPGA,而数据发送方或数据接收方为FPGA时,对端既可以是FPGA也可以是CPU。It should be noted that in this solution, the data sender can be either a CPU or an FPGA, and the data receiver can also be a CPU or an FPGA. When the data sender or data receiver is an FPGA, the opposite end can be either an FPGA or a CPU.

还需要说明的是,数据包可以在局域网内进行传输,也可以在公网内进行传输,当在局域网内进行传输时,被预设协议封装的数据包即可被直接传输,在公网内进行传输时,需要在传输层或MAC层协议的基础上利用预设协议封装数据包。以传输层协议UDP协议为例,封装结果如下表1所示,其中,FCS为帧校验序列。It should also be noted that data packets can be transmitted in the local area network or in the public network. When transmitting in the local area network, the data packets encapsulated by the preset protocol can be directly transmitted, and in the public network During transmission, data packets need to be encapsulated with a preset protocol based on the transport layer or MAC layer protocol. Taking the transport layer protocol UDP protocol as an example, the encapsulation results are shown in Table 1 below, where FCS is a frame check sequence.

表1Table 1

源地址source address 目的地址Destination address 类型type IP包头IP header UDP报文头UDP header 利用预设协议封装的数据包Packets encapsulated with preset protocols FCSFCS

S102,解析所述数据包得到所述帧类型与所述帧内容。S102, parse the data packet to obtain the frame type and the frame content.

在接收到数据包后,需要按照预设协议对数据包进行解析,从而得到其中的帧类型与帧内容。After receiving the data packet, the data packet needs to be parsed according to the preset protocol, so as to obtain the frame type and frame content therein.

S103,确定所述帧类型对应的数据处理操作,并对所述帧内容中的FPGA通信数据执行所述数据处理操作。S103: Determine a data processing operation corresponding to the frame type, and perform the data processing operation on the FPGA communication data in the frame content.

需要说明的是,不同的帧类型对应不同的数据处理操作,在解析到帧类型与帧内容后,根据帧类型确定处理操作,并对真内容中的FPGA通信数据进行相应的处理。It should be noted that different frame types correspond to different data processing operations. After the frame type and frame content are parsed, the processing operation is determined according to the frame type, and the FPGA communication data in the real content is processed accordingly.

由此可见,本申请提供的一种FGPA通信数据的处理方法,利用预设协议封装数据包后,可以通过网络接口可接收数据包,预设协议中定义了帧类型与帧内容,即可在接收到数据包后按照预设协议解析数据包,确定帧类型与帧内容,按照帧类型对帧内容中的数据进行相应的操作,因此本方案可以通过网络传输FPGA数据代替PCIE传输数据,使得FPGA异构加速卡可以不设于PCIE插槽中,从而避免对服务器的依赖,可以独立接收数据并处理数据,降低FPGA通信数据处理过程对于服务器CPU的依赖,提高数据处理效率。It can be seen that, in a method for processing FGPA communication data provided by the present application, after the data packet is encapsulated by the preset protocol, the data packet can be received through the network interface, and the frame type and frame content are defined in the preset protocol. After receiving the data packet, parse the data packet according to the preset protocol, determine the frame type and frame content, and perform corresponding operations on the data in the frame content according to the frame type. Therefore, this solution can transmit FPGA data through the network instead of PCIE transmission data, so that FPGA Heterogeneous accelerator cards can not be installed in the PCIE slot, thus avoiding dependence on the server, and can receive and process data independently, reduce the dependence of the FPGA communication data processing process on the server CPU, and improve the data processing efficiency.

下面对本申请实施例提供的一种FGPA通信数据的处理方法中不同的帧类型与对应的处理操作进行介绍。The following describes different frame types and corresponding processing operations in a method for processing FGPA communication data provided by an embodiment of the present application.

帧类型具体可以包括5种,即,数据搬移类型、RDMA(Remote Direct MemoryAccess,远程直接数据存取)类型、文件烧写类型、指令类型与回复类型。The frame types may specifically include five types, namely, a data movement type, an RDMA (Remote Direct Memory Access, remote direct data access) type, a file programming type, an instruction type, and a reply type.

参见表2,表2中以具体示例说明各个帧类型,其中编码可根据实际情况作出调整,本方案不做限定。在该例中,X为变量,可根据不同的类型进行修改,例如,对于数据搬移类型0x0X01,当数据搬移操作具体是从HOST到FPGA搬移时,则X为0,即编码为0x0101。HOST即为服务器主机端,FPGA即为FPGA异构加速卡端。Referring to Table 2, each frame type is described with specific examples in Table 2, wherein the encoding can be adjusted according to the actual situation, which is not limited in this solution. In this example, X is a variable, which can be modified according to different types. For example, for the data movement type 0x0X01, when the data movement operation is specifically moved from the HOST to the FPGA, then X is 0, that is, it is encoded as 0x0101. HOST is the server host side, and FPGA is the FPGA heterogeneous acceleration card side.

该表中,数据搬移类型与RDMA类型均包括三种,每一种代表不同的数据传输方向;文件烧写类型具体包括2种烧写方式,即向FPGA烧写Bit文件以及向FLASH烧写Bit文件;指令类型具体包括若干种指令,指令的具体内容在本方案中不一一作出介绍,可以根据实际情况选择与设定,例如可以是远程更新程序指令、温度读取指令等;回复类型与上述4中帧类型对应,是对上述4中帧类型的处理结果作出回复的操作类型。In this table, there are three types of data transfer types and RDMA types, each of which represents a different data transfer direction; the file programming type includes two programming methods, namely, programming Bit files to FPGA and programming Bit files to FLASH file; the instruction type includes several kinds of instructions. The specific content of the instruction is not introduced one by one in this solution, and can be selected and set according to the actual situation, such as remote update program instruction, temperature reading instruction, etc.; The frame type in the above 4 corresponds to the operation type that replies to the processing result of the frame type in the above 4.

该表中保留的编码即暂未使用的编码,可以根据实际需要进行定义。The codes reserved in this table are codes that are not used for the time being, and can be defined according to actual needs.

表2Table 2

Figure BDA0002380262160000071
Figure BDA0002380262160000071

在一个具体的实施方式中,所述帧类型包括数据搬移类型,所述FPGA通信数据信息为FPGA通信数据;In a specific embodiment, the frame type includes a data transfer type, and the FPGA communication data information is FPGA communication data;

相应的,所述按照所述帧类型对所述帧内容中的FPGA通信数据进行处理,包括:Correspondingly, the processing of the FPGA communication data in the frame content according to the frame type includes:

按照所述帧类型搬移所述帧内容中的所述FPGA通信数据。The FPGA communication data in the frame content is moved according to the frame type.

在本方案中,如果帧类型为数据搬移类型,则对应的帧内容中包括FPGA通信数据,即待搬移的数据,也就是说,如果帧类型为数据搬移类型时,需要将实际待搬移数据会保存随数据包一并发送至数据接收方,数据接收方在接收到该数据包后,解析到帧类型为数据搬移类型时,会向帧内容中获取待搬移的FPGA通信数据,并将其搬移至本地的目标地址。需要说明的是,目标地址也可以由数据发送进行设定,并利用预设协议定义在数据包中。In this solution, if the frame type is the data movement type, the corresponding frame content includes the FPGA communication data, that is, the data to be moved. That is to say, if the frame type is the data movement type, the actual data to be moved needs to be Save the data packet and send it to the data receiver. After the data receiver receives the data packet and parses that the frame type is the data movement type, it will obtain the FPGA communication data to be moved from the frame content and move it. to the local destination address. It should be noted that the target address can also be set by data transmission, and is defined in the data packet by using a preset protocol.

在一个具体的实施方式中,所述帧类型包括RDMA类型,所述FPGA通信数据信息包括存储FPGA通信数据的源地址、所述FPGA通信数据的数据长度与存储所述FPGA通信数据的目的地址;In a specific embodiment, the frame type includes an RDMA type, and the FPGA communication data information includes a source address storing the FPGA communication data, a data length of the FPGA communication data, and a destination address storing the FPGA communication data;

相应的,所述按照所述帧类型对所述帧内容中的FPGA通信数据进行处理,包括:Correspondingly, the processing of the FPGA communication data in the frame content according to the frame type includes:

向所述源地址搬移所述数据长度的所述FPGA通信数据至所述目的地址。Moving the FPGA communication data of the data length to the destination address to the source address.

在本方案中,帧类型为RDMA类型,在该类型中,需要数据接收方主动到待搬移数据的源地址找到待搬移数据并进行搬移。因此,在本方案中,当帧类型为RDMA类型时,FPGA通信数据信息不再是待搬移数据,而是待搬移数据的源地址、目的地址以及数据长度,数据接收方在接收到数据包并解析帧类型为RDMA类型时,在FPGA通信数据信息中确定源地址、目的地址以及数据长度三个参数,并主动向源地址获取待搬移的FPGA通信数据。In this solution, the frame type is RDMA type. In this type, the data receiver needs to take the initiative to find the data to be moved and move it to the source address of the data to be moved. Therefore, in this solution, when the frame type is RDMA type, the FPGA communication data information is no longer the data to be moved, but the source address, destination address and data length of the data to be moved. When the analysis frame type is RDMA type, three parameters of source address, destination address and data length are determined in the FPGA communication data information, and the FPGA communication data to be moved is actively obtained from the source address.

在一个具体的实施方式中,所述帧类型包括指令类型,所述FPGA通信数据信息包括读写标识、命令个数与所述命令个数个的命令信息,每个所述命令信息包括FPGA寄存器地址以及与所述FPGA寄存器地址对应的待写数据或空数据;In a specific embodiment, the frame type includes an instruction type, the FPGA communication data information includes a read/write identifier, the number of commands, and the command information of the number of commands, and each of the command information includes an FPGA register address and data to be written or empty data corresponding to the FPGA register address;

相应的,所述按照所述帧类型对所述帧内容中的FPGA通信数据进行处理,包括:Correspondingly, the processing of the FPGA communication data in the frame content according to the frame type includes:

按照所述读写标识依次对每个命令信息中的FPGA寄存器地址执行写寄存器或读寄存器操作。According to the read and write identifiers, a register write or register read operation is sequentially performed on the FPGA register address in each command message.

在本方案中,帧类型为指令类型,对于指令类型来说,对应的FPGA通信数据信息是至少一个命令信息,需要说明的是,在FPGA中,不同的寄存器对应不同的功能,例如一个寄存器为授权管理的寄存器,当寄存器被写入1,则授予当前用户某个权限,当寄存器被写入0则取消当前用户该权限。在本方案中命令的形式具体为读或写寄存器,寄存器命令信息包括FPGA寄存器地址以及待写数据或空数据。需要说明的是,如果是写寄存器,则FPGA通信数据信息中的一个数据字段包括具体要写入寄存器中的值,如果是读寄存器,则FPGA通信数据信息中的数据字段为一个保留字段,该字段不填入任何数据。In this solution, the frame type is the instruction type. For the instruction type, the corresponding FPGA communication data information is at least one command information. It should be noted that in the FPGA, different registers correspond to different functions. For example, a register is Authorization management register, when the register is written to 1, the current user is granted a certain authority, and when the register is written to 0, the current user's authority is cancelled. In this solution, the command is specifically in the form of reading or writing a register, and the register command information includes the FPGA register address and data to be written or empty data. It should be noted that if the register is written, a data field in the FPGA communication data information includes the value to be written into the register. If the register is read, the data field in the FPGA communication data information is a reserved field. Field is not filled with any data.

参见表3,表3为当帧类型为指令类型时,FPGA通信数据信息的具体内容。其中,本方案一次可以传输多条命令,命令个数字段填写具体的命令个数,消息正文为命令个数个的命令信息,每个命令信息均包括FPGA寄存器地址、数据字段(Data)和一保留字段。See Table 3. Table 3 shows the specific content of the FPGA communication data information when the frame type is an instruction type. Among them, this solution can transmit multiple commands at a time, the number of commands field is filled with the specific number of commands, the message body is the command information of the number of commands, and each command information includes the FPGA register address, data field (Data) and a reserved text.

表3table 3

Figure BDA0002380262160000091
Figure BDA0002380262160000091

在一个具体的实施方式中,所述帧类型包括回复类型,所述FPGA通信数据信息包括回复标识;In a specific embodiment, the frame type includes a reply type, and the FPGA communication data information includes a reply identifier;

相应的,所述按照所述帧类型对所述帧内容中的FPGA通信数据进行处理,包括:Correspondingly, the processing of the FPGA communication data in the frame content according to the frame type includes:

利用所述回复标识确定所述FPGA通信数据的处理结果。The processing result of the FPGA communication data is determined by using the reply identifier.

在本方案中,回复类型与上述的帧类型对应,用于标识上述帧类型的操作处理结果。回复类型具体包括4种,分别是数据搬移回复、RDMA回复、Bit文件烧写回复、指令回复,回复类型。In this solution, the reply type corresponds to the above frame type, and is used to identify the operation processing result of the above frame type. There are 4 types of reply types, namely data transfer reply, RDMA reply, Bit file programming reply, command reply, and reply type.

参见表4至表7为4种回复类型对应的FPGA通信数据信息的具体内容。在数据包头中,具体可以包括回复的类型,即标识对哪一种操作进行的回复,以便在接收到FPGA通信数据信息后,可以直接从数据包头确定回复的类型。See Table 4 to Table 7 for the specific content of the FPGA communication data information corresponding to the four reply types. In the data packet header, the type of reply may be specifically included, that is, to identify which operation is to be replied to, so that after receiving the FPGA communication data information, the type of reply can be directly determined from the data packet header.

表4Table 4

Figure BDA0002380262160000101
Figure BDA0002380262160000101

表5table 5

Figure BDA0002380262160000102
Figure BDA0002380262160000102

Figure BDA0002380262160000111
Figure BDA0002380262160000111

表6Table 6

Figure BDA0002380262160000112
Figure BDA0002380262160000112

表7Table 7

Figure BDA0002380262160000113
Figure BDA0002380262160000113

Figure BDA0002380262160000121
Figure BDA0002380262160000121

下面对本申请实施例提供的一种具体的FGPA通信数据的处理方法进行介绍,下文描述的一种具体的FGPA通信数据的处理方法与上述任一实施例可以相互参照。A specific method for processing FGPA communication data provided by an embodiment of the present application is introduced below, and a specific method for processing FGPA communication data described below can be referred to each other with any of the above-mentioned embodiments.

参见图2,本申请实施例提供的一种具体的FGPA通信数据的处理方法,具体包括:Referring to FIG. 2 , a specific method for processing FGPA communication data provided by an embodiment of the present application specifically includes:

S201,利用网络接口接收数据发送方利用预设协议封装的数据包,所述数据包包括帧类型和帧内容,所述帧内容包括FPGA通信数据信息。S201, using a network interface to receive a data packet encapsulated by a data sender using a preset protocol, where the data packet includes a frame type and frame content, and the frame content includes FPGA communication data information.

S202,解析所述数据包得到帧序号。S202, parsing the data packet to obtain a frame sequence number.

在本方案中,数据包中还包括帧序号,帧序号用于标识每一数据包,例如数据发送需要发送5个数据包,则可以利用5个序号分别标识每一个数据包。In this solution, the data packet also includes a frame sequence number, which is used to identify each data packet. For example, if data transmission needs to send 5 data packets, the 5 sequence numbers can be used to identify each data packet respectively.

S203,利用所述帧序号确定与当前接收到的所有数据包的帧序号确定是否存在丢失数据包。S203: Determine whether there is a missing data packet by using the frame sequence number to determine and the frame sequence numbers of all currently received data packets.

在接收到数据包后,解析得到其中的帧序号,从而即可利用帧序号确定是否有未接收到的数据包,即,可以确定是否存在丢包。After the data packet is received, the frame sequence number in it is obtained by parsing, so that the frame sequence number can be used to determine whether there is an unreceived data packet, that is, it can be determined whether there is a packet loss.

S204,解析所述数据包得到所述帧类型与所述帧内容。S204, parse the data packet to obtain the frame type and the frame content.

S205,按照所述帧类型对所述帧内容中的FPGA通信数据进行处理。S205: Process the FPGA communication data in the frame content according to the frame type.

由此可见,本申请实施例通过在数据包中添加帧序号,即可在接收到数据包后,解析其中的帧序号,利用帧序号确定是否发生丢包的问题,可以及时发现丢包以及准确的确定丢失的数据包的信息。It can be seen that, by adding the frame sequence number to the data packet in the embodiment of the present application, after receiving the data packet, the frame sequence number in the data packet can be parsed, and the frame sequence number can be used to determine whether the problem of packet loss occurs. information to determine lost packets.

下面对本申请实施例提供的一种具体的FGPA通信数据的处理方法进行介绍,下文描述的一种具体的FGPA通信数据的处理方法与上述任一实施例可以相互参照。A specific method for processing FGPA communication data provided by an embodiment of the present application is introduced below, and a specific method for processing FGPA communication data described below can be referred to each other with any of the above-mentioned embodiments.

参见图3,本申请实施例提供的一种具体的FGPA通信数据的处理方法,具体包括:Referring to FIG. 3 , a specific method for processing FGPA communication data provided by an embodiment of the present application specifically includes:

下面对本申请实施例提供的一种具体的FGPA通信数据的处理方法进行介绍,下文描述的一种具体的FGPA通信数据的处理方法与上述任一实施例可以相互参照。A specific method for processing FGPA communication data provided by an embodiment of the present application is introduced below, and a specific method for processing FGPA communication data described below can be referred to each other with any of the above-mentioned embodiments.

参见图3,本申请实施例提供的一种具体的FGPA通信数据的处理方法,具体包括:Referring to FIG. 3 , a specific method for processing FGPA communication data provided by an embodiment of the present application specifically includes:

S301,利用网络接口接收数据发送方利用预设协议封装的数据包,所述数据包包括帧类型和帧内容,所述帧内容包括FPGA通信数据信息。S301 , using a network interface to receive a data packet encapsulated by a data sender using a preset protocol, where the data packet includes a frame type and frame content, and the frame content includes FPGA communication data information.

S302,解析所述数据包得到所述分包序号,以利用所述分包序号对所述通信数据进行组包。S302, parse the data packet to obtain the sub-packet sequence number, so as to use the sub-packet sequence number to package the communication data.

需要说明的是,当待传输的FPGA通信数据量较大时,一次性传输该FPGA通信数据的时延较大,影响数据传输的质量。为此在本方案中对FPGA通信数据进行分包,即将大数据划分为多个小数据,每个小数据为一个分包数据,为每个分包数据确定一分包序号,用于标识分包数据。数据接收方在接收到数据包后,对数据包进行解析得到其中的分包序号,在接收到一个数据对应的所有数据包后,按照分包序号即可对分包数据进行组包,得到完整的FPGA通信数据。It should be noted that when the amount of FPGA communication data to be transmitted is large, the time delay for transmitting the FPGA communication data at one time is relatively large, which affects the quality of data transmission. To this end, in this solution, the FPGA communication data is sub-packaged, that is, the big data is divided into multiple small data, each small data is a sub-package data, and a sub-package sequence number is determined for each sub-package data, which is used to identify the sub-package data. package data. After receiving the data packet, the data receiver parses the data packet to obtain the sub-packet sequence number. After receiving all the data packets corresponding to a data, the sub-package data can be packaged according to the sub-packet sequence number to obtain a complete package. FPGA communication data.

S303,解析所述数据包得到所述帧类型与所述帧内容。S303, parse the data packet to obtain the frame type and the frame content.

S304,按照所述帧类型对所述帧内容中的FPGA通信数据进行处理。S304, process the FPGA communication data in the frame content according to the frame type.

由此可见,本申请实施例提供的一种FGPA通信数据的处理方法,可以通过分包的方式减少每次数据传输的数据量,从而避免数据过大影响数据传输的质量,且通过在数据包中封装分包序号的方式可以使数据接收方通过分包序号对数据进行组包,得到完整的FPGA通信数据。It can be seen that the method for processing FGPA communication data provided by the embodiment of the present application can reduce the data amount of each data transmission by subcontracting, so as to avoid excessive data affecting the quality of data transmission. The way of encapsulating the sub-package sequence number in the middle can enable the data receiver to package the data through the sub-package sequence number to obtain the complete FPGA communication data.

下面对本申请实施例提供的一种FGPA通信数据的处理系统进行介绍,下文描述的一种FGPA通信数据的处理系统与上述任一实施例可以相互参照。The following describes a system for processing FGPA communication data provided by an embodiment of the present application, and a system for processing FGPA communication data described below may refer to any of the above-mentioned embodiments.

参见图4,本申请实施例提供的一种FGPA通信数据的处理系统,具体包括:Referring to FIG. 4 , a system for processing FGPA communication data provided by an embodiment of the present application specifically includes:

数据包接收模块401,用于利用网络接口接收数据发送方利用预设协议封装的数据包,所述数据包包括帧类型和帧内容,所述帧内容包括FPGA通信数据信息;A data packet receiving module 401, configured to receive a data packet encapsulated by a data sender using a preset protocol by using a network interface, the data packet includes a frame type and frame content, and the frame content includes FPGA communication data information;

解析模块402,用于解析所述数据包得到所述帧类型与所述帧内容;A parsing module 402, configured to parse the data packet to obtain the frame type and the frame content;

数据处理模块403,用于确定所述帧类型对应的数据处理操作,并对所述帧内容中的FPGA通信数据执行所述数据处理操作。The data processing module 403 is configured to determine the data processing operation corresponding to the frame type, and perform the data processing operation on the FPGA communication data in the frame content.

本实施例的FGPA通信数据的处理系统用于实现前述的FGPA通信数据的处理方法,因此FGPA通信数据的处理系统中的具体实施方式可见前文中的FGPA通信数据的处理方法的实施例部分,例如,数据包接收模块401,解析模块402,数据处理模块403,分别用于实现上述FGPA通信数据的处理方法中步骤S101,S102,S103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。The system for processing FGPA communication data in this embodiment is used to implement the aforementioned method for processing FGPA communication data. Therefore, the specific implementation in the system for processing FGPA communication data can be found in the embodiment section of the foregoing method for processing FGPA communication data, for example, , the data packet receiving module 401, the parsing module 402, and the data processing module 403 are respectively used to realize the steps S101, S102, and S103 in the above-mentioned FGPA communication data processing method. Therefore, the specific implementation can refer to the corresponding parts of the embodiments. description, which will not be repeated here.

本申请还提供了一种FGPA通信数据的处理装置,包括:The application also provides a processing device for FGPA communication data, including:

存储器,用于存储计算机程序;memory for storing computer programs;

处理器,用于执行所述计算机程序时可以实现上述任一FGPA通信数据的处理方法实施例所提供的步骤。The processor, configured to execute the computer program, can implement the steps provided in any of the foregoing embodiments of the method for processing FGPA communication data.

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same and similar parts between the various embodiments can be referred to each other.

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。The above description of the disclosed embodiments enables any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A method for processing FGPA communication data, comprising:
receiving a data packet encapsulated by a data sender by using a preset protocol by using a network interface; the data packet comprises a frame type and frame contents, and the frame contents comprise FPGA communication data information;
analyzing the data packet to obtain the frame type and the frame content;
and determining data processing operation corresponding to the frame type, and executing the data processing operation on the FPGA communication data in the frame content.
2. The method of claim 1, wherein when the frame type comprises a data movement type, performing the data processing operation on the FPGA communication data in the frame content comprises:
and moving the FPGA communication data in the frame content according to the frame type.
3. The method of claim 1, wherein the frame type comprises an RDMA type, wherein the FPGA communication data information comprises a source address where FPGA communication data is stored, a data length of the FPGA communication data, and a destination address where the FPGA communication data is stored;
correspondingly, the data processing operation is performed on the FPGA communication data in the frame content, and includes:
and moving the FPGA communication data with the data length to the source address to the destination address.
4. The method according to claim 1, wherein the frame type comprises a file programming type, and the FPGA communication data information comprises file contents to be programmed;
correspondingly, the data processing operation is performed on the FPGA communication data in the frame content, and includes:
and programming the content of the file to be programmed to the FPGA.
5. The method according to claim 1, wherein the frame type includes an instruction type, the FPGA communication data information includes a read-write identifier, command number and command information of the command number, and each command information includes an FPGA register address and data to be written or null data corresponding to the FPGA register address;
correspondingly, the data processing operation is performed on the FPGA communication data in the frame content, and includes:
and sequentially executing register writing or register reading operation on the FPGA register address in each command message according to the read-write identification.
6. The method of claim 1, wherein the frame type comprises a reply type, and wherein the FPGA communication data information comprises a reply identification;
correspondingly, the data processing operation is performed on the FPGA communication data in the frame content, and includes:
and determining the processing result of the FPGA communication data by using the reply identifier.
7. The method according to claim 1, wherein the data packet further includes a frame sequence number, and after receiving, by the network interface, the data packet encapsulated by the data sender using the predetermined protocol, the method further includes:
analyzing the data packet to obtain the frame sequence number;
and determining whether the data packet is lost or not by using the frame sequence numbers and the frame sequence numbers of all the currently received data packets.
8. The method according to claim 1, wherein the FPGA communication data message is packetized data dividing original data into a preset number of packets;
the data packet also comprises a packet sequence number;
after receiving the data packet encapsulated by the data sender by using the preset protocol by using the network interface, the method further comprises the following steps:
and analyzing the data packet to obtain the packet sequence number so as to package the communication data by using the packet sequence number.
9. A system for processing FGPA communication data, comprising:
the data packet receiving module is used for receiving a data packet which is encapsulated by a data sender by using a preset protocol by using a network interface, wherein the data packet comprises a frame type and a frame content, and the frame content comprises FPGA communication data information;
the analysis module is used for analyzing the data packet to obtain the frame type and the frame content;
and the data processing module is used for determining the data processing operation corresponding to the frame type and executing the data processing operation on the FPGA communication data in the frame content.
10. An apparatus for processing FGPA communication data, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the method of processing FGPA communication data according to any of claims 1 to 8 when executing the computer program.
CN202010080854.0A 2020-02-05 2020-02-05 A method, system and device for processing FGPA communication data Pending CN111343148A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010080854.0A CN111343148A (en) 2020-02-05 2020-02-05 A method, system and device for processing FGPA communication data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010080854.0A CN111343148A (en) 2020-02-05 2020-02-05 A method, system and device for processing FGPA communication data

Publications (1)

Publication Number Publication Date
CN111343148A true CN111343148A (en) 2020-06-26

Family

ID=71185226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010080854.0A Pending CN111343148A (en) 2020-02-05 2020-02-05 A method, system and device for processing FGPA communication data

Country Status (1)

Country Link
CN (1) CN111343148A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711968A (en) * 2020-06-10 2020-09-25 京信通信系统(中国)有限公司 Message processing method, device, communication device and communication system
CN112214264A (en) * 2020-10-10 2021-01-12 交通运输部规划研究院 AIS interactive operation processing method and device
CN112416840A (en) * 2020-11-06 2021-02-26 浪潮(北京)电子信息产业有限公司 Remote mapping method, device and equipment of computing resources and storage medium
CN113065642A (en) * 2021-04-09 2021-07-02 中电科数字科技(集团)有限公司 Artificial intelligence acceleration method and system based on heterogeneous computing
CN113609049A (en) * 2021-08-11 2021-11-05 联想长风科技(北京)有限公司 A method and system for data transmission between CPU and FPGA
CN115550273A (en) * 2022-09-19 2022-12-30 上海英方软件股份有限公司 Data transmission method, device and equipment
WO2023206787A1 (en) * 2022-04-29 2023-11-02 苏州元脑智能科技有限公司 Heterogeneous acceleration method, apparatus and system and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731231A (en) * 2012-10-11 2014-04-16 北京联拓恒芯科技发展有限公司 Method and device for identifying frame types
CN105760323A (en) * 2016-04-27 2016-07-13 南京大学 Network interface controller based on FPGA
CN105791252A (en) * 2014-12-26 2016-07-20 航天信息股份有限公司 UDP (User Datagram Protocol) IP (Intellectual Property) core based on FPGA (Field Programmable Gate Array)
CN108776648A (en) * 2018-05-28 2018-11-09 郑州云海信息技术有限公司 Data transmission method, system and FPGA isomeries accelerator card and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731231A (en) * 2012-10-11 2014-04-16 北京联拓恒芯科技发展有限公司 Method and device for identifying frame types
CN105791252A (en) * 2014-12-26 2016-07-20 航天信息股份有限公司 UDP (User Datagram Protocol) IP (Intellectual Property) core based on FPGA (Field Programmable Gate Array)
CN105760323A (en) * 2016-04-27 2016-07-13 南京大学 Network interface controller based on FPGA
CN108776648A (en) * 2018-05-28 2018-11-09 郑州云海信息技术有限公司 Data transmission method, system and FPGA isomeries accelerator card and storage medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711968B (en) * 2020-06-10 2022-02-01 京信网络系统股份有限公司 Message processing method, device, communication equipment and communication system
CN111711968A (en) * 2020-06-10 2020-09-25 京信通信系统(中国)有限公司 Message processing method, device, communication device and communication system
CN112214264A (en) * 2020-10-10 2021-01-12 交通运输部规划研究院 AIS interactive operation processing method and device
CN112416840B (en) * 2020-11-06 2023-05-26 浪潮(北京)电子信息产业有限公司 Remote mapping method, device, equipment and storage medium for computing resources
WO2022095348A1 (en) * 2020-11-06 2022-05-12 浪潮(北京)电子信息产业有限公司 Remote mapping method and apparatus for computing resources, device and storage medium
CN112416840A (en) * 2020-11-06 2021-02-26 浪潮(北京)电子信息产业有限公司 Remote mapping method, device and equipment of computing resources and storage medium
US11960430B2 (en) 2020-11-06 2024-04-16 Inspur (Beijing) Electronic Information Industry Co., Ltd. Remote mapping method, apparatus and device for computing resources, and storage medium
CN113065642A (en) * 2021-04-09 2021-07-02 中电科数字科技(集团)有限公司 Artificial intelligence acceleration method and system based on heterogeneous computing
CN113065642B (en) * 2021-04-09 2023-04-07 中电科数字科技(集团)有限公司 Artificial intelligence acceleration method and system based on heterogeneous computing
CN113609049A (en) * 2021-08-11 2021-11-05 联想长风科技(北京)有限公司 A method and system for data transmission between CPU and FPGA
WO2023206787A1 (en) * 2022-04-29 2023-11-02 苏州元脑智能科技有限公司 Heterogeneous acceleration method, apparatus and system and computer readable storage medium
US12170639B1 (en) 2022-04-29 2024-12-17 Suzhou Metabrain Intelligent Technology Co., Ltd. Heterogeneous acceleration method, apparatus and system and computer readable storage medium
CN115550273A (en) * 2022-09-19 2022-12-30 上海英方软件股份有限公司 Data transmission method, device and equipment

Similar Documents

Publication Publication Date Title
CN111343148A (en) A method, system and device for processing FGPA communication data
US11016911B2 (en) Non-volatile memory express over fabric messages between a host and a target using a burst mode
US11991072B2 (en) System and method for facilitating efficient event notification management for a network interface controller (NIC)
CN104579695B (en) A kind of data forwarding device and method
EP2312807B1 (en) Method and system for enabling zero-copy transmission of streaming media data
CN104580011B (en) A kind of data forwarding device and method
US11563832B2 (en) Data sending method and device, data receiving method and device, and system
CN107257329B (en) A kind of data sectional unloading sending method
CN104424105B (en) The read-write processing method and device of a kind of internal storage data
CN108055202A (en) A kind of message processor and method
CN113228576B (en) A method and device for processing data in a network
CN115103036B (en) An efficient TCP/IP datagram processing method and system
CN108848025B (en) Data processing method, intelligent gateway and Internet of things system
CN113891396B (en) Data packet processing method and device, computer equipment and storage medium
CN105389120A (en) Supporting RMA API over active message
CN105933325B (en) A kind of kernel state RPC communication accelerated method based on NFSoRDMA
CN114866534B (en) An image processing method, device, equipment and medium
CN111475445A (en) Method and system for converting USB or UART data and Ethernet data
CN114095572B (en) Data transfer method and device
CN111143276A (en) A heterogeneous computing system and its computing method
CN116846669A (en) Network traffic processing method, device, computer equipment, storage medium and product
CN112039801B (en) Method, system and proxy server for setting IP information
CN115801498A (en) Vehicle-mounted Ethernet gateway system and operation method
CN114710529A (en) Data transmission method, device, system, vehicle and storage medium
US7532644B1 (en) Method and system for associating multiple payload buffers with multidata message

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200626

RJ01 Rejection of invention patent application after publication
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载