Deep learning acceleration method and device, chip, computing device, storage medium

By introducing mailbox groups and data buffer groups into deep learning accelerators and utilizing data buses and auxiliary lines for connection, the problem of complex data interaction in the computing layer in existing technologies is solved, achieving a simpler layout and more efficient configuration.

CN113887715BActive Publication Date: 2025-12-12GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111161560.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-30
Publication Date
2025-12-12
Estimated Expiration
2041-09-30

AI Technical Summary

Technical Problem

Existing deep learning accelerators suffer from complex data interactions between computational layers, poor configuration flexibility, and low efficiency during the construction process.

Method used

It adopts a structure of mailbox groups and data buffer groups, connects each module through a data bus and data auxiliary lines, and determines management configuration information based on a preset neural network structure to realize flexible connection and data interaction between modules.

Benefits of technology

It simplifies the module layout, reduces the number of components, and improves the flexibility and efficiency of configuration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113887715B_ABST
    Figure CN113887715B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a deep learning acceleration method and device, a chip, a computing device and a storage medium. The deep learning accelerator comprises at least one data generation module, at least one data consumption module, a mailbox group comprising a plurality of mailbox modules, and a data buffer group comprising a plurality of data buffer areas. Each mailbox module in the mailbox group corresponds to a data buffer area in the data buffer group. Based on the management configuration information determined based on the network structure of a preset neural network executed on the deep learning accelerator, each mailbox module in the mailbox group is connected with the corresponding data generation module, data consumption module and data buffer area respectively, and each data buffer area in the data buffer group is also connected with the data generation module and the data consumption module of the corresponding same mailbox module respectively.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the technical field of data caching, in particular to a deep learning acceleration method and device, chip, computing device and storage medium. BACKGROUND

[0002] With the exploration of artificial intelligence network becoming more and more in-depth, the structure of algorithm network also becomes more and more diversified. From the algorithm level, the artificial intelligence network is composed of multiple computing nodes. For each computing layer, the input comes from the output result of the previous computing layer. The computing layer includes convolution, pooling, activation, size scaling and other operations.

[0003] At present, with the more complex data interaction between each algorithm layer in the algorithm network, based on the existing synchronization mechanism between single computing layers, it is difficult to construct a deep learning accelerator with complex layout, poor flexibility and low efficiency. SUMMARY

[0004] Embodiments of the present application provide a deep learning acceleration method and device, chip, computing device and storage medium.

[0005] The technical solution of the embodiments of the present application is as follows:

[0006] The embodiments of the present application provide a deep learning accelerator, comprising:

[0007] at least one data generation module;

[0008] at least one data consumption module;

[0009] a mailbox group comprising a plurality of mailbox modules;

[0010] a data buffer group comprising a plurality of data buffers, each mailbox module in the mailbox group corresponding to a data buffer in the data buffer group;

[0011] wherein, based on the management configuration information determined according to the network structure of the preset neural network executed on the deep learning accelerator, the mailbox group is configured to:

[0012] each mailbox module in the mailbox group is connected with the corresponding data generation module, data consumption module and data buffer respectively, for interacting with the corresponding data generation module and data consumption module, and the relevant information of the corresponding data buffer; and

[0013] each data buffer in the data buffer group is also connected with the data generation module and the data consumption module of the corresponding same mailbox module respectively, supporting the data write operation of the data generation module of the corresponding same mailbox module and the data read operation of the data consumption module.

[0014] In the deep learning accelerator, a data bus is further included.

[0015] The mailbox group, the data generation module and the data consumption module corresponding to each mailbox module in the mailbox group, and the data buffer group are connected through the data bus.

[0016] In the deep learning accelerator, each data buffer area in the data buffer group receives data transmitted by the data generation module corresponding to the same mailbox module through the data bus and stores the data.

[0017] Each data buffer area in the data buffer group provides readable data for the data consumption module corresponding to the same mailbox module through the data bus.

[0018] In the deep learning accelerator, a data auxiliary line is further included.

[0019] The mailbox group, and the data generation module and the data consumption module corresponding to each mailbox module in the mailbox group are connected with the data auxiliary line respectively.

[0020] In the deep learning accelerator, each mailbox module in the mailbox group receives a write notification signal for the corresponding data buffer area sent by the corresponding data generation module through the data bus, and in response to the write notification signal, sends data occupancy state information of the corresponding data buffer area to the corresponding data generation module through the data auxiliary line.

[0021] In the deep learning accelerator, each mailbox module in the mailbox group receives a read notification signal for the corresponding data buffer area sent by the corresponding data consumption module through the data bus, and in response to the read notification signal, sends the storage data amount of the corresponding data buffer area to the corresponding data consumption module through the data auxiliary line.

[0022] Embodiments of the present application provide a deep learning acceleration method, applied to a deep learning accelerator, the deep learning accelerator comprising at least one data generation module, at least one data consumption module, a mailbox group and a data buffer group, the mailbox group comprising a plurality of mailbox modules, the data buffer group comprising a plurality of data buffer areas, each mailbox module in the mailbox group corresponding to a data buffer area in the data buffer group, the method comprising:

[0023] Based on the management configuration information determined based on the network structure of a preset neural network executed on the deep learning accelerator, the mailbox group is configured to:

[0024] Each mailbox module in the mailbox group is connected with a corresponding data generation module, a data consumption module and a data buffer, respectively, for interacting with the corresponding data generation module and the data consumption module, and for interacting with the corresponding data buffer.

[0025] Each data buffer in the data buffer group is also connected with the data generation module and the data consumption module of the same mailbox module, respectively, to support data write operation of the data generation module of the same mailbox module and data read operation of the data consumption module.

[0026] An embodiment of the present application provides a chip, comprising the deep learning accelerator.

[0027] An embodiment of the present application provides a computing device, comprising a processor, a memory and a communication bus.

[0028] The communication bus is configured to realize communication connection between the processor and the memory.

[0029] The processor is configured to execute one or more programs stored in the memory, so as to realize the deep learning acceleration method.

[0030] An embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to realize the deep learning acceleration method.

[0031] An embodiment of the present application provides a deep learning accelerator, comprising at least one data generation module, at least one data consumption module, a mailbox group comprising a plurality of mailbox modules, and a data buffer group comprising a plurality of data buffers, wherein each mailbox module in the mailbox group corresponds to a data buffer in the data buffer group; based on management configuration information determined according to a network structure of a preset neural network executed on the deep learning accelerator, the mailbox group is configured as follows: each mailbox module in the mailbox group is connected with a corresponding data generation module, a data consumption module and a data buffer, respectively, for interacting with the corresponding data generation module and the data consumption module, and for interacting with the corresponding data buffer; and each data buffer in the data buffer group is also connected with the data generation module and the data consumption module of the same mailbox module, respectively, to support data write operation of the data generation module of the same mailbox module and data read operation of the data consumption module. The deep learning accelerator provided in the embodiment of the present application can determine the module correspondence and the number of information by the set management configuration information, has simple layout, fewer devices, and high flexibility and efficiency of configuration. BRIEF DESCRIPTION OF DRAWINGS

[0032] Figure 1A structural schematic diagram of a deep learning accelerator provided by an embodiment of the present application is shown in FIG. 1.

[0033] Figure 2 An exemplary module connection schematic diagram provided by an embodiment of the present application is shown in FIG. 2.

[0034] Figure 3 An exemplary hardware connection schematic diagram provided by an embodiment of the present application is shown in FIG. 3.

[0035] Figure 4 A flow schematic diagram of a deep learning acceleration method provided by an embodiment of the present application is shown in FIG. 4.

[0036] Figure 5 A structural schematic diagram of a chip provided by an embodiment of the present application is shown in FIG. 5.

[0037] Figure 6 A structural schematic diagram of a computing device provided by an embodiment of the present application is shown in FIG. 6. DETAILED DESCRIPTION

[0038] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and do not limit the present application.

[0039] Figure 1 A structural schematic diagram of a deep learning accelerator provided by an embodiment of the present application is shown in FIG. 1. As shown in FIG. 1, in the embodiment of the present application, the deep learning accelerator 1 comprises: Figure 1

[0040] at least one data generation module 10;

[0041] at least one data consumption module 11;

[0042] a mailbox group 12 comprising a plurality of mailbox modules 120;

[0043] a data buffer group 13 comprising a plurality of data buffers 130, each mailbox module 120 in the mailbox group 12 corresponding to one data buffer 130 in the data buffer group 13;

[0044] wherein, based on the management configuration information determined based on the network structure of the preset neural network executed on the deep learning accelerator 1, the mailbox group 12 is configured to:

[0045] each mailbox module 120 in the mailbox group 12 is connected with the corresponding data generation module 10, data consumption module 11 and data buffer 130, respectively, for interacting with the corresponding data generation module 10 and data consumption module 11, and the relevant information of the corresponding data buffer 130; ​

[0046] Each data buffer 130 in the data buffer group 13 is also connected with the data generation module 10 and the data consumption module 11 corresponding to the same mailbox module 120, respectively, to support the data write operation of the data generation module 10 and the data read operation of the data consumption module 11 corresponding to the same mailbox module 120.

[0047] It should be noted that, in the embodiments of the present application, as shown in Figure 1 For one mailbox module 120 in the mailbox group 12, N data generation modules 10 and N data consumption modules 11 can be corresponded, and other mailbox modules 120 can also correspond to the same or different data generation modules 10 and data consumption modules 11, Figure 1 which are only exemplary corresponding relationship and connection relationship, and the specific embodiments of the present application are not limited. Wherein, N is a natural number greater than or equal to 1.

[0048] It should be noted that, in the embodiments of the present application, the deep learning accelerator 1 is used for data management of the preset neural network, wherein the network structure based on the preset application network can determine the management configuration information, and the management configuration information limits the number of mailbox modules 120 and the data generation modules 10 and data consumption modules 11 corresponding to each mailbox module 120. When the deep learning accelerator 1 is constructed, the number of mailbox modules 120 in the mailbox group 12 and the data generation modules 10 and data consumption modules 11 corresponding to each mailbox module 120 can be directly determined based on the management configuration information.

[0049] It should be noted that, in the embodiments of the present application, the management configuration information can be provided in the form of a table, as shown in Table 1 below.

[0050] Table 1

[0051] mailbox module data generation module data consumption module 1 1,2,3…N 1,2,3…N 2 1,2,3…N 1,2,3…N 3 1,2,3…N 1,2,3…N …… …… ……

[0052] As shown in Table 1, in the embodiments of the present application, the mailbox group 12 can include a large number of mailbox modules 120, wherein each mailbox module 120 can correspond to one or more data generation modules 10 and one or more data consumption modules 11. Specifically, for each mailbox module 120, the identifier of the corresponding data generation module 10 and the identifier of the corresponding data consumption module 11 can be defined, so that the corresponding data generation module 10 and data consumption module 11 hardware can be directly determined according to the identifier when the deep learning accelerator 1 is configured.

[0053] Figure 2 An exemplary module connection diagram is provided for the embodiments of the present application. As Figure 2As shown, in the embodiment of the present application, the N mailbox modules 120 included in the mailbox group 12, each mailbox module 120 in the N mailbox modules 120 corresponds to the same data generation module 10 and data consumption module 11, and each mailbox module 120 in the N mailbox modules 120 corresponds to the same data generation module 10 and data consumption module 11. Therefore, each mailbox module 120 can be connected to each module in the N data generation modules 10 and the N data consumption modules 11, respectively.

[0054] It should be noted that in the embodiment of the present application, the deep learning accelerator 1 further includes a data buffer group 13 corresponding to the mailbox group 12, and one data buffer 130 in the data buffer group 13 corresponds to one mailbox module 120 in the mailbox group 12. Therefore, the number of data buffers 130 in the data buffer group 13 is actually the same as the number of mailbox modules 130 in the mailbox group 12. In each pair of corresponding mailbox module 120 and data buffer 130, the mailbox module 120 is used to manage the data buffer 130.

[0055] It can be understood that in the embodiment of the present application, in the deep learning accelerator 1, each mailbox module 120 in the mailbox group 12 has a corresponding data buffer 130, data generation module 10 and data consumption module 11, which are respectively connected to the corresponding data buffer 130, data generation module 10 and data consumption module 11. Among them, for the case of multiple corresponding data generation modules 10 and data consumption modules 11, each data generation module 10 and data consumption module 11 is connected respectively. In this way, each mailbox module 120 can act as an intermediary to interact with the corresponding data generation module 10 and data consumption module 11 and the corresponding data buffer 130.

[0056] It should be noted that in the embodiment of the present application, each data buffer 130 is connected to the data generation module 10 and the data consumption module 11 of the corresponding same mailbox module 120, which is actually connected to the corresponding data generation module 10 and the data consumption module 11 of the corresponding mailbox module 120. That is, for each mailbox module 120, its corresponding data buffer 130 is also connected to its corresponding data generation module 10 and data consumption module 11, and its corresponding data buffer 130 allows its corresponding data generation module 10 and data consumption module 11 to perform corresponding data read and write operations.

[0057] It can be understood that in the embodiments of the present application, one data buffer 130 corresponds to one mailbox module 120, and one mailbox module 120 is provided with a corresponding data generation module 10 and a data consumption module 11. For the same mailbox module 120, its corresponding data buffer 130, the corresponding data generation module 10 and the data consumption module 11 are also corresponding, and can be connected respectively. In this way, the data generation module 10 and the data consumption module 11 can obtain the relevant information of the data buffer 130 by interacting with the mailbox module 120. When the data generation module 10 determines that data writing can be performed according to the obtained information, the generated data can be written into the data buffer 130. When the data consumption module 11 determines that data reading can be performed according to the obtained information, the required data can be read from the data buffer 130.

[0058] It should be noted that in the embodiments of the present application, as shown in Figure 2 In fact, each data buffer 130 corresponding to each mailbox module 120 needs to be connected to each data generation module 10 and each data consumption module 11 connected to the mailbox module 120, that is, the connection relationship is the same.

[0059] It should be noted that in the embodiments of the present application, in the case that the network structure of the preset neural network is relatively simple, the number of mailbox modules 120 defined by the management configuration information, and the information amount of each data generation module 10 and each data consumption module 11 corresponding to each mailbox module 120 are relatively small. It is relatively simple to realize the wiring between different modules and buffers according to the above defined connection relationship, but in the case that the network structure of the preset neural network is relatively complex, the modules and buffers that need to be wired are relatively more, and the layout and wiring are prone to timing and winding problems. In view of this, a data bus can be further introduced into the deep learning accelerator 1.

[0060] In the embodiments of the present application, the deep learning accelerator 1 further comprises a data bus;

[0061] The mailbox group 12, the data generation module 10 and the data consumption module 11 corresponding to each mailbox module 120 in the mailbox group 12, and the data buffer group 13 are connected through the data bus.

[0062] Figure 3 An exemplary hardware connection schematic diagram provided for the embodiments of the present application. As Figure 3As shown, the mailbox group 12, the data generation module 10 and the data consumption module 11 corresponding to each mailbox module 120, and the data buffer group 13 are connected on the data bus, so that each mailbox module 120 can be connected with the data generation module 10, the data consumption module 11 and the data buffer 130 corresponding to the same mailbox module 120 through the data bus, and each data buffer 130 can be connected with the data generation module 10 and the data consumption module 11 corresponding to the same mailbox module 120 through the data bus.

[0063] Specifically, in the embodiment of the present application, each data buffer 130 in the data buffer group 13 receives the data transmitted by the data generation module 10 corresponding to the same mailbox module 130 through the data bus and stores the data.

[0064] Each data buffer 130 in the data buffer group 13 provides readable data for the data consumption module 11 corresponding to the same mailbox module 130 through the data bus.

[0065] In the embodiment of the present application, the deep learning accelerator 1 further comprises a data auxiliary line.

[0066] The mailbox group 12 and the data generation module 10 and the data consumption module 11 corresponding to each mailbox module 130 in the mailbox group 12 are connected with the data auxiliary line.

[0067] It should be noted that in the embodiment of the present application, there are more hardware connected on the data bus and more transmission tasks involved, in order to ensure that the data generation module 10 and the data consumption module 11 corresponding to the mailbox module 120 can interact with the data buffer 130 corresponding to the mailbox module 120 as soon as possible to ensure the speed of data read-write response, therefore, the deep learning accelerator 1 can further be configured with a data auxiliary line, for example, Figure 3 As shown, the mailbox group 12 and the data generation module 10 and the data consumption module 11 corresponding to each mailbox module 120 in the mailbox group 12 are connected with the data auxiliary line, so that the transmission of information from each mailbox module 120 to the data generation module 10 and the data consumption module 11 corresponding to the same mailbox module 120 can be realized through the data auxiliary line.

[0068] Specifically, in the embodiment of the present application, each mailbox module 120 in the mailbox group 12 receives the write notification signal for the data buffer 130 corresponding to the same mailbox module 120 sent by the data generation module 10 through the data bus, and in response to the write notification signal, sends the data occupation state information of the data buffer 130 corresponding to the same mailbox module 120 to the data generation module 10 through the data auxiliary line.

[0069] It can be understood that in the embodiment of the present application, each mailbox module 120 corresponds to a data generation module 10, which actually corresponds to and is connected to the data buffer 130 corresponding to the mailbox module 120. The data generation module 10 corresponding to each mailbox module 130 can write the generated data to the data buffer 130 corresponding to the same mailbox module 120. Before data is written to the corresponding data buffer 130, a data write operation needs to be notified, and the signal for notification is a write notification signal. The specific notification method is to send a write notification signal to the corresponding mailbox module 120 through the data bus.

[0070] It can be understood that in the embodiment of the present application, each mailbox module 120 can respond to the write notification signal when it receives the write notification signal sent by the corresponding data generation module 10 through the data bus. In order to ensure fast response, the data occupation state information of the corresponding data buffer 130 is sent to the corresponding data generation module 10 through the data auxiliary line.

[0071] It should be noted that in the embodiment of the present application, the write notification signal can include two types of signals. One is a first write signal indicating that a data write operation will be performed, and the other is a second write signal indicating that a certain space is reserved in the corresponding data buffer 130 in advance for data write. The sending time of the two types of signals is different, and correspondingly, the data occupation state information is also different. That is, the data occupation state information can also be divided into first state information pre_psts corresponding to the first write signal and second state information psts corresponding to the second write signal, as shown in the following table. Figure 3

[0072] Specifically, in the embodiment of the present application, each mailbox module 120 in the mailbox group 12 receives a read notification signal for the corresponding data buffer 130 sent by the corresponding data consumption module 11 through the data bus, and responds to the read notification signal by sending the storage data amount of the corresponding data buffer 130 to the corresponding data consumption module 11 through the data auxiliary line.

[0073] ​It can be understood that in the embodiment of the present application, each mailbox module 120 corresponds to a data consumption module 11, which actually corresponds to and is connected to the corresponding data buffer 130. The data consumption module 11 corresponding to each mailbox module 120 can read the required data from the data buffer 130 corresponding to the mailbox module 120. Before data reading is performed on the corresponding data buffer 130, the data reading operation needs to be notified, and the signal for notification is the read notification signal. The specific notification method is to send the read notification signal to the corresponding mailbox module 120 through the data bus, so that the corresponding data buffer 130 can know that the data reading operation will be performed on it.

[0074] It can be understood that in the embodiment of the present application, each mailbox module 120 can respond to the read notification signal when receiving the read notification signal sent by the corresponding data consumption module 11 through the data bus. In order to ensure fast response, the storage data amount of the corresponding data buffer 130 is sent to the corresponding data consumption module 11 through the data auxiliary line.

[0075] It should be noted that in the embodiment of the present application, the read notification signal can include two types of signals. One is a first read signal indicating only that the data reading operation will be performed. The other is a second read signal indicating that the data buffer 130 needs to store a certain amount of data before the data reading operation.

[0076] It should be noted that in the embodiment of the present application, the read notification signal can include two types of signals. One is a first read signal indicating only that the data reading operation will be performed. The other is a second read signal indicating that the data buffer 110 needs to store a certain amount of data before the data reading operation. The sending time of the two types of signals is different, and correspondingly, the data storage amount is also different. That is, the data storage amount can be divided into a first data amount pre_csts corresponding to the first read signal and a second data amount csts corresponding to the second read signal, as shown in Figure 3 .

[0077] It can be understood that in the embodiments of the present application, each mailbox module 120 can provide the data occupancy information of the corresponding data buffer 130 to the corresponding data generation module 10 through the data auxiliary line, so that the corresponding data generation module 10 can determine in time whether the data buffer 130, that is, the data buffer 130 corresponding to the same mailbox module 120, needs to be written with data through the data bus. In addition, each mailbox module 120 can provide the storage data amount information of the corresponding data buffer 130 to the corresponding data consumption module 11 through the data auxiliary line, so that the corresponding data consumption module 11 can determine in time whether the data buffer 130, that is, the data buffer 130 corresponding to the same mailbox module 120, needs to be read with data through the data bus.

[0078] The embodiment of the present application provides a deep learning accelerator, including: at least one data generation module; at least one data consumption module; a mailbox group including a plurality of mailbox modules; a data buffer group including a plurality of data buffers, each mailbox module in the mailbox group corresponding to a data buffer in the data buffer group; wherein based on the management configuration information determined according to the network structure of the preset neural network executed on the deep learning accelerator, the mailbox group is configured as: each mailbox module in the mailbox group is connected with the corresponding data generation module, data consumption module and data buffer respectively, for interacting with the corresponding data generation module and data consumption module, the relevant information of the corresponding data buffer; and each data buffer in the data buffer group is also connected with the data generation module and the data consumption module of the corresponding same mailbox module respectively, supporting the data write operation of the data generation module of the corresponding same mailbox module and the data read operation of the data consumption module. The deep learning accelerator provided by the embodiment of the present application, wherein the module correspondence relationship and the quantity information can be determined by the set management configuration information, the layout is simple, the number of devices is less, and the flexibility and efficiency of the configuration are higher.

[0079] The embodiment of the present application also provides a deep learning acceleration method applied to a deep learning accelerator, the deep learning accelerator including at least one data generation module, at least one data consumption module, a mailbox group and a data buffer group, the mailbox group including a plurality of mailbox modules, and the data buffer group including a plurality of data buffers, each mailbox module in the mailbox group corresponding to a data buffer in the data buffer group. Figure 4 A flowchart of a deep learning acceleration method provided by the embodiment of the present application is shown in FIG. 6. Figure 4 As shown in the figure, the method mainly includes the following steps:

[0080] S401, based on the management configuration information determined according to the network structure of the preset neural network executed on the deep learning accelerator, the mailbox group is configured as:

[0081] Each mailbox module in the mailbox group is connected with a corresponding data generation module, a data consumption module and a data buffer, respectively, for interacting with the corresponding data generation module and the data consumption module, and for interacting with the corresponding data buffer.

[0082] Each data buffer in the data buffer group is also connected with the data generation module and the data consumption module of the same mailbox module, respectively, to support the data write operation of the data generation module of the same mailbox module and the data read operation of the data consumption module.

[0083] It should be noted that, in the embodiments of the present application, the mailbox group can be configured based on the management configuration information determined based on the network structure of the preset neural network executed on the deep learning accelerator.

[0084] It should be noted that, in the embodiments of the present application, the preset neural network can be an algorithm network such as a residual learning network, and the specific preset neural network and the network structure of the preset neural network can be pre-set according to actual needs, which is not limited in the embodiments of the present application.

[0085] Specifically, in the embodiments of the present application, the network structure of the preset neural network can be analyzed to determine the data generation module, the data consumption module and the data buffer corresponding to each mailbox module, so as to connect the modules having a corresponding relationship to support the corresponding data operation.

[0086] The embodiments of the present application provide a deep learning acceleration method, including: based on the management configuration information determined based on the network structure of the preset neural network executed on the deep learning accelerator, configuring the mailbox group as: each mailbox module in the mailbox group is connected with a corresponding data generation module, a data consumption module and a data buffer, respectively, for interacting with the corresponding data generation module and the data consumption module, and for interacting with the corresponding data buffer; and each data buffer in the data buffer group is also connected with the data generation module and the data consumption module of the same mailbox module, respectively, to support the data write operation of the data generation module of the same mailbox module and the data read operation of the data consumption module. The deep learning acceleration method provided by the embodiments of the present application configures the mailbox group based on the configuration information determined based on the network structure of the preset neural network, and has high flexibility and efficiency.

[0087] The embodiments of the present application also provide a chip, Figure 5 A structural schematic diagram of a chip provided by the embodiments of the present application is shown in FIG. 1. Figure 5 As shown in FIG. 1, the chip includes the deep learning accelerator 1.

[0088] Figure 6A structural schematic diagram of a computing device is provided in the embodiments of the present application. As shown in Figure 6 The computing device includes a processor 601, a memory 602 and a communication bus 603.

[0089] The communication bus 603 is configured to realize the communication connection between the processor 601 and the memory 602.

[0090] The processor 601 is configured to execute one or more programs stored in the memory 602 to realize the deep learning acceleration method.

[0091] The embodiments of the present application provide a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to realize the deep learning acceleration method. The computer readable storage medium can be a volatile memory (volatile memory), such as a random access memory (Random-Access Memory, RAM), or a non-volatile memory (non-volatile memory), such as a read-only memory (Read-Only Memory, ROM), a flash memory, a hard disk (Hard Disk Drive, HDD) or a solid state disk (Solid-State Drive, SSD). It can also be a device including one or any combination of the above memories, such as a mobile phone, a computer, a tablet device, a personal digital assistant, etc.

[0092] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system or a computer program product. Therefore, the present application can be in the form of a hardware embodiment, a software embodiment or an embodiment combining software and hardware aspects. Moreover, the present application can be in the form of a computer program product implemented on one or more computer usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) containing computer usable program code.

[0093] The present application is described with reference to the implementation flowcharts and / or block diagrams of the method, device (system) and computer program product according to the embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram and the combination of the flows and / or blocks in the flowchart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general purpose computer, a special purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device realize the functions in the flowchart and / or block diagram and achieve the flowchart and / or block diagram. Figure 1 One or more flows or multiple flows and / or blocks Figure 1means for performing the function specified by the block or blocks.

[0094] These computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions which implement the Figure 1 flow or flows and / or blocks Figure 1 means for performing the function specified by the block or blocks.

[0095] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the Figure 1 flow or flows and / or blocks Figure 1 means for performing the function specified by the block or blocks.

[0096] The above description is only specific implementation of the present application, but the protection scope of the present application is not limited to this. Any person skilled in the art can easily think of changes or replacements within the technical range disclosed in the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A deep learning accelerator, comprising: Comprise: At least one data generation module; At least one data consumption module; Mailbox group, comprising a plurality of mailbox modules; Data buffer group, comprising a plurality of data buffers, each mailbox module in the mailbox group corresponds to a data buffer in the data buffer group; Wherein, based on the network structure of the preset neural network executed on the deep learning accelerator, the mailbox group is configured as: Each mailbox module in the mailbox group is connected with the corresponding data generation module, data consumption module and data buffer respectively, for interacting with the corresponding data generation module and data consumption module, and the relevant information of the corresponding data buffer; and Each data buffer in the data buffer group is also connected with the data generation module and the data consumption module of the corresponding same mailbox module respectively, supporting the data write operation of the data generation module of the corresponding same mailbox module and the data read operation of the data consumption module; Wherein, the management configuration information is used to determine the corresponding relationship between the modules.

2. The deep learning accelerator of claim 1, wherein, Further comprising: Data bus; The mailbox group, the data generation module and the data consumption module corresponding to each mailbox module in the mailbox group, and the data buffer group are connected through the data bus.

3. The deep learning accelerator of claim 2, wherein Each data buffer in the data buffer group receives the data transmitted by the data generation module of the corresponding same mailbox module through the data bus and stores the data; Each data buffer in the data buffer group provides readable data for the data consumption module of the corresponding same mailbox module through the data bus.

4. The deep learning accelerator of claim 2, wherein, Further comprising: Data auxiliary line; The mailbox group, and the data generation module and the data consumption module corresponding to each mailbox module in the mailbox group are connected with the data auxiliary line respectively.

5. The deep learning accelerator of claim 4, wherein Each mailbox module in the mailbox group receives the write notification signal for the corresponding data buffer sent by the corresponding data generation module through the data bus, and in response to the write notification signal, sends the data occupancy state information of the corresponding data buffer to the corresponding data generation module through the data auxiliary line.

6. The deep learning accelerator of claim 4, wherein Each mailbox module in the mailbox group receives the read notification signal for the corresponding data buffer sent by the corresponding data consumption module through the data bus, and in response to the read notification signal, sends the storage data amount of the corresponding data buffer to the corresponding data consumption module through the data auxiliary line.

7. A deep learning acceleration method applied to a deep learning accelerator, the deep learning accelerator comprising at least one data generation module, at least one data consumption module, a mailbox group and a data buffer group, the mailbox group comprising a plurality of mailbox modules, the data buffer group comprising a plurality of data buffer areas, each mailbox module in the mailbox group corresponding to a data buffer area in the data buffer group, characterized in that, The method comprises: Based on the network structure of the preset neural network executed on the deep learning accelerator, the mailbox group is configured as: Each mailbox module in the mailbox group is connected with the corresponding data generation module, data consumption module and data buffer respectively, for interacting with the corresponding data generation module and data consumption module, and the relevant information of the corresponding data buffer; and Each mailbox module in the mailbox group is connected with the corresponding data generation module, data consumption module and data buffer respectively, for interacting with the corresponding data generation module and data consumption module, and the relevant information of the corresponding data buffer; and Each data buffer in the data buffer group is also connected with a data generation module and a data consumption module corresponding to the same mailbox module, supports data write operation of the data generation module corresponding to the same mailbox module, and supports data read operation of the data consumption module. The management configuration information is used to determine the correspondence between the modules.

8. A chip, characterized by The deep learning accelerator comprises any one of claims 1-6.

9. A computing device, comprising: Comprise: A processor, a memory and a communication bus; The communication bus is used to realize the communication connection between the processor and the memory; The processor is used to execute one or more programs stored in the memory to realize the deep learning acceleration method of claim 7.

10. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to realize the deep learning acceleration method of claim 7.

Citation Information

Patent Citations

  • Acceleration device for deep learning and computing device

    CN112396153A

  • State machine generation for multi-buffer electronic systems

    US11119921B1