CN111565152B - Brain-like chip routing system data communication method based on routing domain division - Google Patents

Brain-like chip routing system data communication method based on routing domain division Download PDF

Info

Publication number
CN111565152B
CN111565152B CN202010231196.0A CN202010231196A CN111565152B CN 111565152 B CN111565152 B CN 111565152B CN 202010231196 A CN202010231196 A CN 202010231196A CN 111565152 B CN111565152 B CN 111565152B
Authority
CN
China
Prior art keywords
routing
domain
data message
queue
unit
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
Application number
CN202010231196.0A
Other languages
Chinese (zh)
Other versions
CN111565152A (en
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010231196.0A priority Critical patent/CN111565152B/en
Publication of CN111565152A publication Critical patent/CN111565152A/en
Application granted granted Critical
Publication of CN111565152B publication Critical patent/CN111565152B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

The application provides a data communication method of a brain-like chip routing system based on routing domain division, wherein the routing domain comprises the following steps: an intra-domain routing unit and a border routing unit; the intra-domain routing unit and the boundary routing unit are respectively connected with corresponding analog neurons, and the intra-domain routing unit and the boundary routing unit are in intra-domain communication connection by adopting a network structure with a first preset dimension; and the border routing units in other routing domains adopt a network structure with a second preset dimension to carry out inter-domain communication connection. In the method, the intra-domain routing unit only needs to store the routing information reaching other routing units in the domain, and the boundary routing unit only needs to store the routing information reaching other routing units in the domain and reaching boundary routing units in other routing domains, so that the storage cost and inter-domain transmission cost of network information are reduced. The boundary routing unit distinguishes the intra-domain data queue and the inter-domain data queue, so that intra-domain and inter-domain information can be transmitted in parallel, and the transmission efficiency is improved.

Description

Brain-like chip routing system data communication method based on routing domain division
Technical Field
The application belongs to the technical field of artificial intelligence chips, and particularly relates to a brain chip-like routing system data communication method based on routing domain division.
Background
The brain-like chip is designed by simulating human brain, approaches to the brain from the structural level, and obtains brain intelligence through a brain-simulated biological neural network.
At present, the research of brain-like chips is mainly based on the combination of microelectronic technology and novel nerve morphological devices, and the system structure breakthrough innovation is carried out on the basis of the traditional computing architecture, so that the deep fusion of storage and computation is realized, the computing performance is improved, the integration level is improved, and the energy consumption is reduced.
However, human brain intelligence comes from a super-large-scale and complex interconnected neuron network, and the research on the human brain large-scale neuron network interconnection technology is also one of the key problems for realizing brain-like intelligence in order to simulate the real human brain.
Disclosure of Invention
In the routing domain provided by the application, the intra-domain routing unit only needs to store routing information reaching other routing units in the domain, and the boundary routing unit only needs to store routing information reaching other routing units in the domain and reaching boundary routing units of other routing domains, so that the storage overhead and inter-domain transmission overhead of network information are reduced, the routing domain can realize large-scale network interconnection of analog neurons, and the data transmission efficiency in the brain-like chip is improved.
The embodiment of the first aspect of the present application provides a routing domain, which includes an intra-domain routing unit and a border routing unit;
the intra-domain routing unit and the boundary routing unit are respectively connected with corresponding analog neurons, and the intra-domain routing unit and the boundary routing unit are in intra-domain communication connection by adopting a network structure with a first preset dimension;
and the border routing units in other routing domains adopt a network structure with a second preset dimension to carry out inter-domain communication connection.
In some embodiments of the present invention, the intra-domain routing unit includes a transceiver module, a control module, a data management queue, and a routing table module;
the data management queue comprises a receiving queue and a sending queue; the routing table module stores a routing table; the receiving and sending module is used for receiving or sending a data message;
the control module is used for controlling the receiving and sending module to insert the received data message into the receiving queue; and acquiring the data message to be transmitted from the transmission queue, and controlling the transceiver module to transmit the data message to be transmitted from an output port corresponding to the data message to be transmitted according to the data message to be transmitted and the routing table.
In some embodiments of the present invention, the border routing unit includes a transceiver module, a control module, a data management queue, and a routing table module;
the data management queue comprises a classification unit, an intra-domain receiving queue, an intra-domain sending queue, an inter-domain receiving queue and an inter-domain sending queue; the routing table module stores a routing table; the receiving and sending module is used for receiving or sending a data message;
the control module is used for controlling the classification unit to determine the type of the data message received by the transceiver module; inserting the received data message into the intra-domain receiving queue or the inter-domain receiving queue according to the type; and acquiring a data message to be transmitted from the intra-domain transmission queue and/or the inter-domain transmission queue, and controlling the transceiver module to transmit the data message to be transmitted from an output port corresponding to the data message to be transmitted according to the data message to be transmitted and the routing table.
In some embodiments of the present invention, the data packet includes a source routing domain number, a source routing unit number, an input port number, pulse data, a destination routing domain number, a destination routing unit number, and an output port number; and/or the presence of a gas in the gas,
the routing table includes a source routing domain number, a source routing unit number, an input port number, a destination routing domain number, a destination routing unit number, and an output port number.
An embodiment of a second aspect of the present application provides a routing system, including a plurality of routing domains as described in the first aspect above;
and the boundary routing units in each routing domain adopt a network structure with a second preset dimension to carry out inter-domain communication connection.
The embodiment of the third aspect of the present application provides a brain-like chip, which includes a plurality of analog neurons, a plurality of storage units, and the routing system of the second aspect;
the simulation neurons respectively correspond to the storage unit and the routing units in the routing system one by one; the analog neuron is respectively in communication connection with the corresponding storage unit and the corresponding routing unit;
the storage unit is used for storing pulse data received or sent by the analog neuron connected with the storage unit;
the routing unit is an intra-domain routing unit or a boundary routing unit and is used for realizing communication between the simulation neuron connected with the routing unit and other simulation neurons.
An embodiment of a fourth aspect of the present application provides a data packet receiving method applied to the routing system of the second aspect, where the method includes:
receiving a data message from an input port;
if the local routing unit is an intra-domain routing unit, updating the port field of the data message; inserting the data message into a sending queue;
if the local routing unit is a boundary routing unit, determining the type of the data message according to a local routing domain to which the boundary routing unit belongs and a destination routing domain number included in the data message; and updating the port field of the data message, and inserting the data message into the sending queue corresponding to the type.
In some embodiments of the present invention, the updating the port field of the data packet includes:
writing the input port number corresponding to the input port into an input port number field included in the data message;
searching a corresponding output port number from a routing table according to a destination routing domain number and a destination routing unit number which are included in the data message;
and writing the output port number into an output port number field included in the data message.
An embodiment of a fifth aspect of the present application provides a data packet sending method applied to the routing system of the second aspect, where the method includes:
if the local routing unit is an intra-domain routing unit, reading a data message to be sent from the sending queue; sending the data message from an output port corresponding to an output port number included in the data message;
if the local routing unit is a boundary routing unit, reading a data message to be sent from an intra-domain sending queue and/or an inter-domain sending queue; and sending the data message from an output port corresponding to the output port number included in the data message.
An embodiment of a sixth aspect of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor executes the computer program to implement the method of the fourth aspect or the fifth aspect.
The technical scheme provided in the embodiment of the application at least has the following technical effects or advantages:
the embodiment of the application partitions the analog neurons and provides the routing domains for the analog neurons in the same region, so that the distributed storage of the neuron routing information is realized, each intra-domain routing unit only needs to store the routing information reaching other routing units in the local routing domain, and each boundary routing unit only needs to store the routing information reaching other routing units in the local routing domain and reaching the boundary routing units of other adjacent routing domains, thereby being beneficial to reducing the storage cost of network information. And each routing domain is provided with a boundary routing unit for pulse information transmission between the routing domains, so that the routing transmission cost between the routing domains is reduced. The data management queue inside the boundary routing unit distinguishes the intra-domain data queue and the inter-domain data queue, so that the parallelism of information transmission in the routing domain and between the routing domains can be realized, and the transmission efficiency of the analog neuron network can be improved.
Additional aspects and advantages of the present application will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the present application.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the application. Also, like reference numerals are used to refer to like parts throughout the drawings.
In the drawings:
fig. 1 is a schematic diagram illustrating a structure of a routing domain according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of an intra-domain routing unit according to an embodiment of the present application;
fig. 3 is a diagram illustrating an entry format of a routing table according to an embodiment of the present application;
fig. 4 is a schematic diagram illustrating a format of a data packet according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a border routing unit provided in an embodiment of the present application;
FIG. 6 is a schematic diagram of a routing system provided by an embodiment of the present application;
FIG. 7 is a diagram illustrating an intra-domain network structure within a routing domain as provided by an embodiment of the present application;
FIG. 8 is a diagram illustrating an inter-domain network structure between different routing domains as provided by an embodiment of the present application;
FIG. 9 is a schematic diagram of a brain chip of the type provided by an embodiment of the present application;
fig. 10 is a flowchart illustrating a data message receiving method according to an embodiment of the present application;
fig. 11 is a schematic flow chart illustrating a data message receiving method according to an embodiment of the present application;
fig. 12 is a flowchart illustrating a data message sending method according to an embodiment of the present application;
fig. 13 is another schematic flow chart of a data message sending method according to an embodiment of the present application;
fig. 14 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 15 is a schematic diagram of a storage medium provided in an embodiment of the present application.
Detailed Description
Exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
It is to be noted that, unless otherwise specified, technical or scientific terms used herein shall have the ordinary meaning as understood by those skilled in the art to which this application belongs.
The data communication method of the brain-like chip routing system based on routing domain division proposed by the embodiment of the application is described below with reference to the accompanying drawings.
An embodiment of the present application provides a routing domain, which, referring to fig. 1, includes an intra-domain routing unit and a border routing unit;
the intra-domain routing unit and the boundary routing unit are respectively connected with corresponding analog neurons, and the intra-domain routing unit and the boundary routing unit are in intra-domain communication connection by adopting a network structure with a first preset dimension; and the border routing units in other routing domains adopt a network structure with a second preset dimension to carry out inter-domain communication connection.
The network structure of the first predetermined dimension may be a 3D Torus (three-dimensional Torus) network, a 4D (four-dimensional) network, or a 5D (five-dimensional) network. The specific dimension of the network structure of the first preset dimension is related to the size of the routing domain, and the larger the size of the routing domain is, the higher the dimension of the network structure of the first preset dimension may be. The network structure of the second preset dimension may be a 2D msesh (two-dimensional grid) network, a 3D Torus network, a 4D network, or a 5D network, etc. The specific dimension of the network structure of the second predetermined dimension is related to the size of the routing system, and the larger the number of routing domains included in the routing system, the higher the network structure of the second predetermined dimension may be. The embodiment of the application does not limit the specific dimensions of the network structure with the first preset dimension and the network structure with the second preset dimension, and the specific dimensions can be determined according to requirements in practical application.
The method and the device for simulating the axons of the neurons simulate the axons of the neurons through the routing units, the routing units correspond to the simulated neurons one by one, the routing units are connected with the simulated neurons corresponding to the routing units, and information transmission among different simulated neurons is achieved through the routing units. The routing units comprise intra-domain routing units and boundary routing units, and intra-domain communication connection is carried out between each intra-domain routing unit and each boundary routing unit by adopting a network structure with a first preset dimension, so that information interaction between each routing unit in the same routing domain is realized. The routing domain adopts a network structure with a second preset dimension to carry out inter-domain communication connection with the boundary routing units in other routing domains through the boundary routing units included in the routing domain, so that information transmission among different routing domains is realized.
As shown in fig. 2, the intra-domain routing unit includes a transceiver module, a control module, a data management queue, and a routing table module; the data management queue comprises a receiving queue and a sending queue; the routing table module stores a routing table; the receiving and sending module is used for receiving or sending data messages; the control module is used for controlling the receiving and sending module to insert the received data message into the receiving queue; and acquiring the data message to be transmitted from the transmission queue, and controlling the transceiver module to transmit the data message to be transmitted from the output port corresponding to the data message to be transmitted according to the data message to be transmitted and the routing table.
The routing table stores the routing entry forwarding information of all routing units in the routing domain. The table entry format of the routing table is shown in fig. 3. The entry content of the routing table specifically includes a source routing domain number, a source routing unit number, an input port number, a destination routing domain number, a destination routing unit number, and an output port number. The source routing domain number and the source routing unit number mark the initial routing domain and the initial routing unit of the current routing item. The destination routing field number and the destination routing element number mark the destination routing field and the destination routing element of the current routing entry. The input port number records the number of the input port when the pulse information enters the current routing unit, and the output port number records the number of the output port when the pulse information is transmitted from the current routing unit to the network.
In the embodiment of the present application, the content format of the data packet is as shown in fig. 4, where the data packet includes a source routing domain number, a source routing unit number, an input port number, burst data, a destination routing domain number, a destination routing unit number, and an output port number. The pulse information generated by the analog neuron is encapsulated into a data message with a format shown in fig. 3 for transmission when transmitted in the routing network. In the data message, the source routing domain number and the source routing unit number mark the initial routing domain and the initial routing unit of the current data message. The destination routing domain number and the destination routing unit number mark the destination routing domain and the destination routing unit of the current data message. The input port number records the number of the input port when the pulse information enters the current routing unit, and the output port number records the number of the output port when the pulse information is transmitted from the current routing unit to the network. The pulse information records the number of pulses generated by the simulated neurons. As shown in fig. 4, the data packet may further include an additional entry field, where the additional entry is used to record other additional information of the data packet, such as a timestamp, and a user may flexibly set specific content included in the additional entry field.
The intra-domain routing unit is mainly used for transmitting the intra-domain information of the routing. The receiving and sending module is mainly responsible for managing all receiving and sending ports of the routing units in the domain, receiving data messages sent by other routing units and sending the data messages which are ready for output out from the specified ports. The control module is mainly responsible for generating various control signals, controlling the transceiving module to receive or send data messages, controlling the reading and writing of the data management queue, searching corresponding output ports in the routing table according to the destination routing unit number included in the data messages and the like. The routing table module stores a routing table, and the routing table records the routing entry forwarding information of all routing units in the routing domain. The data management queue is used for storing data messages received from the transceiver module and comprises a receiving queue and a sending queue, wherein the receiving queue mainly stores the data messages received by the transceiver module and coming from the routing units in other domains, and the sending queue mainly stores the data messages prepared by the transceiver module to be sent to the routing units in other domains. When sending data message, the control module searches the output port number corresponding to the data message in the routing table according to the destination routing unit number included in the data message, and controls the transceiver module to send the data message from the port designated by the output port number to the intra-domain interconnection network for transmission.
Referring to fig. 5, the border routing unit includes a transceiver module, a control module, a data management queue, and a routing table module; the data management queue comprises a classification unit, an intra-domain data queue and an inter-domain data queue. The inter-domain data queue comprises a receiving queue and a sending queue. The routing table module stores a routing table, and the routing table comprises an intra-domain routing table and an inter-domain routing table. And the receiving and sending module is used for receiving or sending the data message. The control module is used for controlling the classification unit to determine the type of the data message received by the receiving and sending module; inserting the received data message into an intra-domain receiving queue or an inter-domain receiving queue according to the type; and acquiring the data message to be transmitted from the intra-domain transmission queue and/or the inter-domain transmission queue, and controlling the transceiver module to transmit the data message to be transmitted from the output port corresponding to the data message to be transmitted according to the data message to be transmitted and the routing table.
The boundary routing unit is responsible for completing the pulse information transmission in the routing domain and simultaneously completing the pulse information transmission with the routing units in other routing domains. The receiving and sending module of the boundary routing unit is mainly responsible for managing all receiving and sending ports of the boundary routing unit, receiving data messages sent by other routing units in the routing domain or the boundary routing units of other routing domains, and sending the data messages which are ready for output out from the designated ports. The control module of the boundary routing unit is mainly responsible for generating various control signals, controlling the receiving and sending module to receive or send data messages, controlling the reading and writing of the data management queue, searching the corresponding output port in the routing table according to the number of the target routing unit included in the data messages, and the like. The routing table module of the boundary routing unit is composed of an intra-domain routing table and an inter-domain routing table, the intra-domain routing table records the routing item forwarding information of the routing unit in the local routing domain and the routing units in other domains, and the inter-domain routing table records the routing item forwarding information of the routing unit and the boundary routing units in other routing domains.
The data management queue of the boundary routing unit is used for storing the data messages received from the transceiver module, the data management queue is divided into an intra-domain data queue and an inter-domain data queue, the data messages transmitted from the transceiver module are classified by the classification unit according to whether the destination routing domain number included in the data messages is the same as the domain number of the routing domain to which the local routing belongs, and the data messages are respectively transmitted to different data queues, wherein the data messages transmitted in the local routing domain are transmitted to the intra-domain data queue, and the data messages required to be transmitted to other routing domains are transmitted to the inter-domain data queue. Both intra-domain data queues and inter-domain data queues contain two types of queues: a receive queue and a transmit queue. In the intra-domain data queue, the receiving queue mainly stores data messages received by the transceiver module from other intra-domain routing units, and the sending queue mainly stores data messages prepared by the transceiver module to be sent to other intra-domain routing units. In the inter-domain data queue, the receiving queue mainly stores the data messages received by the transceiver module from the boundary routing units of other routing domains, and the sending queue mainly stores the data messages prepared by the transceiver module to be sent to other boundary routing units.
In the embodiment of the present application, the characteristics of the human brain function partition are fully considered, the analog neurons that complete different functions are divided into a plurality of functional regions, each functional region may be equipped with one routing domain as described in the embodiment of the present application, information transfer between different functional regions may be performed through a network structure of a second preset dimension between different routing domains, concurrent execution of pulse information transfer between different analog neurons within the functional regions and pulse information transfer between different functional regions is achieved, mutual interference between information transfer within the functional regions and information transfer between the functional regions is avoided, and it is advantageous to increase the information transfer speed between the analog neurons, thereby achieving ultra-large scale interconnection communication of the analog neurons.
The embodiment of the application partitions the analog neurons and provides the routing domains for the analog neurons in the same region, so that the distributed storage of the neuron routing information is realized, each intra-domain routing unit only needs to store the routing information reaching other routing units in the local routing domain, and each boundary routing unit only needs to store the routing information reaching other routing units in the local routing domain and reaching the boundary routing units of other adjacent routing domains, thereby being beneficial to reducing the storage cost of network information. And each routing domain is provided with a boundary routing unit for pulse information transmission between the routing domains, so that the routing transmission cost between the routing domains is reduced. The data management queue inside the boundary routing unit distinguishes the intra-domain data queue and the inter-domain data queue, so that the parallelism of information transmission in the routing domain and between the routing domains can be realized, and the transmission efficiency of the neural network can be improved.
An embodiment of the present application provides a routing system, see fig. 6, where the routing system includes a plurality of routing domains described in the foregoing embodiments; and the boundary routing units in each routing domain adopt a network structure with a second preset dimension to carry out inter-domain communication connection.
Of which only 4 routing domains are schematically drawn in fig. 6. The network structure of the second preset dimension may be a 2D msesh network, a 3D Torus network, a 4D network, or a 5D network, etc. The specific dimension of the network structure of the second predetermined dimension is related to the size of the routing system, and the larger the number of routing domains included in the routing system, the higher the network structure of the second predetermined dimension may be. The embodiment of the present application does not limit the specific dimension of the network structure with the second preset dimension, and the specific dimension can be determined according to requirements in practical application.
In the embodiment of the present application, the large-scale neuron routing switching structure divides all routing units into a plurality of routing domains according to different functions of analog neurons, as shown in fig. 7, the routing units in each routing domain are connected by using an intra-domain network structure, so as to implement intra-domain information interaction. In order to realize the fast exchange of information in the routing domain, the intra-domain network structure shown in fig. 6 uses a 3d port network structure for connection. The routing units in the routing domain are divided into intra-domain routing units and boundary routing units according to different functions, the intra-domain routing units are mainly responsible for information exchange among the routing units in the routing domain, each routing domain is internally provided with at least one boundary routing unit, and the boundary routing units need to complete the routing exchange among different routing domains besides completing the information exchange in the routing domains, so that the information of the routing domain is sent to other routing domains or received from other routing domains. The border routing units of all routing domains are connected through an inter-domain routing network and are used for realizing the routing information exchange among different domains. As shown in fig. 8, the inter-domain routing networks are connected by using a 2d mesh network structure, which facilitates the rapid exchange of routing information.
In the embodiment of the present application, the characteristics of the human brain function partition are fully considered, the analog neurons that complete different functions are divided into a plurality of functional regions, each functional region may be equipped with one routing domain as described in the embodiment of the present application, information transfer between different functional regions may be performed through a network structure of a second preset dimension between different routing domains, concurrent execution of pulse information transfer between different analog neurons within the functional regions and pulse information transfer between different functional regions is achieved, mutual interference between information transfer within the functional regions and information transfer between the functional regions is avoided, and it is advantageous to increase the information transfer speed between the analog neurons, thereby achieving ultra-large scale interconnection communication of the analog neurons.
The embodiment of the application partitions the analog neurons and provides the routing domains for the analog neurons in the same region, so that the distributed storage of the neuron routing information is realized, each intra-domain routing unit only needs to store the routing information reaching other routing units in the local routing domain, and each boundary routing unit only needs to store the routing information reaching other routing units in the local routing domain and reaching the boundary routing units of other adjacent routing domains, thereby being beneficial to reducing the storage cost of network information. And each routing domain is provided with a boundary routing unit for pulse information transmission between the routing domains, so that the routing transmission cost between the routing domains is reduced. The data management queue inside the boundary routing unit distinguishes the intra-domain data queue and the inter-domain data queue, so that the parallelism of information transmission in the routing domain and between the routing domains can be realized, and the transmission efficiency of the analog neuron network can be improved.
An embodiment of the present application provides a brain-like chip, see fig. 9, where the brain-like chip includes a plurality of analog neurons, a plurality of storage units, and the routing system described in the foregoing embodiment;
the analog neurons correspond to the storage unit and the routing units in the routing system one by one respectively; the analog neuron is respectively in communication connection with the corresponding storage unit and the routing unit; the storage unit is used for storing pulse data received or sent by the analog neuron connected with the storage unit; the routing unit is an intra-domain routing unit or a boundary routing unit and is used for realizing communication between the simulation neuron connected with the routing unit and other simulation neurons.
The embodiment of the application realizes the interconnection communication among a large number of analog neurons in a brain-like chip, as shown in fig. 9, the brain-like chip comprises a large number of analog neurons, the analog neurons are mainly used for completing the calculation of membrane potential, each analog neuron is connected with an independent storage unit and a routing unit, the storage unit simulates synapses of the connected neurons in a human brain, the storage unit is used for storing pulse values and weights received or sent by the analog neurons, and the weights corresponding to the pulse values generated by the analog neurons with different functions are different. The routing unit simulates axons connected with the neurons in the human brain, and is used for transmitting information to other simulated neurons, namely, the information communication between the simulated neurons is realized. The routing units of all the simulation neurons form a huge routing system, and information interaction among different simulation neurons is realized through a routing exchange structure of the routing system.
The brain-like chip provided by the embodiment of the present application and the routing domain and the routing system provided by the embodiment of the present application have the same inventive concept and the same beneficial effects as those of the routing domain and the routing system adopted, operated or realized.
The embodiment of the present application provides a method for receiving a data packet applied to a routing system described in the above embodiment, referring to fig. 10, where the method specifically includes the following steps:
step 1001: a data packet is received from an input port.
The transceiver module of the routing unit receives the data packet from the input port. The routing unit may be an intradomain routing unit or a border routing unit. The input ports are divided into network input ports and local input ports. For the intra-domain routing unit, the network input port mainly receives data messages from other routing units in the routing domain to which the intra-domain routing unit belongs; the local input port mainly receives data messages generated by a local routing unit, namely data messages generated by an analog neuron connected with the routing unit in the domain. For the boundary routing unit, the network input port mainly receives data messages from other routing units in the routing domain to which the boundary routing unit belongs, and receives data messages from routing units in other routing domains; the local input port mainly receives data messages generated by the local routing unit, namely data messages generated by the simulation neuron connected with the boundary routing unit.
Step 1002: if the local routing unit is an intra-domain routing unit, updating a port field of the data message; and inserting the data message into a sending queue.
In the embodiment of the present application, a category identifier for identifying the routing unit is further set in the routing unit, and the category of the routing unit includes an intra-domain routing unit or a boundary routing unit, for example, the intra-domain routing unit is represented by the category identifier 001, the boundary routing unit is represented by the category identifier 000, and the like. The intra-domain routing unit and the border routing unit can also be distinguished by the ID (Identity) of the routing unit. After receiving the data message, the routing unit may further determine whether the routing unit is an intra-domain routing unit or a border routing unit according to a locally set category identifier or according to its own ID.
And if the local routing unit is judged to be the intra-domain routing unit, writing the input port number corresponding to the input port for receiving the data message into the input port number field included in the data message. And then inserting the data message into the tail of a receiving queue of the data management queue for queuing, and waiting for the control module of the local routing unit to process the message. The control module reads a data message from the head of the receiving queue, simultaneously matches a destination routing domain number and a destination routing unit number in the data message in a routing table according to the destination routing domain number and the destination routing unit number included in the data message, and searches a corresponding output port number from the routing table. And writing the searched output port number into an output port number field included in the data message.
After the port field of the data message is updated in the above manner, the data message is inserted into the queue tail of the transmission queue to wait for the transceiver module to transmit, and the data message receiving process of the intra-domain routing unit is finished.
Step 1003: if the local routing unit is a boundary routing unit, determining the type of the data message according to a local routing domain to which the boundary routing unit belongs and a destination routing domain number included in the data message; and updating the port field of the data message, and inserting the data message into the sending queue corresponding to the type.
If the local routing unit judges that the local routing unit is the boundary routing unit according to the locally set category identifier or the self ID, the data message is transmitted to the classification unit of the data management queue for classification judgment. Specifically, the type of the data packet is determined according to the local routing domain to which the border routing unit belongs and the destination routing domain number included in the data packet, and the type of the data packet includes an intra-domain packet or an inter-domain packet. And judging whether the destination routing domain is the same as the local routing domain to which the local routing unit belongs according to the local routing domain to which the local routing unit belongs and the destination routing domain number included in the data message, if so, determining that the data message is an intra-domain message, and if not, determining that the data message is an inter-domain message.
After receiving the data packet from the input port, the local routing unit writes the input port number corresponding to the input port into the input port number field included in the data packet.
If the data message is determined to be the intra-domain message through the method, the data message is inserted into the tail of the receiving queue included in the intra-domain data queue for queuing, and the control module is waited for processing. The control module reads a data message from the head of the receiving queue, simultaneously matches a destination routing domain number and a destination routing unit number in a routing table in a domain according to the destination routing domain number and the destination routing unit number included in the read data message, searches a corresponding output port number from the routing table in the domain, and writes the output port number into an output port number field included in the data message. After the port field in the data message is updated in the above manner, the data message is taken out from the receiving queue, inserted into the sending queue of the data management queue to wait for the sending and receiving module to send, and the process of receiving the data message in the domain by the boundary routing unit is finished.
And if the data message is determined to be the inter-domain data message in the above way, inserting the data message into the tail of the receiving queue in the inter-domain data queue for queuing, and waiting for the control module to process. The control module reads a data message from the head of the receiving queue, simultaneously matches a destination routing domain number and a destination routing unit number in an inter-domain routing table included in the routing table according to the destination routing domain number and the destination routing unit number included in the read data message, searches a corresponding output port number from the inter-domain routing table, and writes the output port number into an output port number field included in the data message. After the port field in the data message is updated in the above manner, the data message is taken out from the receiving queue, inserted into the sending queue of the data management queue to wait for the sending and receiving module to send, and the process of receiving the inter-domain data message by the boundary routing unit is finished.
In order to facilitate understanding of the receiving process of the data packet provided in the embodiment of the present application, the following description is made in detail with reference to the accompanying drawings. As shown in fig. 11, a 1: the transceiver module of the routing unit receives the data packet from the input port. A2: and updating the input port number of the data message. A3: and judging whether the local routing unit is the boundary routing unit, if not, executing A4, and if so, executing A8. A4: and sending the data message to a receiving queue of a data management queue for queuing. A5: and the control module performs matching search in the routing table module according to the destination routing domain number and the destination routing unit number of the data message. A6: and updating the output port number in the data message. A7: and sending the data message into a sending queue of a data management queue to wait for a transceiving module to send. A8: and sending the data message to a classification unit of a data management queue for classification judgment. A9: and judging whether the destination routing domain of the data message is the same as the local routing domain, if so, executing A10, and if not, executing A14. A10: and sending the data message to a receiving queue of the intra-domain data queue for queuing. A11: and the control module performs matching search in the routing table in the domain of the routing table module according to the destination routing domain number and the destination routing unit number of the data message. A12: and updating the output port number in the data message. A13: and sending the data message into a sending queue of an intra-domain data queue in the data management queue to wait for the sending and receiving module to send. A14: and sending the data message to a receiving queue of an inter-domain data queue for queuing. A15: the control module carries out matching search in the inter-domain routing table of the routing table module according to the destination routing domain number and the destination routing unit number of the data message. A16: and updating the output port number in the data message. A17: and sending the data message into a sending queue of an inter-domain data queue in a data management queue to wait for a receiving and sending module to send.
The data message receiving method provided by the embodiment of the application and the routing domain and the routing system provided by the embodiment of the application have the same inventive concept and the same beneficial effects as those of the method, the method and the system adopted, operated or realized.
An embodiment of the present application provides a data packet sending method applied to the routing system described in the foregoing embodiment, with reference to fig. 12, where the method specifically includes the following steps:
step 1201: if the local routing unit is an intra-domain routing unit, reading a data message to be sent from the sending queue; and sending the data message from the output port corresponding to the output port number included in the data message.
In the embodiment of the present application, a category identifier for identifying the routing unit is further set in the routing unit, and the category of the routing unit includes an intra-domain routing unit or a boundary routing unit, for example, the intra-domain routing unit is represented by the category identifier 001, the boundary routing unit is represented by the category identifier 000, and the like. The intra-domain routing unit and the border routing unit may also be distinguished by the routing unit's ID. After receiving the data message, the routing unit may further determine whether the routing unit is an intra-domain routing unit or a border routing unit according to a locally set category identifier or according to its own ID.
And if the local routing unit is judged to be the intra-domain routing unit, reading the data message to be sent from the head of the sending queue of the data management queue. And sending the data message from an output port corresponding to the output port number included in the data message.
Specifically, whether the output port number of the data packet is a local port is determined, and if so, the destination routing unit of the data packet is determined to be the local routing unit, that is, the data packet is sent to the analog neuron connected to the local routing unit. And sending the data message to a local analog neuron connected with the routing unit from an output port corresponding to the output port number of the data message, wherein the analog neuron performs pulse data calculation on the data message, and the sending process of the data message is finished. If the output port number of the data message is judged not to be the local port number, the data message is sent out from the output port corresponding to the output port number of the data message, and the subsequent data message is continuously transmitted in the intra-domain network corresponding to the routing domain to which the routing unit belongs, so that the sending process of the routing unit to the data message is finished.
Step 1202: if the local routing unit is a boundary routing unit, reading a data message to be sent from an intra-domain sending queue and/or an inter-domain sending queue; and sending the data message from the output port corresponding to the output port number included in the data message.
And if the local routing unit judges that the local routing unit is the boundary routing unit according to the locally set category identifier or the ID of the local routing unit, reading the data message to be sent from the intra-domain sending queue and/or the inter-domain sending queue. According to the data message reading method and device, the data message can be read from the intra-domain sending queue and the inter-domain sending queue of the data management queue at the same time. Because the data messages in the intra-domain sending queue and the inter-domain sending queue can be sent to different networks for transmission, the data messages can be processed concurrently, and the transmission efficiency of the analog neuron network is improved.
After reading a data message, the control module judges whether the data message is an intra-domain message or an inter-domain message according to a routing domain to which the local routing unit belongs and a source routing domain number in the data message. If the data packet is determined to be an intra-domain packet, the processing procedure of the data packet is the same as the processing procedure of the data packet to be sent by the intra-domain routing unit, which is not described herein again. If the data message is judged to be the inter-domain message, the data message is sent out from the output port corresponding to the output port number of the data message, and the subsequent data message is continuously transmitted in the inter-domain network until the sending process of the data message by the local routing unit is finished.
In order to facilitate understanding of the receiving process of the data packet provided in the embodiment of the present application, the following description is made in detail with reference to the accompanying drawings. As shown in fig. 13, B1: judging whether the routing unit is a boundary routing unit or not, if so, executing B7; otherwise, B2 is executed. B2: and reading the data message from the sending queue of the data management queue. B3: judging whether the output port number of the data message is a local port, if so, executing B4; otherwise, B5 is executed. B4: and sending the data message to a local neuron for pulse data calculation. B5: and sending the data message to a designated port for output according to the output port number. B6: and the data message enters the intra-domain network for continuous transmission. B7: and simultaneously reading data messages from the intra-domain data queue of the data management queue and the sending queue of the inter-domain data queue. B8: judging whether the data message is a data message in the domain, if so, returning to execute B3; if not, B9 is executed. B9: and sending the data message to a designated port for output according to the output port number. B10: and the data message enters the inter-domain network to be continuously transmitted.
The data message sending method provided by the embodiment of the application and the routing domain and the routing system provided by the embodiment of the application have the same inventive concept and the same beneficial effects as those of the method, the method and the system adopted, operated or realized.
The embodiment of the present application further provides an electronic device corresponding to the data message receiving method and the data message sending method provided in the foregoing embodiment, so as to execute the foregoing method.
Please refer to fig. 14, which illustrates a schematic diagram of an electronic device according to some embodiments of the present application. As shown in fig. 14, the electronic apparatus 2 includes: the system comprises a processor 200, a memory 201, a bus 202 and a communication interface 203, wherein the processor 200, the communication interface 203 and the memory 201 are connected through the bus 202; the memory 201 stores a computer program that can be executed on the processor 200, and the processor 200 executes the data packet receiving method and the data packet transmitting method according to any of the foregoing embodiments when executing the computer program.
The Memory 201 may include a high-speed Random Access Memory (RAM) and may further include a non-volatile Memory (non-volatile Memory), such as at least one disk Memory. The communication connection between the network element of the system and at least one other network element is realized through at least one communication interface 203 (which may be wired or wireless), and the internet, a wide area network, a local network, a metropolitan area network, and the like can be used.
Bus 202 can be an ISA bus, PCI bus, EISA bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. The memory 201 is configured to store a program, and the processor 200 executes the program after receiving an execution instruction, and the data packet receiving method and the data packet sending method disclosed in any embodiment of the foregoing application may be applied to the processor 200, or implemented by the processor 200.
The processor 200 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 200. The Processor 200 may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; but may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in the memory 201, and the processor 200 reads the information in the memory 201 and completes the steps of the method in combination with the hardware thereof.
The electronic device provided by the embodiment of the present application, the data message receiving method and the data message sending method provided by the embodiment of the present application, are based on the same inventive concept, and have the same beneficial effects as the method adopted, operated or implemented by the electronic device.
Referring to fig. 15, the computer readable storage medium shown is an optical disc 30, and a computer program (i.e., a program product) is stored thereon, and when being executed by a processor, the computer program may execute the data message receiving method and the data message transmitting method provided in any of the foregoing embodiments.
It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory, or other optical and magnetic storage media, which are not described in detail herein.
The computer-readable storage medium provided by the above embodiment of the present application, the data message receiving method and the data message sending method provided by the embodiment of the present application, are based on the same inventive concept, and have the same beneficial effects as methods adopted, operated or implemented by application programs stored in the computer-readable storage medium.
It should be noted that:
the algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose devices may be used with the teachings herein. The required structure for constructing such a device will be apparent from the description above. In addition, this application is not directed to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present application as described herein, and any descriptions of specific languages are provided above to disclose the best modes of the present application.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the application, various features of the application are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the application and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this application.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the application and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the present application may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components in the creation apparatus of a virtual machine according to embodiments of the present application. The present application may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present application may be stored on a computer readable medium or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
The above description is only for the preferred embodiment of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present application should be covered within the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (9)

1. A routing system comprising at least one routing domain, said routing domain comprising an intradomain routing element and a border routing element;
in the same routing domain, both the intra-domain routing unit and the boundary routing unit are respectively connected with corresponding analog neurons, and the intra-domain routing unit and the boundary routing unit are in intra-domain communication connection by adopting a network structure with a first preset dimension;
the border routing units and the border routing units in other routing domains adopt a network structure with a second preset dimension to carry out inter-domain communication connection;
the data management queue in the boundary routing unit comprises an intra-domain data queue and an inter-domain data queue, and information in a routing domain and information between routing domains are transmitted in parallel through the intra-domain data queue and the inter-domain data queue.
2. The routing system of claim 1, wherein the intra-domain routing unit comprises a transceiver module, a control module, a data management queue, and a routing table module;
the data management queue comprises a receiving queue and a sending queue; the routing table module stores a routing table; the receiving and sending module is used for receiving or sending a data message;
the control module is used for controlling the receiving and sending module to insert the received data message into the receiving queue; and acquiring the data message to be transmitted from the transmission queue, and controlling the transceiver module to transmit the data message to be transmitted from an output port corresponding to the data message to be transmitted according to the data message to be transmitted and the routing table.
3. The routing system of claim 1, wherein the border routing unit comprises a transceiver module, a control module, a data management queue, and a routing table module;
the data management queue comprises a classification unit, an intra-domain receiving queue, an intra-domain sending queue, an inter-domain receiving queue and an inter-domain sending queue; the routing table module stores a routing table; the receiving and sending module is used for receiving or sending a data message;
the control module is used for controlling the classification unit to determine the type of the data message received by the transceiver module; inserting the received data message into the intra-domain receiving queue or the inter-domain receiving queue according to the type; and acquiring a data message to be transmitted from the intra-domain transmission queue and/or the inter-domain transmission queue, and controlling the transceiver module to transmit the data message to be transmitted from an output port corresponding to the data message to be transmitted according to the data message to be transmitted and the routing table.
4. The routing system according to claim 2 or 3, wherein the data packet includes a source routing domain number, a source routing unit number, an input port number, burst data, a destination routing domain number, a destination routing unit number, and an output port number; and/or the presence of a gas in the gas,
the routing table includes a source routing domain number, a source routing unit number, an input port number, a destination routing domain number, a destination routing unit number, and an output port number.
5. A brain-like chip comprising a plurality of analog neurons, a plurality of memory cells, and the routing system of any one of claims 1-4;
the simulation neurons respectively correspond to the storage unit and the routing units in the routing system one by one; the analog neuron is respectively in communication connection with the corresponding storage unit and the corresponding routing unit;
the storage unit is used for storing pulse data received or sent by the analog neuron connected with the storage unit;
the routing unit is an intra-domain routing unit or a boundary routing unit and is used for realizing communication between the simulation neuron connected with the routing unit and other simulation neurons.
6. A method for receiving data packets, applied to the routing system according to any of claims 1 to 4, characterized in that the method comprises:
receiving a data message from an input port;
if the local routing unit is an intra-domain routing unit, updating the port field of the data message; inserting the data message into a sending queue;
if the local routing unit is a boundary routing unit, determining the type of the data message according to a local routing domain to which the boundary routing unit belongs and a destination routing domain number included in the data message; and updating the port field of the data message, and inserting the data message into the sending queue corresponding to the type.
7. The method of claim 6, wherein updating the port field of the datagram comprises:
writing the input port number corresponding to the input port into an input port number field included in the data message;
searching a corresponding output port number from a routing table according to a destination routing domain number and a destination routing unit number which are included in the data message;
and writing the output port number into an output port number field included in the data message.
8. A method for sending data packets, applied to the routing system according to any of claims 1 to 4, the method comprising:
if the local routing unit is an intra-domain routing unit, reading a data message to be sent from the sending queue; sending the data message from an output port corresponding to an output port number included in the data message;
if the local routing unit is a boundary routing unit, reading a data message to be sent from an intra-domain sending queue and/or an inter-domain sending queue; and sending the data message from an output port corresponding to the output port number included in the data message.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor executes the computer program to implement the method of any one of claims 6-8.
CN202010231196.0A 2020-03-27 2020-03-27 Brain-like chip routing system data communication method based on routing domain division Active CN111565152B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010231196.0A CN111565152B (en) 2020-03-27 2020-03-27 Brain-like chip routing system data communication method based on routing domain division

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010231196.0A CN111565152B (en) 2020-03-27 2020-03-27 Brain-like chip routing system data communication method based on routing domain division

Publications (2)

Publication Number Publication Date
CN111565152A CN111565152A (en) 2020-08-21
CN111565152B true CN111565152B (en) 2022-04-29

Family

ID=72072986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010231196.0A Active CN111565152B (en) 2020-03-27 2020-03-27 Brain-like chip routing system data communication method based on routing domain division

Country Status (1)

Country Link
CN (1) CN111565152B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149815B (en) * 2020-09-28 2023-04-18 复旦大学 Population clustering and population routing method for large-scale brain-like computing network
CN112783261B (en) * 2021-01-13 2023-03-28 之江实验室 Asynchronous communication interconnection architecture and brain-like chip with same
CN114338506B (en) * 2022-03-15 2022-08-05 之江实验室 Neural task on-chip routing method and device of brain-like computer operating system
CN115099395B (en) * 2022-08-25 2022-11-15 北京灵汐科技有限公司 Neural network construction method, device, equipment and medium
CN116720560B (en) * 2023-07-13 2023-12-01 中电海康集团有限公司 Brain-like system based on many-core processing unit and data processing method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354694A (en) * 2007-07-26 2009-01-28 上海红神信息技术有限公司 Ultra-high expanding super computing system based on MPU structure

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523166B (en) * 2011-12-23 2014-10-01 中山大学 Structured network system applicable to future internet
CN105095967B (en) * 2015-07-16 2018-02-16 清华大学 A kind of multi-modal neuromorphic network core
CN106201651A (en) * 2016-06-27 2016-12-07 鄞州浙江清华长三角研究院创新中心 The simulator of neuromorphic chip
CN106650922B (en) * 2016-09-29 2019-05-03 清华大学 Hardware neural network conversion method, computing device, software and hardware cooperative system
CN110163016B (en) * 2019-04-29 2021-08-03 清华大学 Hybrid computing system and hybrid computing method
CN110213165B (en) * 2019-06-05 2021-04-13 北京灵汐科技有限公司 Heterogeneous cooperative system and communication method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354694A (en) * 2007-07-26 2009-01-28 上海红神信息技术有限公司 Ultra-high expanding super computing system based on MPU structure

Also Published As

Publication number Publication date
CN111565152A (en) 2020-08-21

Similar Documents

Publication Publication Date Title
CN111565152B (en) Brain-like chip routing system data communication method based on routing domain division
US11294599B1 (en) Registers for restricted memory
JP6857286B2 (en) Improved performance of neural network arrays
US11347480B2 (en) Transpose operations using processing element array
US20210295168A1 (en) Gradient compression for distributed training
US11676021B1 (en) Multi-model training pipeline in distributed systems
CN110046704A (en) Depth network accelerating method, device, equipment and storage medium based on data flow
CN111465943A (en) On-chip computing network
CN103870335B (en) System and method for efficient resource management of signal flow programmed digital signal processor code
JP2021507345A (en) Fusion of sparse kernels to approximate the complete kernel of convolutional neural networks
Bruel et al. Generalize or die: Operating systems support for memristor-based accelerators
WO2019185634A1 (en) Block transfer of neuron output values through data memory for neurosynaptic processors
WO2020264335A1 (en) Neural network layer-by-layer debugging
CN108805277A (en) Depth belief network based on more FPGA accelerates platform and its design method
US11941528B2 (en) Neural network training in a distributed system
CN110442753A (en) A kind of chart database auto-creating method and device based on OPC UA
Gonçalves et al. Exploring data size to run convolutional neural networks in low density fpgas
US11531578B1 (en) Profiling and debugging for remote neural network execution
US11748622B1 (en) Saving intermediate outputs of a neural network
Barchi et al. An efficient mpi implementation for multi-coreneuromorphic platforms
Huang Partitioning data across multiple, network connected FPGAs with high bandwidth memory to accelerate non-streaming applications
US11550736B1 (en) Tensorized direct memory access descriptors
US11748253B1 (en) Address generation for page collision prevention in memory regions
US11789859B1 (en) Address generation for page collision prevention
US11188302B1 (en) Top value computation on an integrated circuit device

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