[go: up one dir, main page]

WO2023116312A1 - Procédé et appareil de traitement de données, ainsi que dispositif informatique et support de stockage - Google Patents

Procédé et appareil de traitement de données, ainsi que dispositif informatique et support de stockage Download PDF

Info

Publication number
WO2023116312A1
WO2023116312A1 PCT/CN2022/133413 CN2022133413W WO2023116312A1 WO 2023116312 A1 WO2023116312 A1 WO 2023116312A1 CN 2022133413 W CN2022133413 W CN 2022133413W WO 2023116312 A1 WO2023116312 A1 WO 2023116312A1
Authority
WO
WIPO (PCT)
Prior art keywords
operator
processing
processing unit
data
instruction
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.)
Ceased
Application number
PCT/CN2022/133413
Other languages
English (en)
Chinese (zh)
Inventor
孙炜
祝叶华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of WO2023116312A1 publication Critical patent/WO2023116312A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the embodiments of the present application relate to the field of computer technology, and in particular, to a data processing method, device, computer equipment, and storage medium.
  • Embodiments of the present application provide a data processing method, device, computer equipment, and storage medium, which can improve data processing efficiency.
  • the technical solution is as follows:
  • the embodiment of the present application provides a data processing method, the method comprising:
  • the processing result is processed based on the second operator by the second processing unit.
  • an embodiment of the present application provides a data processing device, and the device includes:
  • the first processing module is configured to process the input data based on the first operator of the neural network through the first processing unit to obtain a processing result, and the first processing unit matches the first operator;
  • a data sending module configured to send the processing result to the second processing unit based on the direct connection path between the first processing unit and the second processing unit, and the connection between the second processing unit and the neural network The second operator matches;
  • the second processing module is configured to process the processing result based on the second operator by the second processing unit.
  • an embodiment of the present application provides a computer device, the computer device includes a processor and a memory; the memory stores at least one program, and the at least one program is used to be executed by the processor to implement the following: The data processing method described in the above aspects.
  • an embodiment of the present application provides a computer-readable storage medium, the storage medium stores at least one program, and the at least one program is used to be executed by a processor to implement the data processing method as described in the above aspect .
  • an embodiment of the present application provides a computer program product, the computer program product has computer instructions, and the computer instructions are stored in a computer-readable storage medium; a processor of a computer device reads the computer program from the computer-readable storage medium. Instructions, the processor executes the computer instructions, so that the computer device executes the data processing method provided in the above aspect.
  • an embodiment of the present application provides a chip, the chip includes a programmable logic circuit and/or program instructions, and when the chip runs on a terminal, it is used to implement the data processing method described in the above aspect.
  • FIG. 1 shows a schematic diagram of an implementation environment provided by an exemplary embodiment of the present application
  • FIG. 2 shows a flowchart of a data processing method provided by an exemplary embodiment of the present application
  • FIG. 3 shows a flowchart of another data processing method provided by an exemplary embodiment of the present application
  • Fig. 4 shows a schematic diagram of a connection manner between processing units provided by an exemplary embodiment of the present application
  • Fig. 5 shows a schematic structural diagram of a processing unit provided by an exemplary embodiment of the present application
  • FIG. 6 shows a schematic diagram of a data processing process provided by an exemplary embodiment of the present application
  • FIG. 7 shows a flow chart of another data processing procedure provided by an exemplary embodiment of the present application.
  • Fig. 8 shows a structural block diagram of a data processing device provided by an exemplary embodiment of the present application
  • Fig. 9 shows a structural block diagram of a terminal provided by an exemplary embodiment of the present application.
  • Fig. 10 shows a structural block diagram of a server provided by an exemplary embodiment of the present application.
  • the "at least one” mentioned herein means one or more, and the “multiple” means two or more.
  • “And/or” describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B may indicate: A exists alone, A and B exist simultaneously, and B exists independently.
  • the character “/” generally indicates that the contextual objects are an "or” relationship.
  • the embodiment of the present application provides a data processing method
  • the execution body is a computer device 100.
  • the computer device 100 is a terminal, such as a mobile phone, a desktop computer, a notebook computer, a tablet computer, a smart TV, a smart speaker, Various types of terminals such as vehicle terminals and intelligent robots.
  • the computer device 100 is a server, and the server may be a server, or a server cluster composed of several servers, or a cloud computing server center.
  • the computer device 100 performs data processing on the input data based on the operator in the neural network through the method provided in this application, which can improve the efficiency of data processing.
  • a chip is configured in the computer device, for example, an artificial intelligence chip, and the computer device can execute the data processing method in the embodiment of the present application through the chip.
  • FIG. 1 is a schematic diagram of a computer device 100 provided by an embodiment of the present application.
  • the computer device 100 includes at least two processing units, such as a first processing unit 101 and a second processing unit 102, wherein the operators matched by the first processing unit 101 and the second processing unit 102 are different, and optionally
  • the operator matched by the first processing unit 101 is a linear operator with high calculation density, for example, a convolution operator, a pooling operator, and the like.
  • the operator matched by the second processing unit 102 is a non-linear operator, for example, an activation function.
  • the computer device 100 uses a processing unit to execute an operator matching the processing unit, so as to ensure the execution efficiency of the operator.
  • the processing units matched by these multiple operators are different. Therefore, when processing the input data of the neural network, each processing unit matched by multiple operators is required. unit to cooperate.
  • the first processing unit 101 processes the input data based on the first operator in the neural network, obtains the processing result, and then based on the direct connection path between the first processing unit 101 and the second processing unit 102, sends to the second The processing unit 102 sends the processing result.
  • the second processing unit 102 continues to process the processing result based on the second operator in the neural network. That is to say, each processing unit respectively executes an operator matching itself in the neural network, and the obtained processing results are sent to other processing units through a direct connection with other processing units.
  • the data processing method provided in the embodiment of the present application can be applied in the scene of image processing.
  • the computer equipment acquires the input image of the image processing network, and processes the input image based on the first operator in the image processing network through the first image processing unit to obtain the processing result, based on the first image processing unit and the second image
  • the direct connection path between the processing units sends the processing result to the second image processing unit.
  • the second image processing unit continues to process the processing result based on the second operator in the image processing network.
  • the first image processing unit is matched with the first operator
  • the second image processing unit is matched with the second operator.
  • the data processing method provided in the embodiment of the present application can be applied in the audio processing scenario.
  • the computer equipment obtains the input audio of the audio processing network, and processes the input audio based on the first operator in the audio processing network through the first audio processing unit to obtain the processing result, based on the first audio processing unit and the second audio
  • the direct connection path between the processing units sends the processing result to the second audio processing unit.
  • the second audio processing unit continues to process the processing result based on the second operator in the audio processing network.
  • the first audio processing unit matches the first operator, and the second audio processing unit matches the second operator.
  • the data processing method provided in the embodiment of the present application can be applied in the scene of video processing.
  • the computer equipment obtains the input video of the video processing network, and processes the input video based on the first operator in the video processing network through the first video processing unit to obtain the processing result, based on the first video processing unit and the second video
  • the direct connection path between the processing units sends the processing result to the second video processing unit.
  • the second video processing unit continues to process the processing result based on the second operator in the video processing network.
  • the first video processing unit matches the first operator
  • the second video processing unit matches the second operator.
  • the method provided by the embodiment of the present application can also be applied to other data processing scenarios, for example, the scenario of processing multimedia data through a multimedia processing network, the scenario of processing text data through a text processing network, etc., the embodiment of the present application does not Do limit.
  • Fig. 2 shows a flow chart of a data processing method provided by an exemplary embodiment of the present application.
  • the execution subject is a computer device, and the method includes:
  • step 201 the first processing unit processes the input data based on the first operator of the neural network to obtain a processing result, and the first processing unit matches the first operator.
  • the neural network is any type of data processing network, for example, an image processing network, an audio processing network, a text processing network, a multimedia processing network, and the like.
  • the neural network includes multiple operators.
  • the operators include convolution operators, activation operators, pooling operators, and normalization operators.
  • Any type of data is input to a corresponding type of data processing network, and the computer device processes the data based on multiple operators in the data processing network, which can realize the effect corresponding to the function of the data processing network.
  • the function of the image processing network is to denoise the image, and after processing the input image based on multiple operators in the image processing network, the noise in the image can be removed.
  • the first operator is the highest-ranked operator in the neural network. Since different operators have different computing characteristics and different processing units have different data processing methods, different operators may match different processing units. Compared with the processing unit matching the operator, although other processing units can also execute the operator, the execution speed is slower. Therefore, in the embodiment of the present application, each operator in the neural network is executed by a processing unit matched with the operator, so as to ensure the efficiency of data processing based on the neural network.
  • the computer device includes multiple processing units, wherein the operators matched by the first processing unit and the second processing unit are different.
  • the first processing unit and the second processing unit are arbitrary processing engines, for example, the first processing unit is an NPU (Neural-network Processing Unit, embedded neural network processor).
  • the second processing unit is DSP (Digital Signal Processor, digital signal processor).
  • the first processing unit is TPU (Tensor Processing Unit, tensor processing unit), and the second processing unit is GPU (Graphics Processing Unit, graphics processing unit).
  • the first processing unit is an NPU
  • the second processing unit is a TPU.
  • the first processing unit and the second processing unit can be any data processing acceleration engine, which is not limited in this embodiment of the present application.
  • Step 202 based on the direct connection path between the first processing unit and the second processing unit, the processing result is sent to the second processing unit, and the second processing unit is matched with the second operator of the neural network.
  • a direct link refers to a path directly connecting two processing units without other units between the two processing units.
  • each processing unit matched with multiple operators in the neural network has a direct connection path, and any two processing units can directly perform data interaction based on the direct connection path.
  • step 203 the second processing unit processes the processing result based on the second operator.
  • the second processing unit receives the processing result sent by the first processing unit, and then continues to process the processing result based on the second operator. It should be noted that if the second operator is the last operator in the neural network, then the second processing unit can obtain the output data of the neural network after processing the processing result based on the second operator. If the second operator is not the last operator in the neural network, then the second processing unit processes the processing result based on the second operator to obtain an updated processing result, which is subsequently processed by the second processing unit or other The unit executes other operators in the neural network until the execution of multiple operators in the neural network is completed.
  • the data processing solution provided by the embodiment of the present application adds a direct connection path between the processing units, so that the processing units can directly perform data interaction through the direct connection path, which greatly improves the communication between the processing units.
  • the processing unit after the processing unit performs data processing based on the matching operator, it directly sends the processing result to another processing unit, and the other processing unit can directly obtain the processing result.
  • the processing result continues to be processed, and this solution gets rid of the control unit, so that the processing units can cooperate directly and without obstacles, thereby improving the efficiency of data processing through the operators in the neural network.
  • the first processing unit includes a first processor
  • the first operator based on the neural network processes the input data to obtain processing results, including:
  • the input data is processed based on the first operator to obtain a processing result.
  • the second processing unit includes a second processor and a second memory
  • Sending a processing result to the second processing unit based on the direct connection path between the first processing unit and the second processing unit includes:
  • the processing result is stored in the second memory based on the direct connection path, and the data processing instruction is sent to the second processor.
  • the method also includes:
  • the processing result is processed based on the second operator.
  • the method also includes:
  • each processing unit For each processing unit, according to the order in which the multiple operators matched by the processing unit are arranged in the neural network, store multiple operators in the memory of the processing unit, insert a waiting instruction before at least one operator in the memory, and Insert a data sending instruction after at least one operator;
  • the waiting instruction is used to instruct to stop executing the data processing operation until the data processing operation is re-executed when the data processing instruction is received
  • the data sending instruction is used to instruct the current processing unit to send the processing to other processing units when the processing based on the operator is completed. Results and data processing instructions.
  • inserting a waiting instruction before at least one operator in the memory, and inserting a data sending instruction after at least one operator includes:
  • a waiting instruction is inserted before the first operator of the at least two operators, and a waiting instruction is inserted before the last operator of the at least two operators Then insert the data sending instruction;
  • the method further includes:
  • the processing result is processed by the first processing unit based on the third operator to obtain an updated processing result, and the third operator matches the first processing unit.
  • the method before sending the processing result to the second processing unit based on the direct connection path between the first processing unit and the second processing unit, the method further includes:
  • Fig. 3 shows a flowchart of a data processing method provided by an exemplary embodiment of the present application. Referring to Fig. 3, the method includes:
  • step 301 the input data of the neural network is acquired, and the neural network includes multiple operators.
  • the computer device obtains the data stored by the CPU (Central Processing Unit, central processing unit) in the target storage location, and determines the data as the input data of the neural network.
  • the target storage location is used to store the input data of the neural network.
  • step 302 the first processing unit processes the input data based on the first operator to obtain a processing result, and the first processing unit matches the first operator among the plurality of operators.
  • the CPU sends a data processing instruction to the first processing unit to instruct the first processing unit to start executing the data processing operation.
  • the first processing unit processes the input data based on the first operator to obtain a processing result.
  • the first processing unit includes a first processor.
  • the computer device processes the input data based on the first operator through the first processing unit to obtain a processing result, including: The first processor executes the waiting instruction to wait for the data processing instruction; in response to receiving the data processing instruction, processes the input data based on the first operator to obtain a processing result.
  • the waiting instruction is used to instruct to stop executing the data processing operation until the data processing operation is re-executed when the data processing instruction is received.
  • the first processor in the first processing unit is an ALU (Arithmetic&Logical Unit, arithmetic logic unit), and the first memory is called memory.
  • the waiting instruction is sent by the CPU to the first processing unit, or the waiting instruction is read by the first processing unit from a memory
  • the memory is any memory, for example, a public memory or the first processing unit
  • the memory in this application is not limited in this embodiment.
  • the waiting instruction is used to instruct to stop executing the data processing operation until the data processing instruction is received, the data processing operation is re-executed, so that the first processor executes the waiting instruction, and the first processor is controlled by the data processing instruction.
  • the first processing unit further includes a first memory, and the first memory stores instructions to be executed by the first processing unit.
  • the computer device uses the first processing unit to The input data is processed to obtain the processing result, including: the computer device reads the waiting instruction before the first operator from the first memory through the first processor; then executes the waiting instruction, that is, stops executing the data processing operation until When the data processing instruction is received, the first operator is read from the first memory, and the input data is processed based on the first operator to obtain a processing result.
  • the computer device uses the first processing unit to sequentially read and execute the instructions according to the order of the instructions stored in the first memory, each time reading the highest-ranked instruction among the unexecuted instructions. Since there is a waiting instruction before the first operator, the first processor will first execute the waiting instruction until it receives a data processing instruction, read the next instruction after the waiting instruction in the first memory, that is, the first operator, Execute the first operator.
  • the first processing unit can only execute the first operator after receiving the data processing instruction, thereby realizing the control of the first operator.
  • the computer device before the computer device obtains the input data of the neural network, it first divides the multiple operators in the neural network into matching processing units, and determines the Execution order. That is, the computer device determines the matching processing unit of each operator in the plurality of operators; for each processing unit, according to the order in which the multiple operators matching the processing unit are arranged in the neural network, the The plurality of operators are stored in the memory of the memory, a waiting instruction is inserted before at least one operator in the memory, and a data sending instruction is inserted after the at least one operator.
  • the waiting instruction is used to instruct to stop executing the data processing operation until the data processing operation is re-executed when the data processing instruction is received
  • the data sending instruction is used to instruct the current processing unit to send the processing to other processing units when the processing based on the operator is completed. Results and data processing instructions.
  • the waiting instruction is inserted before the operator, and indicates that the data processing operation is performed when the data processing instruction is received, and the data sending instruction is inserted after the operator, it is used to indicate that the current processing unit is based on the completion of the operator processing , sending processing results and data processing instructions to other processing units, so that other processing units process the processing results in response to the data processing instructions, and each processing unit executes the instructions sequentially according to the order of the instructions in the memory, therefore, no There will be resource occupation conflicts, that is, there will be no situation where one processing unit executes multiple operators at the same time, which ensures that the processing unit can only execute one operator at the same time, and there will be no data conflicts, that is, it ensures that the neural network Multiple operators can be processed sequentially, and the execution of the latter operator can depend on the processing result of the previous operator.
  • the waiting instruction and the data sending instruction are actually handshake signals between processing units, so that without the participation of the control unit, multiple processing units can avoid data conflicts and resource conflicts when they jointly process data based on the neural network.
  • the computer device uses a compiler to determine the matching processing unit of each operator in the plurality of operators; for each processing unit, according to the order in which the plurality of operators matching the processing unit are arranged in the neural network , storing the plurality of operators in a memory of the processing unit, inserting a wait instruction before at least one operator in the memory, and inserting a data sending instruction after at least one operator.
  • a compiler is a program that compiles a high-level language into a low-level language that can be executed by a computer device.
  • the compiler is used to divide the operators in the neural network, and determine the execution order of the operators divided by each processing unit, so that the neural network can complete the division and execution order of the operators in the compilation stage ok.
  • each operator in the neural network may have different matching processing units, therefore, the operators in the neural network are divided into matching processing units before processing the input data through the neural network, And determine the execution order of the multiple operators assigned to each processing unit, so that when the input data of the neural network is obtained later, the processing unit can directly execute based on the multiple operators assigned to itself and the determined operators Data processing is performed sequentially, instead of temporarily determining the matching processing unit of each operator in the process of data processing based on the neural network, which can improve data processing efficiency.
  • the waiting instruction before the operator indicates that the data processing operation is performed when the data processing instruction is received
  • the data sending instruction is inserted after the operator, which is used to indicate that the current processing unit
  • send processing results and data processing instructions to other processing units so that other processing units process the processing results in response to the data processing instructions, so that multiple processing units can be processed without the participation of the control unit
  • the units jointly process data based on the neural network data conflicts and resource conflicts can be avoided, and a self-synchronization mechanism is realized.
  • the computer device inserts a waiting instruction before at least one operator in the memory, and inserts a data sending instruction after the at least one operator, including: the computer device inserts at least two adjacent operators in the memory In the case that there is an association between the sub-operators, a waiting instruction is inserted before the first of the at least two operators, and a data sending instruction is inserted after the last of the at least two operators.
  • step 303 the associated operator of the first operator is obtained, and the associated operator is determined as the second operator, wherein the data processing of the associated operator depends on the processing result of the first operator.
  • the data processing of an associated operator depends on the processing result of the first operator, that is, the output of the first operator should be the input of the associated operator.
  • the computer device acquires an associated operator of the first operator, and determines the associated operator as the second operator, including: the computer device acquires an operator association relationship, and the operator association relationship indicates that the operator The associated operators of the operators included in the network, the data processing of the associated operators of any operator depends on the processing results of the operator. Then the computer device inquires the associated operator of the first operator from the operator association relationship; and determines the queried associated operator as the second operator.
  • the operator association relationship is the arrangement order of multiple operators in the neural network, where an operator after each operator depends on the processing result of the operator, which is the associated operator of the operator .
  • the computer device queries an operator after the first operator from the sequence, and determines this operator as an associated operator of the first operator.
  • the associated operator of the first operator is determined as the second operator Subsequent to send the processing result of the first operator to the processing unit matched by the second operator, it can ensure that the execution of the second operator can be based on the processing result of the first operator, and ensure the correct execution of the operator in the neural network .
  • Step 304 Send the processing result to the second processing unit based on the direct connection path between the first processing unit and the second processing unit, and the second processing unit matches the second operator in the plurality of operators.
  • the second processing unit includes a second processor and a second memory
  • the computer device sends the Sending the processing result includes: the computer device stores the processing result in the second memory through the first processing unit based on a direct connection with the second processing unit, and sends a data processing instruction to the second processor.
  • the data processing instruction carries the storage address of the processing result.
  • the first processing unit does not need to store the processing result in the common storage unit based on the bus, and then the second processing unit reads the processing result from the common storage unit based on the bus. Instead, based on the direct connection path with the second processing unit, the processing result is directly stored in the memory of the second processing unit, so that the processor of the second processing unit can directly The processing result is read from its own memory and processed, which greatly shortens the data transmission link, thereby improving the efficiency of data interaction.
  • the first processing unit includes a first processor and a first memory.
  • the computer device passes through the first processing unit based on a direct connection with the second processing unit, and in the second Storing the processing result in the memory, and sending the data processing instruction to the second processor includes: the computer device reads the data sending instruction after the first operator from the first memory through the first processor, and responds to the data sending The instruction stores the processing result in the second memory based on the direct communication path with the second processor, and sends the data processing instruction to the second processor, wherein the data sending instruction is used to indicate that the current processing unit When the operator-based processing is completed, the processing results and data processing instructions are sent to other processing units.
  • the processing result and the data processing instruction are sent to other processing units, so through the operator in the memory of the processing unit Storing the data sending instruction, so that the processing unit can execute the data sending instruction after executing the operator, thereby storing the processing result in the memory of the second processor, and sending the data processing instruction to the second processor, so that the second processing
  • the unit can read the processing result from its own memory based on the data processing instruction, and continue to process the processing result.
  • the computer device processes the input data based on the first operator through the first processing unit, and after obtaining the processing result and before sending the processing result to the second processing unit, the method further includes: The device uses the first processing unit to process the processing result based on the third operator to obtain an updated processing result, wherein the third operator is an operator in the neural network, and the third operator matches the first processing unit.
  • the third operator is an associated operator of the first operator, that is, the input of the third operator is the output of the first operator, and the third operator depends on the processing result of the first operator.
  • the current processing unit performs processing based on the current operator, if the next If an operator still matches the processing unit, the processing unit will continue to process based on the operator and get updated processing results until the next operator after the currently processed operator does not match the current processing unit. Then the current processing unit sends the latest processing result to the processing unit matching the next operator.
  • the first processing unit can process the processing result based on the third operator to obtain an updated processing result, and then send the updated processing result to the second processing unit, that is, the same processing
  • the unit can continuously execute multiple matching operators, which ensures that when multiple processing units perform data processing based on the neural network, each processing unit can execute the operator that matches itself, and multiple operators in the neural network The order of execution is exact.
  • step 305 the second processing unit processes the processing result based on the second operator.
  • the computer device executes a waiting instruction to wait for a data processing instruction from the first processing unit through the second processor of the second processing unit; in response to receiving the data processing instruction from the first processing unit , and process the processing result based on the second operator.
  • the waiting instruction is sent by the CPU to the second processing unit, or the waiting instruction is read by the second processing unit from the memory, and the memory is any memory, for example, a public memory or the second processing unit
  • the memory in this application is not limited in this embodiment.
  • the computer device stores the processing result in the second memory of the second processing unit through the first processor of the first processing unit, and the data processing instruction includes the storage address of the processing result in the second memory, corresponding Yes, the computer device reads the processing result from the second memory based on the storage address through the second processor in response to receiving the data processing instruction from the first processing unit.
  • the waiting instruction is used to instruct to stop executing the data processing operation until the data processing instruction is received, the data processing operation is re-executed, so that the second processor executes the waiting instruction, and the second processor is controlled by the data processing instruction.
  • the timing at which a processor performs a data processing operation since the waiting instruction is used to instruct to stop executing the data processing operation until the data processing instruction is received, the data processing operation is re-executed, so that the second processor executes the waiting instruction, and the second processor is controlled by the data processing instruction.
  • the computer device reads the waiting instruction before the second operator from the second memory through the second processor; then executes the waiting instruction, that is, stops executing the data processing operation until In the case of a data processing instruction, the second operator is read from the second memory, and the processing result is processed based on the second operator.
  • the computer device uses the second processing unit to sequentially read the instructions according to the order of the instructions stored in the second memory for execution, and each time reads the highest-ranked instruction among the unexecuted instructions. Since there is a waiting instruction before the second operator, the second processor will first execute the waiting instruction until it receives the data processing instruction, read the next instruction after the waiting instruction in the second memory, that is, the second operator, Execute the second operator.
  • the second processing unit can execute the second operator only after receiving the data processing instruction, thereby realizing the control of the second operator.
  • the timing at which the second processor executes data processing operations is a simple operation, arithmetic operations, and arithmetic operations.
  • the second processing unit can obtain the output data of the neural network after processing the processing result based on the second operator. If the second operator is not the last operator in the neural network, then the second processing unit processes the processing result based on the second operator to obtain an updated processing result, which is subsequently processed by the second processing unit or other Units perform other operations in the neural network. For example, in the neural network, the next operator after the second operator is the fourth operator, and the fourth operator matches the third processing unit, then the second processing unit sends the updated processing result to the third processing unit , the third processing unit continues to process the processing result based on the fourth operator, and so on until the execution of multiple operators in the neural network is completed.
  • the manner in which the second processing unit sends the processing result to the third processing unit is the same as the implementation manner in which the first processing unit sends the processing result to the second processing unit, and the manner in which the third processing unit performs data processing based on the fourth operator It is the same as the manner in which the second processing unit performs data processing based on the second operator, and details are not repeated here.
  • step 303 is an optional step.
  • the computer device does not need to determine the second operator first, and determines which processor the first processing unit sends to based on the second operator. process result. For example, after the computer device executes the first operator through the first processing unit, if the next instruction after the first operator in the first memory is a data sending instruction, the computer device directly sends the instruction to the division first operator through the first processing unit. Another processing unit other than the processing unit sends the processing result and the data processing instruction.
  • FIG. 4 is a schematic diagram of a connection manner between processing units provided in an embodiment of the present application.
  • the first processing unit and the second processing unit are respectively connected to the control unit, and the first processing unit and the second processing unit are connected to the common storage unit through a bus.
  • the first processing unit executes an operator in the neural network, it stores the obtained processing result in the public storage unit based on the bus, and then notifies the control unit by way of interrupt, and the control unit determines the next operation in the neural network.
  • the processing unit matched by an operator if the processing unit is the second processing unit, the control unit sends a notification to the second processing unit, and then the second processing unit reads the processing result from the public storage unit based on the bus, and then based on The next operator performs data processing, and so on until the processing of multiple operators in the neural network is completed.
  • the control unit needs to interact frequently with each processing unit, occupying the resources of the control unit, and the interaction efficiency between each processing unit is extremely low, and, because the processing results are stored in the common storage unit, the data The link between storage and data reading is long, and the efficiency of data transmission is extremely low.
  • a direct connection path is added between the first processing unit and the second processing unit, so that the first processing unit and the second processing unit directly perform data interaction based on the direct connection path, which greatly shortens the processing result.
  • the transmission link, and the first processing unit and the second processing unit realize self-synchronization based on waiting instructions and data sending instructions, get rid of the control unit, improve the interaction efficiency, and thus improve the overall efficiency of data processing based on the neural network .
  • FIG. 5 is a schematic structural diagram of a processing unit provided in an embodiment of the present application.
  • any processing unit includes a processor and a memory, the processor and the memory are connected, and the processor can read data from the memory and store data into the memory.
  • the two processing units are directly connected, and any processing unit can directly store data in the memory of the other processing unit directly connected to it.
  • the first processor in the first processing unit can directly store data to the second memory
  • the second processor in the second processing unit can directly store data to the first memory.
  • the following takes the neural network shown in FIG. 6 as an example to illustrate the data processing process in this application.
  • the computer device compiles the neural network based on the compiler, so as to divide multiple operators in the neural network into matching processing units.
  • the computer device since operator 0, operator 2, and operator 4 in the neural network match the first processing unit, and operator 1, operator 3, and operator 5 match the second processing unit, therefore, the operator Operator 0, operator 2, and operator 4 are allocated to the first memory of the first processing unit, and operator 1, operator 3, and operator 5 are allocated to the second memory of the second processing unit.
  • the computer device inserts a waiting instruction before each operator in the first memory and the second memory, and inserts a data sending instruction after each operator.
  • the first processor in the first processing unit sequentially reads the instructions in the order of the instructions in the first memory for execution, first reads the waiting instruction, executes the waiting instruction, that is, stops the data processing operation, and waits for the data Processing instructions.
  • the second processor in the second processing unit sequentially reads and executes the instructions according to the order of the instructions in the second memory, first reads the waiting instruction, executes the waiting instruction, that is, stops the data processing operation, and waits for the data processing instruction.
  • the computer device stores the input data of the neural network in the target storage location through the CPU, and then sends a data processing instruction to the first processor in the first processing unit, and the first processor responds to the data processing instruction,
  • the input data is read from the storage location, and the operator 0 is read from the first memory, and based on the operator 0, the input data is processed to obtain a processing result.
  • read the data sending instruction after operator 0 from the first memory and store the processing result in the second processing unit based on the direct connection path between the first processing unit and the second processing unit in response to the data sending instruction In the second memory of the unit, and send the data processing instruction to the second processor in the second processing unit.
  • the first processor reads the waiting instruction before operator 2 from the first memory, and executes the waiting instruction.
  • the second processor receives the data processing instruction sent by the first processor during the execution of the waiting instruction, and reads the operator 1 and the processing result from the second memory in response to the data processing instruction, based on Operator 1 continues to process the processing result to obtain an updated processing result. Then read the data sending instruction after operator 1, store the updated processing result in the first memory in response to the data sending instruction, and send the data processing instruction to the first processor. Then, the second processor reads the waiting instruction before operator 3, and executes the waiting instruction.
  • Step 5 During the process of executing the waiting instruction, the first processor receives the data processing instruction sent by the second processor, and in response to the data processing instruction, reads operator 2 and the latest current processing instruction from the first memory. As a result, the processing result is continued to be processed based on operator 2, and an updated processing result is obtained. Then, the first processor reads the data sending instruction after operator 2, stores the updated processing result in the second memory in response to the data sending instruction, and sends the data processing instruction to the second processor. Then, the first processor reads the waiting instruction before the operator 4, and executes the waiting instruction. And so on, until the data processing of multiple operators in the neural network is completed.
  • the sixth step take the processing unit matched by the last operator in the neural network as the first processing unit as an example.
  • the first processor executes the last operator, it stores the obtained output data in the public storage unit based on the bus , and then send a processing completion notification to the CPU in the form of an interrupt to notify the server that the processing of the current input data is complete.
  • Step 7 In response to the processing completion notification, the CPU stores new input data in the target storage location, sends a data processing instruction to the first processor, and then the first processor processes the new input data in the same way.
  • the following takes the neural network shown in FIG. 7 as an example to illustrate the data processing process in this application.
  • the computer device compiles the neural network based on the compiler, so as to divide multiple operators in the neural network into matching processing units.
  • the computer device inserts a waiting instruction before each operator in the first memory, and inserts a data sending instruction after each operator.
  • the computer device inserts a wait instruction before operator 1 and operator 5 in the second memory, and inserts a data transmission instruction after operator 3 and operator 5.
  • the first processor in the first processing unit sequentially reads the instructions in the order of the instructions in the first memory for execution, first reads the waiting instruction, executes the waiting instruction, that is, stops the data processing operation, and waits for the data Processing instructions.
  • the second processor in the second processing unit sequentially reads and executes the instructions according to the order of the instructions in the second memory, first reads the waiting instruction, executes the waiting instruction, that is, stops the data processing operation, and waits for the data processing instruction.
  • the computer device stores the input data of the neural network in the target storage location through the CPU, and then sends a data processing instruction to the first processor in the first processing unit, and the first processor responds to the data processing instruction,
  • the input data is read from the storage location, and the operator 0 is read from the first memory, and based on the operator 0, the input data is processed to obtain a processing result.
  • read the data sending instruction after operator 0 from the first memory and store the processing result in the second processing unit based on the direct connection path between the first processing unit and the second processing unit in response to the data sending instruction In the second memory of the unit, and send the data processing instruction to the second processor in the second processing unit.
  • the first processor reads the waiting instruction before the operator 4 from the first memory, and executes the waiting instruction.
  • the second processor receives the data processing instruction sent by the first processor during the execution of the waiting instruction, and reads the operator 1 and the processing result from the second memory in response to the data processing instruction, based on Operator 1 continues to process the processing result to obtain an updated processing result.
  • the operator 2 is read from the second memory, and the current processing result is continued to be processed based on the operator 2 to obtain an updated processing result.
  • read operator 3 from the second memory continue to process the current processing result based on operator 3, obtain the updated processing result, and then read the data sending instruction after operator 3, and respond to the data
  • An instruction is sent to store the updated processing result in the first memory, and a data processing instruction is sent to the first processor.
  • the second processor reads the waiting instruction before the operator 5, and executes the waiting instruction.
  • Step 5 During the process of executing the waiting instruction, the first processor receives the data processing instruction sent by the second processor, and in response to the data processing instruction, reads the operator 4 and the current latest processing instruction from the first memory. As a result, based on operator 4, the processing result continues to be processed to obtain an updated processing result. Then, the first processor reads the data transmission instruction after operator 4, and in response to the data transmission instruction, the updated processing result The results are stored in the second memory, and data processing instructions are sent to the second processor. Then, the first processor reads the waiting instruction after operator 4, and executes the waiting instruction. And so on, until the data processing of multiple operators in the neural network is completed.
  • the sixth step take the processing unit matched by the last operator in the neural network as the first processing unit as an example.
  • the first processor executes the last operator, it stores the obtained output data in the public storage unit based on the bus , and then send a processing completion notification to the CPU in the form of an interrupt to notify the server that the processing of the current input data is complete.
  • Step 7 In response to the processing completion notification, the CPU stores new input data in the target storage location, sends a data processing instruction to the first processor, and then the first processor processes the new input data in the same way.
  • the data processing solution provided by the embodiment of the present application adds a direct connection path between the processing units, so that the processing units can directly perform data interaction through the direct connection path, which greatly improves the interaction efficiency between the processing units.
  • the processing unit after the processing unit performs data processing based on the matching operator, it directly sends the obtained processing result to another processing unit, and the other processing unit can directly obtain the processing result and continue to process the processing result.
  • this kind of scheme gets rid of the control unit, so that the processing units can cooperate directly and without obstacles, thus improving the efficiency of data processing through the operators in the neural network.
  • the waiting instruction is used to instruct to stop executing the data processing operation, until the data processing instruction is received, the data processing operation is re-executed, so that the first processor executes the waiting instruction, and the data processing instruction is used to control the first processor to perform data processing.
  • the timing of the operation since the waiting instruction is used to instruct to stop executing the data processing operation, until the data processing instruction is received, the data processing operation is re-executed, so that the first processor executes the waiting instruction, and the data processing instruction is used to control the first processor to perform data processing.
  • the first processing unit can execute the first operator only after receiving the data processing instruction, thereby realizing controlling the first processor to execute the data The timing of the processing operation.
  • the matching processing units of each operator in the neural network may be different, before the input data is processed by the neural network, the operators in the neural network are divided into matching processing units, and the allocation to each operator is determined.
  • the execution order of multiple operators of a processing unit enables the processing unit to perform data processing directly based on the multiple operators assigned to itself and the execution order of the determined operators when the input data of the neural network is obtained later. , instead of temporarily determining the matching processing unit of each operator in the process of data processing based on the neural network, which can improve the data processing efficiency.
  • the waiting instruction before the operator indicates that the data processing operation is performed when the data processing instruction is received
  • the data sending instruction is inserted after the operator, which is used to indicate that the current processing unit
  • send processing results and data processing instructions to other processing units so that other processing units process the processing results in response to the data processing instructions, so that multiple processing units can be processed without the participation of the control unit
  • the units jointly process data based on the neural network data conflicts and resource conflicts can be avoided, and a self-synchronization mechanism is realized.
  • the adjacent operators in the neural network have data dependence before, if there is no data dependence between two adjacent operators assigned to any processing unit, it means that the previous one of the two operators is Operators with data dependencies are assigned to other processing units. Therefore, if there is an association relationship between at least two adjacent operators in the memory, the first of the at least two operators Insert the waiting instruction before the operator, and insert the data sending instruction after the last operator of at least two operators, so that the two operators with data dependencies can be processed continuously, thus ensuring the correct execution of the operator in the neural network .
  • the processing unit of the two-operator matching sends the processing result of the first operator, which can ensure that the execution of the second operator can be based on the processing result of the first operator, and ensure the correct execution of the operators in the neural network.
  • the first processing unit does not need to store the processing result in the common storage unit based on the bus, and then the second processing unit reads the processing result from the common storage unit based on the bus. Instead, based on the direct connection path with the second processing unit, the processing result is directly stored in the memory of the second processing unit, so that the processor of the second processing unit can directly The processing result is read from its own memory and processed, which greatly shortens the data transmission link, thereby improving the efficiency of data interaction.
  • the first processing unit can process the processing result based on the third operator, obtain an updated processing result, and then send the updated processing result to the second processing unit, that is, the same processing unit can continuously execute multiple This ensures that when multiple processing units perform data processing based on the neural network, each processing unit can execute the operator that matches itself, and the execution order of multiple operators in the neural network is accurate. of.
  • the waiting instruction is used to instruct to stop executing the data processing operation, until the data processing instruction is received, the data processing operation is re-executed, so that the second processor executes the waiting instruction, and the data processing instruction is used to control the second processor to perform data processing.
  • the timing of the operation since the waiting instruction is used to instruct to stop executing the data processing operation, until the data processing instruction is received, the data processing operation is re-executed, so that the second processor executes the waiting instruction, and the data processing instruction is used to control the second processor to perform data processing.
  • the second processing unit can execute the second operator only after receiving the data processing instruction, thereby realizing controlling the second processor to execute the data The timing of the processing operation.
  • FIG. 8 shows a structural block diagram of a data processing device provided by an exemplary embodiment of the present application.
  • the data processing unit includes:
  • the first processing module 801 is configured to use the first processing unit to process the input data based on the first operator of the neural network to obtain a processing result, and the first processing unit matches the first operator;
  • a data sending module 802 configured to send a processing result to the second processing unit based on the direct connection between the first processing unit and the second processing unit, and the second processing unit matches the second operator of the neural network;
  • the second processing module 803 is configured to use the second processing unit to process the processing result based on the second operator.
  • the first processing unit includes a first processor
  • the first processing module 801 is configured to:
  • the input data is processed based on the first operator to obtain a processing result.
  • the second processing unit includes a second processor and a second memory
  • the data sending module 802 is configured to store the processing result in the second memory and send the data processing instruction to the second processor through the first processing unit based on the direct connection path.
  • the second processing module 803 is configured to:
  • the processing result is processed based on the second operator.
  • the device also includes:
  • a unit determination module configured to determine a matching processing unit for each operator in the plurality of operators included in the neural network
  • the data storage module is configured to, for each processing unit, store multiple operators in the memory of the processing unit according to the order in which the multiple operators matched by the processing unit are arranged in the neural network, before at least one operator in the memory inserting a waiting instruction, and inserting a data sending instruction after at least one operator;
  • the waiting instruction is used to instruct to stop executing the data processing operation until the data processing operation is re-executed when the data processing instruction is received
  • the data sending instruction is used to instruct the current processing unit to send the processing to other processing units when the processing based on the operator is completed. Results and data processing instructions.
  • the data storage module is used for:
  • a waiting instruction is inserted before the first operator of the at least two operators, and a waiting instruction is inserted before the last operator of the at least two operators Then insert the data sending instruction;
  • the first processing module 801 is further configured to use the first processing unit to process the processing result based on the third operator to obtain an updated processing result, and the third operator matches the first processing unit.
  • the device further includes:
  • the operator determination module is used to obtain the operator association relationship.
  • the operator association relationship indicates the associated operator of the operator included in the neural network.
  • the data processing of the associated operator depends on the processing result of the operator; from the operator association relationship, Query the associated operator of the first operator; determine the queried associated operator as the second operator.
  • the data processing solution provided by the embodiment of the present application adds a direct connection path between the processing units, so that the processing units can directly perform data interaction through the direct connection path, which greatly improves the communication between the processing units.
  • the processing unit after the processing unit performs data processing based on the matching operator, it directly sends the processing result to another processing unit, and the other processing unit can directly obtain the processing result.
  • the processing result continues to be processed, and this solution gets rid of the control unit, so that the processing units can cooperate directly and without obstacles, thereby improving the efficiency of data processing through the operators in the neural network.
  • An embodiment of the present application provides a computer device, the computer device includes a processor and a memory; the memory stores at least one program, and the at least one program is used to be executed by the processor to realize the data processing provided by the above-mentioned various method embodiments method.
  • a chip is configured in the computer device, for example, an artificial intelligence chip, and the computer device can execute the data processing method in the embodiment of the present application through the chip.
  • the computer device is a terminal.
  • FIG. 9 shows a structural block diagram of a terminal provided in an exemplary embodiment of the present application.
  • the terminal 900 is a terminal capable of accessing a wireless local area network as a wireless station, such as a smart phone, a tablet computer, and a wearable device.
  • the terminal 900 in this application includes at least one or more of the following components: a processor 910 , a memory 920 and at least two wireless links 930 .
  • processor 910 includes one or more processing cores.
  • the processor 910 uses various interfaces and lines to connect various parts of the entire terminal 900, and executes various functions and processes of the terminal 900 by running or executing program codes stored in the memory 920 and calling data stored in the memory 920 result.
  • the processor 910 adopts at least one of Digital Signal Processing (Digital Signal Processing, DSP), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), and Programmable Logic Array (Programmable Logic Array, PLA). A form of hardware to achieve.
  • DSP Digital Signal Processing
  • FPGA Field-Programmable Gate Array
  • PLA Programmable Logic Array
  • the processor 910 can integrate one or more of a central processing unit (Central Processing Unit, CPU), an image processor (Graphics Processing Unit, GPU), a neural network processor (Neural-network Processing Unit, NPU) and a modem, etc.
  • a central processing unit Central Processing Unit, CPU
  • an image processor Graphics Processing Unit, GPU
  • a neural network processor Neural-network Processing Unit, NPU
  • the CPU mainly handles the operating system, user interface and application programs, etc.
  • the GPU is used to render and draw the content that needs to be displayed on the display screen
  • the NPU is used to realize artificial intelligence (Artificial Intelligence, AI) functions
  • the modem is used to process wireless communication. It can be understood that, the above-mentioned modem may not be integrated into the processor 910, but may be realized by a single chip.
  • the processor 910 is used to control the working conditions of at least two wireless links 930, and correspondingly, the processor 910 is a processor integrated with a wireless fidelity (Wireless Fidelity, Wi-Fi) chip.
  • the Wi-Fi chip is a chip with dual Wi-Fi processing capabilities.
  • the Wi-Fi chip is a Dual Band Dual Concurrent (DBDC) chip, or a Dual Band Simultaneous (DBS) chip.
  • DBDC Dual Band Dual Concurrent
  • DBS Dual Band Simultaneous
  • the memory 920 includes a random access memory (Random Access Memory, RAM), and in some embodiments, the memory 920 includes a read-only memory (Read-Only Memory, ROM). In some embodiments, the memory 920 includes a non-transitory computer-readable storage medium. The memory 920 can be used to store program codes.
  • RAM Random Access Memory
  • ROM Read-Only Memory
  • the memory 920 includes a non-transitory computer-readable storage medium. The memory 920 can be used to store program codes.
  • the memory 920 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), Instructions and the like for implementing the following method embodiments; the storage data area can store data created according to the use of the terminal 900 (such as audio data, phonebook) and the like.
  • the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), Instructions and the like for implementing the following method embodiments; the storage data area can store data created according to the use of the terminal 900 (such as audio data, phonebook) and the like.
  • the memory 920 stores different schemes for receiving beacon frames of the wireless link 930 . And, the identifiers of the access nodes connected to the different wireless links 930, the identifiers of the wireless links 930, and the like.
  • the at least two wireless links 930 are used to connect different access nodes (Access Point, AP). Receive downlink data sent by the AP.
  • the different access nodes are access nodes in the same router or access nodes in different routers.
  • the terminal 900 further includes a display screen.
  • a display is a display component for displaying a user interface.
  • the display screen is a display screen with a touch function, and through the touch function, the user can use any suitable object such as a finger or a touch pen to perform a touch operation on the display screen.
  • the display screen is usually set on the front panel of the terminal 900 .
  • the display screen is designed as a full screen, a curved screen, a special-shaped screen, a double-sided screen or a folding screen.
  • the display screen is also designed as a combination of a full screen and a curved screen, a combination of a special-shaped screen and a curved screen, etc., which are not limited in this embodiment.
  • the structure of the terminal 900 shown in the above drawings does not constitute a limitation on the terminal 900, and the terminal 900 includes more or less components than those shown in the figure, or combines some components, or different component arrangements.
  • the terminal 900 also includes components such as a microphone, a loudspeaker, an input unit, a sensor, an audio circuit, a module, a power supply, and a Bluetooth module, which will not be repeated here.
  • the computer device is a server.
  • FIG. 10 shows a structural block diagram of a server provided by an exemplary embodiment of the present application.
  • the server 1000 may have relatively large differences due to different configurations or performances.
  • the device 1001 is loaded and executed to implement the methods provided by the above method embodiments.
  • the server may also have components such as a wired or wireless network interface, a keyboard, and an input and output interface for input and output, and the server may also include other components for realizing device functions, which will not be repeated here.
  • the present application also provides a computer-readable storage medium, the storage medium stores at least one program, and the at least one program is loaded and executed by the processor to implement the data processing methods shown in the above embodiments.
  • a chip is provided, the chip includes a programmable logic circuit and/or program instructions, and when the chip is run on a terminal, it is used to implement the data processing methods shown in the above embodiments .
  • the present application also provides a computer program product, the computer program product includes computer instructions, the computer instructions are stored in a computer-readable storage medium; a processor of a computer device reads the computer program from the computer-readable storage medium Instructions, the processor executes the computer instructions, so that the computer device implements the data processing methods shown in the above embodiments.
  • the steps in the data processing method of the above-mentioned embodiments can be completed by hardware, and can also be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage
  • the storage medium mentioned above may be a read-only memory, a magnetic disk or an optical disk, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Advance Control (AREA)

Abstract

L'invention concerne un procédé et un appareil de traitement de données, ainsi qu'un dispositif informatique et un support de stockage, qui se rapportent au domaine technique des ordinateurs. Le procédé consiste : à traiter des données d'entrée d'un réseau neuronal au moyen d'une première unité de traitement et sur la base d'un premier opérateur, de façon à obtenir un résultat de traitement, la première unité de traitement correspondant au premier opérateur (201) ; à envoyer le résultat de traitement à une seconde unité de traitement sur la base d'un trajet de communication directe entre la première unité de traitement et la seconde unité de traitement, la seconde unité de traitement correspondant à un second opérateur du réseau neuronal (202) ; et à traiter le résultat de traitement au moyen de la seconde unité de traitement et sur la base du second opérateur (203). Au moyen du procédé, un trajet de communication directe est ajouté entre des unités de traitement de telle sorte que les unités de traitement puissent effectuer directement une interaction de données au moyen du trajet de communication directe de façon à omettre une unité de commande et que, par conséquent, les unités de traitement puissent coopérer directement sans obstacles, ce qui permet d'améliorer l'efficacité d'un traitement de données au moyen d'un opérateur dans un réseau neuronal.
PCT/CN2022/133413 2021-12-24 2022-11-22 Procédé et appareil de traitement de données, ainsi que dispositif informatique et support de stockage Ceased WO2023116312A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111596506.X 2021-12-24
CN202111596506.XA CN116362305A (zh) 2021-12-24 2021-12-24 数据处理方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
WO2023116312A1 true WO2023116312A1 (fr) 2023-06-29

Family

ID=86901190

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/133413 Ceased WO2023116312A1 (fr) 2021-12-24 2022-11-22 Procédé et appareil de traitement de données, ainsi que dispositif informatique et support de stockage

Country Status (2)

Country Link
CN (1) CN116362305A (fr)
WO (1) WO2023116312A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116909626B (zh) * 2023-09-13 2023-12-29 腾讯科技(深圳)有限公司 数据处理方法、处理器及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549934A (zh) * 2018-04-25 2018-09-18 福州瑞芯微电子股份有限公司 一种基于自动集群神经网络芯片组的运算方法和装置
CN109359732A (zh) * 2018-09-30 2019-02-19 阿里巴巴集团控股有限公司 一种芯片及基于其的数据处理方法
US20200065654A1 (en) * 2018-08-22 2020-02-27 Electronics And Telecommunications Research Institute Neural network fusion apparatus and modular neural network fusion method and matching interface generation method for the same
CN111782403A (zh) * 2020-07-17 2020-10-16 Oppo广东移动通信有限公司 数据处理方法、装置以及电子设备
CN111860820A (zh) * 2020-07-31 2020-10-30 北京灵汐科技有限公司 神经网络算子的划分方法、装置及划分设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549934A (zh) * 2018-04-25 2018-09-18 福州瑞芯微电子股份有限公司 一种基于自动集群神经网络芯片组的运算方法和装置
US20200065654A1 (en) * 2018-08-22 2020-02-27 Electronics And Telecommunications Research Institute Neural network fusion apparatus and modular neural network fusion method and matching interface generation method for the same
CN109359732A (zh) * 2018-09-30 2019-02-19 阿里巴巴集团控股有限公司 一种芯片及基于其的数据处理方法
CN111782403A (zh) * 2020-07-17 2020-10-16 Oppo广东移动通信有限公司 数据处理方法、装置以及电子设备
CN111860820A (zh) * 2020-07-31 2020-10-30 北京灵汐科技有限公司 神经网络算子的划分方法、装置及划分设备

Also Published As

Publication number Publication date
CN116362305A (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
US11789847B2 (en) On-chip code breakpoint debugging method, on-chip processor, and chip breakpoint debugging system
US11398981B2 (en) Path creation method and device for network on chip and electronic apparatus
AU2019256257B2 (en) Processor core scheduling method and apparatus, terminal, and storage medium
EP3333733A1 (fr) Procédé et dispositif à utiliser dans l'exécution parallèle d'une base de données de terminal
CN110750341A (zh) 任务调度方法、装置、系统、终端设备及存储介质
WO2017128701A1 (fr) Procédé et appareil de mémorisation de données
WO2021232958A1 (fr) Procédé et appareil d'exécution d'opération, dispositif électronique et support de stockage
KR20210141704A (ko) 네트워크 기반 미디어 처리(nbmp)에서의 미디어 처리 함수를 대한 구성 파라미터의 그래프 표현 및 설명
US20250285206A1 (en) Gpu-sharing method and apparatus for serverless inference loads
CN111143010A (zh) 终端设备的控制方法、终端设备及存储介质
WO2025190223A1 (fr) Procédé et appareil permettant de mettre à jour un système d'exploitation, et dispositif électronique et support de stockage lisible
WO2023116312A1 (fr) Procédé et appareil de traitement de données, ainsi que dispositif informatique et support de stockage
CN111736982B (zh) 一种5g数据转发平面的数据转发处理方法和服务器
CN109033393A (zh) 贴纸处理方法、装置、存储介质及电子设备
WO2023103759A1 (fr) Procédé, système et appareil d'appel de service, dispositif, et support de stockage
CN119854195A (zh) 一种基于AutoSar的CAN报文路由方法、系统、设备及介质
CN116721007B (zh) 任务控制方法、系统及装置、电子设备和存储介质
US12288102B2 (en) System and method for queuing node load in data preprocessing
CN111199276B (zh) 数据处理方法及相关产品
US20220036206A1 (en) Containerized distributed rules engine
CN120011263A (zh) 数据共享方法、装置及电子设备
WO2021078176A1 (fr) Procédé et appareil d'exécution de processus de stockage, système de base de données et support de stockage
CN115344506B (zh) 内存地址的映射方法、内存访问方法和装置、芯片、设备
US12182901B2 (en) Interleaving and rearrangement to reduce a number of dimensions of image
CN107077578A (zh) 机器人指令的处理方法、装置及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22909628

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22909628

Country of ref document: EP

Kind code of ref document: A1