Information processing method, apparatus and system
By using configuration templates to configure the accelerator, the high workload problem of general-purpose processors when sending data processing tasks is solved, and efficient data processing task sending and execution is achieved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-06-18
- Publication Date
- 2026-03-19
AI Technical Summary
In the process of a general-purpose processor sending data processing tasks to an accelerator, existing technologies require each data processing task to be configured separately, resulting in numerous processor operations and low configuration efficiency.
The accelerator is configured using a configuration template, which includes processing parameters for the data processing task and a pointer to the target storage space. The target storage space is used to store the data indication parameters. The accelerator obtains the processing parameters and data indication parameters based on the configuration results and executes the data processing task.
This reduces the amount of operations and data the processor needs to perform when sending data processing tasks to the accelerator, thus improving processing efficiency. In particular, multiple data processing tasks of the same type can use the same configuration template, further improving processing efficiency.
Smart Images

Figure CN2025101724_19032026_PF_FP_ABST
Abstract
Description
Information processing method, device and system
[0001] The present application claims priority from the Chinese patent application No. 202411299422.3 filed on September 14, 2024, and entitled "Information processing method, device and system", the contents of which are hereby incorporated by reference in its entirety. TECHNICAL FIELD
[0002] The present application relates to the technical field of computer, in particular to an information processing method, device and system. BACKGROUND
[0003] In the field of information technology, a general processor can send a data processing task generated or received by the general processor to an accelerator for processing. The accelerator can have stronger processing capability than the general processor in some types of computation, and can achieve the effect of improving the processing efficiency of the data processing task. In the process of sending the data processing task to the accelerator by the general processor, the task parameters of the data processing task need to be configured to the accelerator, so that the accelerator can execute the data processing task according to the task parameters.
[0004] At present, in the process of sending the data processing task to the accelerator by the general processor, a configuration operation is performed on each data processing task to configure each task parameter of each data processing task to the accelerator. Thus, the general processor has more operations in the process of configuring the accelerator, and the configuration efficiency is not high. SUMMARY
[0005] The present application provides an information processing method, device and system, which can reduce the amount of processor operations and the amount of transmission data in the process of sending the data processing task to the accelerator by the general processor, and improve the processing efficiency of the process.
[0006] In a first aspect, an information processing method is provided, the method comprising: obtaining a data processing task, the data processing task comprising processing parameters used for data processing and data indication parameters used for indicating data; and configuring an accelerator according to a configuration template of the data processing task. The configuration template comprises the processing parameters of the data processing task and a pointer indicating a target storage space, the target storage space being used for storing the data indication parameters, the accelerator being used for obtaining the processing parameters and the data indication parameters according to a configuration result, and executing the data processing task according to the processing parameters and the data indication parameters.
[0007] In the information processing method provided in the embodiments of the present application, in the process of sending the data processing task to the accelerator, the data indication parameter (for example, the address parameter of the data) of the data processing task can be saved in the target storage space, and the accelerator can be simply and conveniently configured by directly using the configuration template. The configuration template can be an existing one, which includes the processing parameter of the fixed data processing task and the pointer indicating the target storage space. In this way, the method provided in the embodiments of the present application makes the processor operation amount in the process of sending the data processing task to the accelerator smaller, the processing data amount smaller, and the processing efficiency higher. In addition, the processing parameters of the multiple data processing tasks of the same type can be the same. Based on this, in the information processing method provided in the embodiments of the present application, the multiple data processing tasks of the same type can also use the same configuration template to configure the accelerator. In this way, the processor operation amount in the process of sending the multiple data processing tasks to the accelerator is further reduced, and the processing efficiency is improved.
[0008] In some possible implementation manners, the method comprises obtaining the configuration template of the data processing task in the at least one configuration template of the at least one data processing task.
[0009] The task parameters of the data processing tasks of different types are quite different. In this way, by setting the corresponding at least one configuration template for the at least one data processing task, the configuration template of the corresponding type can be obtained for one or more types of data processing tasks to simply, conveniently and accurately configure the accelerator.
[0010] In another possible implementation manner, the at least one configuration template comprises a first configuration template and a second configuration template, the first configuration template includes the processing parameter of the first processing and the pointer indicating the first target storage space, and the second configuration template includes the processing parameter of the second processing and the pointer indicating the second target storage space.
[0011] The processing parameters and the data indication parameter of the data processing tasks of different types can be different. The processing parameters and the pointers included in the configuration templates of different types are different. In this way, when the accelerator is configured according to the configuration templates of different types, there is no influence between them. The accuracy when the accelerator is configured according to the configuration templates of different types for various types of data processing tasks can be ensured.
[0012] In another possible implementation manner, the at least one configuration template comprises a first configuration template, the first configuration template includes multiple configuration templates, the multiple configuration templates include a third configuration template and a fourth configuration template, the third configuration template includes the processing parameter of the first processing and the pointer indicating the third target storage space, and the fourth configuration template includes the processing parameter of the first processing and the pointer indicating the fourth target storage space.
[0013] In some cases, multiple data processing tasks of the same type are sent to the accelerator concurrently. By setting multiple configuration templates for one type of configuration template, when multiple data processing tasks of the same type are sent to the accelerator concurrently, each data processing task can obtain the corresponding configuration template to simply and conveniently configure the accelerator. In addition, the processing parameters of data processing tasks of the same type are generally the same, and the data indication parameters are different. For multiple configuration templates of the same type, the processing parameters included are the same, and the pointers are different. In this way, when multiple data processing tasks are sent to the accelerator concurrently, the multiple configuration templates are used to configure the accelerator concurrently, and there is no influence between the multiple configuration templates, which can guarantee the accuracy of the configuration of the accelerator according to the multiple configuration templates.
[0014] In some possible implementation manners, the data processing task includes a first data processing task and a second data processing task, the first data processing task is used to indicate that the first data is processed in a first manner, and the second data processing task is used to indicate that the second data is processed in a second manner. In addition, the configuration of the accelerator according to the configuration template of the data processing task includes: configuring the accelerator according to the configuration template of the first data processing task, the configuration template of the first data processing task including the processing parameter of the first manner and the pointer indicating the first target storage space, and the first target storage space being used to store the data indication parameter of the first data. In addition, the configuration of the accelerator according to the configuration template of the second data processing task includes: configuring the accelerator according to the configuration template of the second data processing task, the configuration template of the second data processing task including the processing parameter of the second manner and the pointer indicating the second target storage space, and the second target storage space being used to store the data indication parameter of the second data.
[0015] The processing parameters and the data indication parameters of data processing tasks of different types are generally different. By using the information processing method provided in the embodiments of the present application, for multiple data processing tasks of different types, the data indication parameters can be respectively stored in different target storage spaces, and the accelerator can be simply and conveniently configured according to the corresponding type of configuration template. The multiple data processing tasks of different types can be simply and efficiently sent to the accelerator, and the processor operation amount and the processing data amount in the process are small, and the processing efficiency is high.
[0016] In some possible implementation manners, the second data is a processing result obtained by processing the first data in the first manner.
[0017] In some scenarios, multiple data processing tasks of different types are to be distributed to multiple accelerators in sequence, so that the multiple accelerators perform the multiple data processing tasks in sequence. Thus, in the information processing method provided in the embodiments of the present application, for a first data processing task and a second data processing task to be executed in sequence: the target storage space indicated by the pointer included in the configuration template of the second data processing task is used to store the processing result of the first data processing task, and the configuration templates of the first processing task and the second processing task are directly used to configure the accelerators. The method realizes that multiple data processing tasks can be simply and conveniently distributed to multiple accelerators in sequence, and the processor operation amount, the processing data amount, and the processing efficiency of the process are small.
[0018] In some possible implementation manners, the data processing task includes a third data processing task and a fourth data processing task, the third data processing task is used to perform a first type of processing on third data, and the fourth data processing task is used to perform the first type of processing on fourth data. And configuring the accelerator according to the configuration template of the data processing task includes: configuring the accelerator according to the configuration template of the third data processing task, the configuration template of the third data processing task including the processing parameter of the first type of processing and a pointer indicating a third target storage space, the third target storage space being used to store the data indication parameter of the third data. And configuring the accelerator according to the configuration template of the fourth data processing task, the configuration template of the fourth data processing task including the processing parameter of the first type of processing and a pointer indicating a fourth target storage space, the fourth target storage space being used to store the data indication parameter of the fourth data.
[0019] The processing parameters of multiple data processing tasks of the same type can be the same, and the data indication parameters can be different. In the information processing method provided in the embodiments of the present application, for multiple data processing tasks of the same type, the data indication parameters are respectively saved in different target storage spaces, and the accelerators are simply and conveniently configured according to the corresponding type of configuration template. The method realizes that multiple data processing tasks of the same type can be simply and efficiently sent to the accelerators in parallel, and the processor operation amount, the processing data amount, and the processing efficiency of the process are small.
[0020] In some possible implementation manners, the data indication parameter includes an address parameter used to indicate the storage address of the data. The address parameter of the data processing task includes an input data address parameter and an output data address parameter. The input data address parameter is used to indicate the storage address of the data, and the output data address parameter is used to indicate the storage address of the processing result of the data.
[0021] The data processing task can indicate a storage address of input data of the data processing task and a storage address of output data. Thus, in the information processing method provided in the embodiments of the present application, the input data address parameter and the output data address parameter of the data processing task can be stored in the target storage space. The method ensures that when the accelerator is configured according to the configuration template of the data processing task, the task parameters of the data processing task can be accurately written into the accelerator.
[0022] In some possible implementation manners, the information processing system includes a general processor and the accelerator. Configuring the accelerator according to the configuration template of the data processing task includes: the general processor sending indication information of the configuration template of the data processing task to the accelerator; and the accelerator obtaining the configuration template of the data processing task according to the indication information, and configuring the accelerator according to the configuration template of the data processing task.
[0023] In the information processing method provided in the embodiments of the present application, the general processor can only send the indication information of the configuration template to the accelerator, and the accelerator can automatically obtain the configuration template to configure the accelerator according to the indication information. This can better ensure that the operation amount and the communication data amount of the general processor are small during the process of sending the data processing task to the accelerator.
[0024] In some possible implementation manners, configuring the accelerator according to the configuration template of the data processing task includes: configuring a storage space of the accelerator according to the configuration template of the data processing task, so that the processing parameters included in the configuration template and the pointer indicating the target storage space are stored in the storage space of the accelerator.
[0025] Writing the instruction-related information into the storage space (for example, the register) of the accelerator can realize the delivery of the instruction to the register. Based on this, in the information processing method provided in the embodiments of the present application, the accelerator can be simply and conveniently configured by storing the processing parameters and the pointer included in the configuration template in the storage space of the accelerator, so as to execute the data processing task.
[0026] In a second aspect, an information processing apparatus is provided. The apparatus includes a task obtaining module and a configuration module. The task obtaining module is configured to obtain a data processing task. The data processing task includes processing parameters used for data processing and data indication parameters used for indicating data. The configuration module is configured to configure an accelerator according to a configuration template of the data processing task. The configuration template includes the processing parameters and a pointer indicating a target storage space. The target storage space is configured to store the data indication parameters. The accelerator is configured to obtain the processing parameters and the data indication parameters according to a configuration result, and execute the data processing task according to the processing parameters and the data indication parameters.
[0027] In some possible implementation manners, the configuration module is further configured to obtain the configuration template of the data processing task in the at least one configuration template of the at least one data processing task.
[0028] In some possible implementation manners, the at least one configuration template includes a first configuration template and a second configuration template, the first configuration template includes the processing parameter of the first processing and the pointer indicating the first target storage space, and the second configuration template includes the processing parameter of the second processing and the pointer indicating the second target storage space.
[0029] In some possible implementation manners, the at least one configuration template includes a first configuration template, the first configuration template includes a plurality of configuration templates, the plurality of configuration templates include a third configuration template and a fourth configuration template, the third configuration template includes the processing parameter of the first processing and the pointer indicating the third target storage space, and the fourth configuration template includes the processing parameter of the first processing and the pointer indicating the fourth target storage space.
[0030] In some possible implementation manners, the data processing task includes a first data processing task and a second data processing task, the first data processing task is configured to indicate the first processing on first data, and the second data processing task is configured to indicate the second processing on second data. The configuration module is further configured to configure the accelerator according to the configuration template of the first data processing task, the configuration template of the first data processing task includes the processing parameter of the first processing and the pointer indicating the first target storage space, and the first target storage space is configured to store the data indication parameter of the first data. The configuration module is further configured to configure the accelerator according to the configuration template of the second data processing task, the configuration template of the second data processing task includes the processing parameter of the second processing and the pointer indicating the second target storage space, and the second target storage space is configured to store the data indication parameter of the second data. In some possible implementation manners, the second data is the processing result of the first processing on the first data.
[0031] In some possible implementation manners, the data processing task includes a third data processing task and a fourth data processing task, the third data processing task is configured to indicate the first processing on third data, and the fourth data processing task is configured to indicate the first processing on fourth data. The configuration module is further configured to configure the accelerator according to the configuration template of the third data processing task, the configuration template of the third data processing task includes the processing parameter of the first processing and the pointer indicating the third target storage space, and the third target storage space is configured to store the data indication parameter of the third data. The configuration module is further configured to configure the accelerator according to the configuration template of the fourth data processing task, the configuration template of the fourth data processing task includes the processing parameter of the first processing and the pointer indicating the fourth target storage space, and the fourth target storage space is configured to store the data indication parameter of the fourth data.
[0032] In some possible implementation manners, the data indication parameter comprises an address parameter used for indicating a storage address of the data, and the address parameter of the data processing task comprises an input data address parameter and an output data address parameter. The input data address parameter is used for indicating the storage address of the data, and the output data address parameter is used for indicating a storage address of a processing result of the data.
[0033] In some possible implementation manners, the configuration module further comprises a first configuration module and a second configuration module. The first configuration module can be arranged on the general processor, and the second configuration module can be arranged on the accelerator. The first configuration module is configured to send the indication information of the configuration template of the data processing task to the accelerator. The second configuration module is configured to obtain the configuration template of the data processing task according to the indication information, and configure the accelerator according to the configuration template of the data processing task.
[0034] In some possible implementation manners, the configuration module is further configured to: configure a storage space of the accelerator according to the configuration template of the data processing task, so that the processing parameters included in the configuration template and a pointer indicating the target storage space are stored in the storage space of the accelerator.
[0035] In a third aspect, an information processing system is provided. The system comprises a general processor and an accelerator, and the general processor and the accelerator are configured to cooperatively execute the information processing method according to the first aspect.
[0036] In a fourth aspect, a chip system is provided. The chip system comprises a processor and a power supply circuit. The power supply circuit is configured to supply power to the processor, and the processor is configured to execute the information processing method according to the first aspect.
[0037] In a fifth aspect, a computing device is provided. The computing device comprises a processor and a memory. The processor is configured to execute instructions stored in the memory, so that the computing device executes the information processing method according to the first aspect.
[0038] In a sixth aspect, a computer program product is provided. The computer program product comprises instructions. When the instructions are executed by at least one computing device, the at least one computing device executes the information processing method according to the first aspect.
[0039] In a seventh aspect, a computer-readable storage medium is provided. The computer-readable storage medium comprises computer program instructions. When the computer program instructions are executed by a computing device, the computing device executes the information processing method according to the first aspect.
[0040] On the basis of the implementation manners of the above aspects, further combinations can be made to provide more implementation manners.
[0041] In the following description, more specific details are provided regarding implementations of the above aspects. BRIEF DESCRIPTION OF DRAWINGS
[0042] FIG. 1 is a schematic diagram of an architecture of an information processing system according to an embodiment of the present disclosure;
[0043] FIG. 2 is a schematic diagram of a flow of an information processing method according to an embodiment of the present disclosure;
[0044] FIG. 3 is a schematic diagram of a flow of an information processing method according to an embodiment of the present disclosure;
[0045] FIG. 4 is a schematic diagram of a flow of an information processing method according to an embodiment of the present disclosure;
[0046] FIG. 5 is a schematic diagram of a structure of an information processing apparatus according to an embodiment of the present disclosure;
[0047] FIG. 6 is a schematic diagram of a structure of a computing device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0048] A general-purpose processor is a type of processor that can be applied to multiple applications and can perform multiple types of computation. As an example, a general-purpose processor can include a central processing unit (CPU), a micro processing unit (MPU), a field-programmable gate array (FPGA), and the like.
[0049] An accelerator is also a type of processor, which can be specialized for a certain type of computation or have strong processing capability in a certain type of computation. As an example, an accelerator can include a graphic process unit (GPU), a neural processing unit (NPU), a tensor processing unit (TPU), and the like. Different types of accelerators can be specialized for different types of computation or have strong processing capability in different types of computation.
[0050] In this way, an accelerator can have stronger processing capability than a general-purpose processor in some types of computation, and some types of accelerators can have smaller power consumption and area than a general-purpose processor.
[0051] A general-purpose processor can cooperate with an accelerator, and the general-purpose processor sends a data processing task generated or received by the general-purpose processor to the accelerator for processing, which can achieve the effects of improving the processing efficiency of the data processing task, reducing the power consumption of the task processing process, improving the quality of the data processing result, and the like.
[0052] In the process that the general processor sends the data processing task to the accelerator, the task parameters of the data processing task need to be configured to the accelerator, so that the accelerator executes the data processing task according to the task parameters.
[0053] At present, in the process that the general processor sends the data processing task to the accelerator, the configuration operation is performed on each data processing task to configure each task parameter of each data processing task to the accelerator. Thus, the processor operation of the general processor in the process of sending the data processing task to the accelerator is more, the processing data amount is more, and the processing efficiency of the process is not high.
[0054] For example, in some implementations, in the process of sending the data processing task to the accelerator, the general processor configures each task parameter of the data processing task to the register of the accelerator one by one for each data processing task. Thus, when the parameter amount of the task parameter is more (for example, the task parameter of one data processing task includes hundreds or thousands), the general processor needs to perform a large number of register write operations each time the data processing task is sent to the accelerator, and the processing efficiency is low.
[0055] For another example, in other implementations, in the process of sending the data processing task to the accelerator, the general processor generates a task parameter configuration list for each data processing task and saves it in the memory. The task parameter configuration list includes the task parameters that need to be configured to the accelerator. In addition, the general processor configures the memory address of the task parameter configuration list to the accelerator, and the accelerator reads the task parameter configuration list from the memory to perform the accelerator configuration. Thus, for each data processing task sent to the accelerator, the general processor needs to generate a task parameter configuration list and perform the operation of writing the task parameter configuration list in the memory, and the number of memory operations of the processor and the parameters written by the memory operation are still more, and the processing efficiency is not high.
[0056] The embodiment of the present application provides an information processing method, which comprises the following steps: obtaining a data processing task, the data processing task comprising a data indication parameter used for indicating data and a processing parameter used for processing the data; and configuring an accelerator according to a configuration template of the data processing task. The configuration template comprises the processing parameter of the data processing task and a pointer indicating a target storage space, the target storage space being used for storing the data indication parameter of the data processing task, the accelerator being used for obtaining the processing parameter and the data indication parameter according to a configuration result, and executing the data processing task according to the processing parameter and the data indication parameter.
[0057] In the information processing method provided in the embodiments of the present application, in the process of sending the data processing task to the accelerator, the data indication parameter (for example, the address parameter of the data) of the data processing task can be saved in the target storage space, and the accelerator can be configured simply and conveniently by directly using the configuration template. The configuration template can be a pre-set saved one, which includes the fixed processing parameter of the data processing task and the pointer of the target storage space. Compared with the method of separately configuring the data processing task, the operation amount of the method provided in the embodiments of the present application is smaller, the processing data amount is smaller, and the processing efficiency is higher. In addition, in the information processing method provided in the embodiments of the present application, the same configuration template can be used to configure the accelerator for multiple data processing tasks of the same kind (for example, multiple data processing tasks with the same processing parameter), which further reduces the operation amount of the process of sending multiple data processing tasks to the accelerator, and improves the processing efficiency.
[0058] The information processing method provided in the embodiments of the present application can be applied to various scenarios in which the data processing task of the general processor needs to be sent to the accelerator for processing. For example, in the process of running an application by the general processor, a data processing task is generated, and the general processor needs to send the data processing task to the accelerator for processing. At this time, the information processing method provided in the embodiments of the present application can be used to configure the accelerator.
[0059] In addition, in the information processing method provided in the embodiments of the present application, the data can be various types of data such as images, texts and audios, and the data processing task can be various types of data processing tasks such as image processing tasks and data encoding tasks.
[0060] The system architecture provided in the embodiments of the present application is introduced below.
[0061] FIG. 1 is a schematic diagram of the architecture of the information processing system provided in the embodiments of the present application. The information processing system 100 can be used to implement the information processing method provided in the embodiments of the present application. As shown in FIG. 1, the information processing system 100 includes a general processor 110, an accelerator 120 and a storage medium 130.
[0062] The general processor 110 can be used to run various applications and perform various tasks. The general processor 110 can also be used to communicate with other devices, for example, to communicate with other servers, terminals and the like.
[0063] The general processor 110 can obtain a data processing task. For example, the general processor 110 can generate a data processing task, or receive a data processing task sent by another device. As an example, the general processor 110 runs an image processing application and generates an image processing task. As another example, the general processor 110 receives an image processing task sent by a client.
[0064] The general-purpose processor 110 can include one or more general-purpose processors, which can be a combination of one or more of a CPU, an MPU, an FPGA, etc.
[0065] The accelerator 120 can be a combination of one or more of various types of accelerators such as a GPU, an NPU, a TPU, etc.
[0066] The accelerator 120 can be used in communication with the general-purpose processor 110, and a data processing task acquired by the general-purpose processor 110 can be executed by the accelerator 120.
[0067] In some embodiments, the general-purpose processor 110 can perform the information processing method provided by the embodiments of the present application in cooperation with the accelerator 120 to implement sending a data processing task of the general-purpose processor 110 to the accelerator 120 for processing.
[0068] For example, after the general-purpose processor 110 acquires a data processing task, the general-purpose processor 110 can cooperate with the accelerator 120 to configure the accelerator 120 according to a configuration template of the data processing task, and the configuration template includes a processing parameter of the data processing task and a pointer of a target storage space, and the target storage space is used to store a data indication parameter of the data processing task.
[0069] The target storage space can refer to an allocated storage space used to store the data indication parameter of the data processing task, such as the second storage space in the storage medium 130 in FIG. 1.
[0070] The data indication parameter of the data processing task can be written into the target storage space by the general-purpose processor 110 or the accelerator 120. For example, after the general-purpose processor 110 acquires the data processing task, the general-purpose processor 110 writes the data indication parameter of the data processing task into the target storage space. Alternatively, after the general-purpose processor 110 acquires the data processing task, the general-purpose processor 110 sends the data indication parameter of the data processing task to the accelerator 120, and the accelerator 120 writes the data indication parameter of the data processing task into the target storage space.
[0071] In some embodiments, the storage medium 130 can store a pre-set configuration template (for example, the first storage space in the storage medium 130 in FIG. 1 can store a configuration template), so as to facilitate the general-purpose processor 110 and the accelerator 120 to cooperate to configure the accelerator 120 according to the configuration template of the data processing task, and to acquire the configuration template of the data processing task from the storage medium 130.
[0072] The storage medium 130 can include various types or a combination of multiple types of storage media such as an optical disc, a magnetic disc (which can include a floppy disc, a hard disc, etc.), a solid-state hard disc, etc.
[0073] As an example, the general processor 110 and the accelerator 120 can cooperatively configure the accelerator 120 according to the configuration template of the data processing task in the following manner: the general processor 110 sends indication information of the configuration template of the data processing task to the accelerator 120, the accelerator 120 acquires the configuration template of the data processing task from the storage medium 130 according to the received indication information, and the accelerator 120 configures the accelerator 120 according to the acquired configuration template. For example, the accelerator 120 writes the processing parameters and the data indication parameters of the data processing task into the parameter storage space (such as a register or the like) of the accelerator 120 according to the configuration template.
[0074] For more details about the information processing method provided by the embodiments of the present application and cooperatively executed by the general processor 110 and the accelerator 120, please refer to FIG. 2, FIG. 3, FIG. 4 and the related descriptions thereof.
[0075] The accelerator 120 can also be used to acquire the processing parameters and the data indication parameters of the data processing task according to the configuration result, and execute the data processing task according to the processing parameters and the data indication parameters of the data processing task.
[0076] The accelerator 120 can also feed back the processing result of the data processing task to the general processor 110, so that the general processor 110 can know the processing result.
[0077] In some embodiments, the accelerator 120 can include a plurality of accelerators 120-1, 120-2, …, wherein one data processing task of the general processor 110 can be sent to one or more accelerators of the accelerator 120 for processing according to the requirement, and the configuration of the accelerator in the process of sending the data processing task to the accelerator can be implemented by the information processing method provided by the embodiments of the present application.
[0078] In some embodiments, the plurality of accelerators 120-1, 120-2, …, can include one or more types of accelerators, and different types of accelerators can be used to process different types of data processing tasks. For example, an image processing accelerator is used to process image rendering and other image processing tasks, and an image encoding accelerator is used to process image encoding tasks.
[0079] Each of the plurality of accelerators 120-1, 120-2, …, can be a different processor (such as a different GPU), or the plurality of accelerators can also be arranged on one processor (for example, one GPU includes a plurality of processing components, and each of the plurality of processing components serves as an accelerator).
[0080] In some embodiments, the general processor 110 and the accelerator 120 can be disposed on the same computing device, for example, on the same server, terminal, or the like computing device. In this way, the computing device can perform the information processing method provided by the embodiments of the present application to implement sending the data processing task of the general processor 110 in the computing device to the accelerator 120 in the computing device for processing.
[0081] In some embodiments, the general processor 110 and the accelerator 120 can be disposed on different computing devices, for example, the general processor 110 is disposed on a first computing device (not shown in FIG. 1), and the accelerator 120 is disposed on a second computing device (not shown in FIG. 1). In this way, the first computing device and the second computing device can cooperatively perform the information processing method provided by the embodiments of the present application to implement sending the data processing task of the general processor 110 in the first computing device to the accelerator 120 in the second computing device for processing.
[0082] FIG. 1 is only a schematic diagram of an architecture of an information processing system provided by the embodiments of the present application, and the positional relationship between the devices, components, modules, and the like shown in the figure does not constitute any limitation.
[0083] For example, in FIG. 1, the first storage space and the second storage space are both disposed in the same storage medium 130, and in other cases, the first storage space and the second storage space can be disposed in different storage media. For example, the first storage space is disposed in a first storage medium, and the second storage space is disposed in a second storage medium. The first storage medium can be an external storage medium of the accelerator 120, or an internal storage medium of the accelerator 120.
[0084] For another example, in FIG. 1, the storage medium 130 is a component outside the accelerator 120, and in other cases, the first storage medium 130 can also be a storage medium inside the accelerator 120.
[0085] The information processing method provided by the embodiments of the present application will be described in detail below. The information processing method provided by the embodiments of the present application can be implemented on the information processing system 100 shown in FIG. 1.
[0086] FIG. 2 is a flowchart of an information processing method provided by the embodiments of the present application. The information processing method shown in FIG. 2 can be performed by a computing device or a processing device.
[0087] For example, the computing device includes the general processor 110 and the accelerator 120 in the information processing system 100, and the computing device can perform the information processing method shown in FIG. 2 to configure the accelerator 120 included in the computing device.
[0088] For example, the information processing method shown in FIG. 2 can be cooperatively executed by the general processor 110 and the accelerator 120 in the information processing system 100.
[0089] For ease of understanding, the information processing method cooperatively executed by the general processor and the accelerator is introduced in FIG. 2. The operations in the method executed by the general processor can constitute an information processing method executed by the general processor alone, and the operations executed by the accelerator can constitute an information processing method executed by the accelerator alone.
[0090] As shown in FIG. 2, the method includes the following steps.
[0091] Step 210, obtaining a data processing task.
[0092] In step 210, the data processing task can be obtained by the general processor. For example, the general processor runs an application to generate a data processing task, or other devices send a data processing task to the general processor, so that the general processor obtains the data processing task.
[0093] The data processing task is used to instruct to perform a specified processing / operation on data to obtain a processing result. The data can be various types of data such as images, texts, audios, etc. The data processing task can be various types of data processing tasks such as image cropping tasks, image encoding tasks, etc.
[0094] The data processing task can include task parameters involved or used in the execution of the task, which can include processing parameters of the data processing task and data indication parameters.
[0095] The data indication parameter refers to a parameter used to indicate data related information. It can include parameters indicating various information related to the data processed by the data processing task. As an example, the data indication parameter includes address parameters, time parameters, data size parameters, etc.
[0096] The address parameter can refer to a parameter used to indicate the storage address of the data. In some embodiments, the address parameter of the data can include an input data address parameter and an output data address parameter.
[0097] The input data address parameter is used to indicate the storage address of the input data (i.e. the processed data) of the data processing task.
[0098] The output data address parameter is used to indicate the storage address of the output data (i.e. the processing result obtained by processing the data) of the data processing task.
[0099] The time parameter of the data can refer to a parameter used to indicate the time corresponding to the data. For example, the data to be processed by the data processing task is the data between the first time and the second time on February 1, and the time parameter of the data is the first time to the second time on February 1.
[0100] The data size parameter of the data can refer to a parameter used to indicate the data size corresponding to the data. For example, the data to be processed by the data processing task is a data block in a certain data set, and the data size of the data block is 200KB, and the data size parameter of the data is 200KB.
[0101] The processing parameter can refer to a processing parameter used for processing the data, and can include various parameters related to the processing performed by the data processing task. For example, taking the image cropping task as an example, the processing parameter of the data can include the image resolution before cropping, the image resolution after cropping, the image cropping size parameter, the image cropping area shape parameter, etc.
[0102] The number of parameters of the task parameter of the data processing task can be large, for example, the processing parameter includes several hundred or several thousand. Relatively speaking, the number of parameters of the data indication parameter of the data processing task is small.
[0103] In step 210, the general processor can obtain one or more data processing tasks, and can send the one or more data processing tasks to the accelerator.
[0104] Among them, the general processor can obtain multiple data processing tasks at the same time, or can obtain multiple data processing tasks in time sequence.
[0105] The multiple data processing tasks obtained by the general processor can include one type or multiple types of data processing tasks.
[0106] The multiple data processing tasks belonging to the same type are all used for the same type of data processing. For example, tasks A1 and A2 belong to the same type, task A1 is used for column projection processing of image 1, and task A2 is used for column projection processing of image 2.
[0107] The multiple data processing tasks belonging to different types are respectively used for different types of data processing. For example, tasks A1 and B1 belong to different types, task A1 is used for column projection processing of image 1, and task B1 is used for histogram detection processing of image.
[0108] Step 220, configuring the accelerator according to the configuration template of the data processing task.
[0109] In the process that the general processor sends the data processing task to the accelerator, the task parameters of the data processing task need to be configured to the accelerator. The configuration of the accelerator can refer to storing the task parameters of the data processing task in the accelerator.
[0110] Thus, after the configuration of the accelerator, the accelerator can obtain the task parameters of the data processing task according to the configuration result, and execute the data processing task according to the task parameters.
[0111] The implementation manner of configuring the accelerator to store the task parameters of the data processing task in the accelerator can include various manners, for example, the task parameters of the data processing task can be written into instructions and stored in the storage space (such as a register) of the accelerator, or the task parameters of the data processing task can be directly written into the storage space (such as a register) of the accelerator, and various feasible manners.
[0112] Taking writing the task parameters of the data processing task into the register of the accelerator as an example, each parameter in the task parameters can be written into a register in the accelerator. Thus, for each data processing task sent to the accelerator, when the accelerator is configured, the task parameters can be written into multiple registers (for example, several hundred or several thousand) of the accelerator.
[0113] Different data processing tasks are used to process different data, and the data indicating parameters (such as address parameters) in the task parameters of each data processing task can be different. For multiple data processing tasks belonging to the same type, the data indicating parameters in the task parameters of each data processing task can be different, but the processing parameters in the task parameters can be the same.
[0114] Thus, for multiple data processing tasks belonging to the same type, the data indicating parameters in the task parameters are different, but the processing parameters in the task parameters are the same.
[0115] Based on this, in the embodiments of the present application, a configuration template of the data processing task can be generated, the configuration template can include the processing parameters in the task parameters contained in the data processing task, and a target pointer. The target pointer is used to indicate a target storage space, and the target storage space is used to store the data indicating parameters in the task parameters contained in the data processing task.
[0116] In the process that the general processor sends the data processing task to the accelerator, the accelerator can be configured according to the configuration template, so that the processing parameters and the target pointer in the configuration template are stored in the accelerator. In addition, the data indicating parameters of the data processing task can be written into the target storage space.
[0117] After the configuration of the accelerator, the accelerator can obtain the task parameters (including the processing parameters and the address parameters) of the data processing task according to the configuration result, and execute the data processing task according to the task parameters.
[0118] The accelerator obtaining the task parameters of the data processing task according to the configuration result can include: the accelerator first obtaining the processing parameters and the target pointer of the data processing task according to the configuration result, and then the accelerator obtaining the data indication parameters of the data processing task in the target storage space according to the target pointer, so that the processing parameters and the data indication parameters of the data processing task are obtained.
[0119] As an example, the accelerator configuration mode is to write the task parameters of the data processing task into the registers of the accelerator. In this case, the configuration template can include the processing parameters in the data processing task and the accelerator registers corresponding to the storage of each processing parameter, and the target pointer and the accelerator register corresponding to the storage of the target pointer (the accelerator includes multiple registers). When the accelerator is configured according to the configuration template, the processing parameters and the target pointer in the configuration template can be written into the corresponding accelerator registers according to the configuration template. In addition, the accelerator can read the processing parameters and the target pointer in the registers, so as to obtain the task parameters of the processing parameters and the data indication parameters, and execute the data processing task according to the task parameters of the processing parameters and the address parameters.
[0120] In the embodiments of the present application, for multiple data processing tasks of the same type, the accelerator can be configured according to the same configuration template during the process of sending them to the accelerator.
[0121] As an example, a corresponding configuration template T1 can be generated for the column projection processing, and the configuration template includes the processing parameters p1 of the column projection processing and the target pointer n1, and the target pointer n1 is used to indicate the memory block M1 in the memory (i.e. the target storage space).
[0122] The general processor first sends task A1 to the accelerator for processing, and task A1 is used for column projection processing of image 1, and task A1 includes the address parameter d1 of image 1 and the processing parameters p1 of the column projection processing.
[0123] At this time, the data indication parameters d1 of task A1 can be saved in the memory block M1, and the accelerator is configured according to the configuration template T1, so that the processing parameters p1 and the target pointer n1 in the configuration template T1 are stored in the accelerator. In this way, the accelerator can obtain the processing parameters p1 and the target pointer n1 of task A1 according to the configuration result, obtain the data indication parameters d1 of image 1 in the memory block M1 indicated by the target pointer n1, and execute task A1 according to the obtained task parameters (including the processing parameters p1 and the data indication parameters d1).
[0124] Then, the general processor sends task A2 to the accelerator for processing, and task A2 is used for column projection processing of image 2, and task A2 includes the data indication parameters d2 of image 2 and the processing parameters p1 of the column projection processing.
[0125] At this time, the address parameter d2 of the task A2 can be saved in the memory block M1, and the accelerator is still configured according to the configuration template T1, so that the processing parameter p1, the target pointer n1 in the configuration template T1 are stored in the accelerator. In this way, the accelerator can obtain the processing parameter p1, the target pointer n1 of the task A1 according to the configuration result, and obtain the data indication parameter d2 of the image 2 in the memory block M1 indicated by the target pointer n1, and execute the task A2 according to the obtained task parameters (including the processing parameter p1, the data indication parameter d2).
[0126] In some embodiments, the configuration template can be saved in a storage medium after being generated, so as to obtain the required configuration template from the storage medium when needed.
[0127] The configuration template can be generated by any available processing device. For example, it can be generated by a general-purpose processor or an accelerator or other device.
[0128] The configuration template can be saved in any available storage medium. For example, the computing device includes a general-purpose processor, an accelerator, and a memory, etc., and the configuration template can be saved in the memory of the computing device, and the general-purpose processor or the accelerator can obtain the required configuration template from the memory of the computing device. Alternatively, the configuration template can also be saved in the memory inside the accelerator, and the general-purpose processor or the accelerator can obtain the required configuration template from the memory inside the accelerator.
[0129] In some embodiments, a plurality of configuration templates corresponding to a plurality of different types of data processing tasks can be generated. Different types of configuration templates can include different processing parameters and target pointers.
[0130] In step 220, for each data processing task, a configuration template corresponding to the task type of the data processing task can be obtained from a plurality of configuration templates as the configuration template of the data processing task.
[0131] As an example, the plurality of configuration templates can include a first configuration template and a second configuration template. The first configuration template is the configuration template of the first data processing task, and the second configuration template is the configuration template of the second data processing task. The first and second are only used to distinguish different types of configuration templates and different types of data processing tasks, and do not limit the configuration templates and data processing tasks.
[0132] The first data processing task is used to indicate that the first data is processed in the first way, the first configuration template includes the processing parameter of the first processing and the first target pointer, and the first target pointer indicates the first target storage space. The first target storage space is used to store the data indication parameter (including the data indication parameter of the first data, such as the address parameter of the first data) of the first data processing task.
[0133] The second data processing task is used to instruct the second data to be processed in a second manner. The second configuration template includes processing parameters of the second processing and a second target pointer. The second target pointer indicates a second target storage space. The second target storage space is used to store data indication parameters of the second data processing task (including data indication parameters of the second data, such as an address parameter of the second data, etc.).
[0134] The first and second are only used to distinguish different data and different target storage spaces, and do not limit the data and the target storage space.
[0135] In this way, when the general processor obtains a plurality of data processing tasks, and the plurality of data processing tasks include first data processing tasks and second data processing tasks of different types:
[0136] The first data processing task is used to instruct the first data to be processed in a first manner. The first data processing task corresponds to a first configuration template. The first configuration template includes processing parameters of the first processing and a first target pointer (indicating a first target storage space).
[0137] In step 220, the data indication parameters of the first data processing task can be saved in the first target storage space, and the accelerator can be configured according to the first configuration template. The accelerator can obtain the processing parameters and the data indication parameters of the first data processing task according to the configuration result, and execute the first data processing task according to the obtained processing parameters and the data indication parameters.
[0138] The second data processing task is used to instruct the second data to be processed in a second manner. The second data processing task corresponds to a second configuration template. The second configuration template includes processing parameters of the second processing and a second target pointer (indicating a second target storage space).
[0139] In step 220, the data indication parameters of the second data processing task can be saved in the second target storage space, and the accelerator can be configured according to the second configuration template. The accelerator can obtain the processing parameters and the data indication parameters of the second data processing task according to the configuration result, and execute the second data processing task according to the obtained processing parameters and the data indication parameters.
[0140] In some embodiments, for a type of data processing task, one type of configuration template can also include a plurality of configuration templates. The plurality of configuration templates include the same processing parameters, and the plurality of configuration templates can include different target pointers.
[0141] Based on this, when the general processor obtains multiple data processing tasks of one type, and the multiple data processing tasks need to be sent to the accelerator in parallel in step 220 (for example, sent to one accelerator or sent to multiple accelerators respectively), the corresponding configuration template can be obtained for any one of the data processing tasks to configure the accelerator.
[0142] As an example, the first type of configuration template can be any type of configuration template, and the first type of configuration template includes multiple configuration templates, such as a third configuration template, a fourth configuration template, and the like. Among them, the processing parameters contained in the multiple configuration templates are the same, and the data indication parameters are different.
[0143] For example, the first type of configuration template is the configuration template of the first type of data processing task, and the first type of data processing task is used to indicate that the data is processed in the first type.
[0144] The third configuration template includes the processing parameter of the first type of processing and a third target pointer, and the third target pointer indicates a third target storage space.
[0145] The fourth configuration template includes the processing parameter of the first type of processing and a fourth target pointer, and the fourth target pointer indicates a fourth target storage space.
[0146] Among them, the first type is only for convenient description, and does not limit the configuration template and the data processing task. In addition, the third and the fourth are only used to distinguish different types of configuration templates and different target storage spaces, and do not limit the configuration template and the target storage space.
[0147] In this way, when the general processor obtains multiple data processing tasks, and the multiple data processing tasks include a third data processing task and a fourth data processing task of the same type:
[0148] For the third data processing task, which is used to indicate that the third data is processed in the first type, the obtained configuration template of the third data processing task can be the third configuration template in the first type of configuration template.
[0149] In step 220, the data indication parameter of the third data processing task can be saved in the third target storage space, and the accelerator can be configured according to the third configuration template. The accelerator can obtain the processing parameter and the data indication parameter of the third data processing task according to the configuration result, and execute the third data processing task according to the obtained processing parameter and data indication parameter.
[0150] For the fourth data processing task, which is used to indicate that the fourth data is processed in the first type, the corresponding configuration template can be the fourth configuration template in the first type of configuration template.
[0151] In step 220, the data indication parameter of the fourth data processing task can be saved in the fourth target storage space, and the accelerator can be configured according to the fourth configuration template. The accelerator can obtain the processing parameter and the data indication parameter of the fourth data processing task according to the configuration result, and execute the fourth data processing task according to the obtained processing parameter and data indication parameter.
[0152] In step 220, the accelerator can be configured according to the configuration template of the data processing task by the general processor and the accelerator in a cooperative manner. The cooperative manner of the general processor and the accelerator includes various manners.
[0153] In some implementations, the general processor can send the configuration template of the data processing task to the accelerator. The accelerator configures the accelerator according to the received configuration template, for example, configures the storage space of the accelerator.
[0154] In other implementations, the general processor can determine the configuration template of the data processing task in the at least one existing configuration template, and send the indication information of the configuration template of the data processing task to the accelerator. The accelerator obtains the configuration template of the data processing task according to the received indication information, and configures the accelerator according to the obtained configuration template.
[0155] Through the embodiment, in the process of sending the data processing task to the accelerator, the general processor only needs to send the indication information of the configuration template of the data processing task to the accelerator, and the accelerator can obtain the configuration template according to the indication information to configure the accelerator. The operation amount of the general processor in the process, the communication data amount with the accelerator, and the processing efficiency are all small.
[0156] The indication information of the configuration template can be used to indicate the way of obtaining the configuration template. For example, at least one configuration template is saved in the storage medium, each configuration template has a corresponding identifier, the indication information includes the identifier of the required configuration template, and the accelerator can obtain the required configuration template from the plurality of configuration templates according to the identifier. For another example, at least one configuration template is saved in the storage medium, each configuration template has a corresponding storage address, the indication information includes the storage address of the required configuration template, and the accelerator can obtain the required configuration template from the storage address.
[0157] In step 220, the address parameter of the data processing task can be written into the target storage medium by the general processor or the accelerator according to the scene or the requirement.
[0158] For the convenience of understanding, the information processing method executed by the general processor and the accelerator in cooperation in different scenes and the operations of the general processor and the accelerator in the method are introduced by way of example through FIG. 3 and FIG. 4.
[0159] FIG. 3 is a flow diagram of another information processing method according to an embodiment of the present application. The information processing method shown in FIG. 3 can be performed by the general processor 110 and the accelerator 120 in the information processing system 100.
[0160] The information processing method shown in FIG. 3 can be applied to a scenario where the general processor directly sends a data processing task to the accelerator for processing. For any data processing task, the method shown in FIG. 3 can be used to configure the accelerator according to the configuration template of the data processing task by the general processor and the accelerator.
[0161] As shown in FIG. 3, the method can include the following steps.
[0162] In step 310, the general processor obtains a data processing task.
[0163] In step 320, the general processor writes data indication parameters of the data processing task into a target storage space, which is a storage space indicated by a target pointer in the configuration template of the data processing task.
[0164] In step 330, the general processor sends indication information of the configuration template of the data processing task to the accelerator.
[0165] In step 340, the accelerator obtains the configuration template of the data processing task according to the indication information of the configuration template of the data processing task.
[0166] The configuration template of the data processing task includes processing parameters of the data processing task and a target pointer.
[0167] In step 350, the accelerator configures the accelerator according to the configuration template of the data processing task.
[0168] In this way, when the accelerator executes the data processing task, it can read the processing parameters and the target pointer of the data processing task according to the configuration result, and can also read the data indication parameters of the data processing task according to the target pointer to the target storage space, and then the accelerator can execute the data processing task according to the processing parameters and the data indication parameters of the data processing task.
[0169] The specific content of each operation in steps 310-350 is similar to the operation in the method shown in FIG. 2, and can be referred to FIG. 2 and the related description.
[0170] In some scenarios, the data processing task obtained by the general processor (referred to as a target data processing task for ease of description) is used to indicate multiple data processing on target data. In addition, multiple accelerators are required to process multiple data processing tasks to complete the target data processing task.
[0171] The plurality of accelerators can process the plurality of data processing tasks in an order. For example, the plurality of data processing tasks include a first data processing task and a second data processing task. The first accelerator processes the first data processing task, and the first data processing task indicates a first processing on target data. The second accelerator processes the second data processing task, and the second data processing task indicates a second processing on a processing result of the first data processing task (i.e., a processing result of the first processing on the target data).
[0172] The first and the second are only used to distinguish different processing tasks and accelerators, and do not limit the processing tasks and the accelerators.
[0173] As an example, the general processor obtains a target image processing task, image processing task C1, which indicates a noise removal processing (referred to as a noise removal task) on an image (i.e., target data) captured by a camera, a target recognition processing (referred to as a target recognition task) on the image after the noise removal, and an image encoding processing (referred to as an image encoding task) on the image after the target recognition.
[0174] To complete the image processing task C1, the noise removal task needs to be processed by the accelerator 1 first, then the target recognition task needs to be processed by the accelerator 2, and then the image encoding task needs to be processed by the accelerator 3.
[0175] For each data processing task that needs to be processed by each accelerator, the accelerator can be configured by the information processing method provided in the embodiments of the present application in the process of sending the data processing task to the accelerator.
[0176] FIG. 4 is a flow diagram of an information processing method provided in the embodiments of the present application. The information processing method shown in FIG. 4 can be cooperatively executed by the general processor 110 and the accelerators 120 in the information processing system 100. The accelerators 120 can include a plurality of accelerators.
[0177] The information processing method in FIG. 4 can be applied to the scenario described above, in which a plurality of accelerators are required to process a plurality of data processing tasks to complete a target data processing task. The information processing method in FIG. 4 can be used to configure a plurality of accelerators in the process of scheduling a plurality of accelerators to perform a plurality of data processing in this scenario.
[0178] In some embodiments, the plurality of accelerators can be configured by a special device or component in the method shown in FIG. 4, which can be referred to as a scheduler. The scheduler can be implemented by software or hardware. The scheduler implemented by hardware can be referred to as a hardware scheduler.
[0179] For example, the scheduler can be implemented by a hardware part in a general processor or an accelerator or other processing device, or by software running in a general processor or an accelerator or other processing device.
[0180] In FIG. 4, the plurality of accelerators (e.g., accelerator 1, accelerator 2, accelerator 3, etc.) are mainly configured by the scheduler, which is implemented by a hardware part in the accelerator (e.g., any one of accelerator 1, accelerator 2, accelerator 3) as an example for the description.
[0181] As shown in FIG. 4, the method can include:
[0182] Step 410, the general processor acquires a target data processing task.
[0183] The target data processing task is used to indicate a plurality of data processing on the target data, for example, a target image processing task-image processing task C1 indicates a noise removal processing on an image (referred to as a noise removal task), a target recognition processing on the image after noise removal (referred to as a target recognition task), and an image encoding processing on the image after target recognition (referred to as an image encoding task).
[0184] Step 420, the general processor sends the indication information of a plurality of configuration templates of the target data processing task and the task information of the target data processing task to the scheduler.
[0185] The target data processing task indicates a plurality of data processing on the target data, that is, a plurality of data processing tasks. Therefore, the configuration template of the target data processing task can include a configuration template of each data processing task in the plurality of data processing tasks, that is, a plurality of configuration templates (e.g., a configuration template of a first data processing task, a configuration template of a second data processing task, a configuration template of a third data processing task).
[0186] Continuing the foregoing example of the target image processing task-image processing task C1, the plurality of configuration templates of the image processing task C1 include a configuration template of the noise removal task, a configuration template of the target recognition task, and a configuration template of the image encoding task.
[0187] The task information of the target data processing task can be used to indicate a plurality of data processing required to implement the target data processing task, and can also be used to indicate data required to be processed by the target data processing task.
[0188] Therefore, the task information of the target data processing task sent by the general processor to the scheduler can include indication information of a plurality of data processing required to implement the target data processing task and data indication parameters of the target data processing task (e.g., address parameters of the target data processing task).
[0189] The indication information of the data processing can be represented in various possible data forms, which is used to indicate the processing mode of the data processing. For example, the indication information of the data processing can be a text description or an instruction of the data processing.
[0190] The address parameter of the target data processing task can include: an input data address parameter of the target data processing task, and an output data address parameter of the target data processing task.
[0191] The input data address parameter of the target data processing task is used to indicate a storage address of input data (i.e., processed data) of the target data processing task.
[0192] The output data address parameter of the target data processing task is used to indicate a storage address of output data (i.e., processing result of the data) of the target data processing task.
[0193] In step 430, the scheduler configures multiple accelerators according to the indication information of the multiple configuration templates of the target data processing task and the task information of the target data processing task.
[0194] In step 430, the scheduler can configure multiple accelerators in sequence according to the processing order of the multiple data processing tasks indicated by the target data processing task. In this way, the multiple accelerators can process the multiple data processing tasks in sequence to complete the target data processing task.
[0195] The following describes the process of configuring multiple accelerators by the scheduler, taking the target image processing task-image processing task C1 as an example.
[0196] The image processing task C1 indicates that the image (i.e., target data) is subjected to a noise removal processing (referred to as a noise removal task), the image after the noise removal is subjected to a target recognition processing (referred to as a target recognition task), and the image after the target recognition is subjected to an image encoding processing (referred to as an image encoding task).
[0197] To complete the image processing task C1, the noise removal task is first processed by the accelerator 1, then the target recognition task is processed by the accelerator 2, and then the image encoding task is processed by the accelerator 3.
[0198] In some embodiments, the accelerator 1 is used to process the image signal output by the image signal sensor, which can be referred to as an image signal processor (ISP) accelerator. The accelerator 2 is used to perform various required processing on the image output by the ISP accelerator, which can be referred to as an image processing accelerator. The accelerator 3 is used to perform encoding processing on the image output by the image processing accelerator, which can be referred to as an encoding accelerator.
[0199] The multiple configuration templates of the image processing task C1 include: a configuration template of the noise removal task, a configuration template of the target recognition task, and a configuration template of the image encoding task.
[0200] The process of configuring the plurality of accelerators (including accelerator 1, accelerator 2, and accelerator 3) by the scheduler includes the following S1-S3:
[0201] S1. The scheduler performs an accelerator 1 configuration operation.
[0202] In S1, the scheduler can send the received indication information of the configuration template of the first type of data processing task, i.e., the indication information of the configuration template of the noise removal task, to the accelerator 1. So that the accelerator 1 acquires the configuration template of the noise removal task according to the indication information, and configures the accelerator 1 (for example, configures the storage space of the accelerator 1) according to the configuration template of the noise removal task.
[0203] The configuration template of the noise removal task includes processing parameters of the noise removal task and a first target pointer. The first target pointer indicates a first target storage space, and the first target storage space is used to store data indication parameters of the noise removal task.
[0204] The data indication parameters of the noise removal task include address parameters of the noise removal task, and the address parameters of the noise removal task include input data address parameters of the noise removal task (i.e., input data address parameters of the target data processing task) and output data address parameters (which can be generated by a processing device such as the scheduler or the accelerator 1 according to requirements).
[0205] Here, the specific operation of configuring the accelerator 1 according to the configuration template is similar to step 220 in FIG. 2, and the related description of step 220 can be referred to.
[0206] And, the data indication parameters of the noise removal task can be written into the first target storage space by the scheduler. For example, the scheduler is implemented by the accelerator, and the data indication parameters of the noise removal task can be written into the first target storage space by the accelerator.
[0207] In this way, after the configuration of the accelerator 1, the accelerator 1 can acquire the task parameters of the noise removal task according to the configuration result, and perform the noise removal task according to the task parameters.
[0208] S2. The scheduler performs an accelerator 2 configuration operation.
[0209] In S2, the scheduler can send the received indication information of the configuration template of the second type of data processing task, i.e., the indication information of the configuration template of the target identification task, to the accelerator 2. So that the accelerator 2 acquires the configuration template of the target identification task according to the indication information, and configures the accelerator 2 (for example, configures the storage space of the accelerator 2) according to the configuration template of the target identification task.
[0210] The configuration template of the target recognition task includes processing parameters of the target recognition task and a second target pointer. The second target pointer indicates a second target storage space, and the second target storage space is used to store data indication parameters of the target recognition task.
[0211] The data indication parameters of the target recognition task include address parameters of the target recognition task, and the address parameters of the target recognition task include input data address parameters of the target recognition task (i.e., output data address parameters of the noise removal task) and output data address parameters (which can be generated by a processing device such as the scheduler or the accelerator 2 according to requirements).
[0212] Here, the specific operation content of configuring the accelerator 2 according to the configuration template is similar to step 220 in FIG. 2, and the related description of step 220 can be referred to.
[0213] And, the data indication parameters of the target recognition task can be written into the second target storage space by the scheduler. For example, the scheduler is implemented by the accelerator, and the data indication parameters of the target recognition task can be written into the second target storage space by the accelerator.
[0214] In this way, after the accelerator 2 is configured, the accelerator 2 can obtain task parameters of the target recognition task according to the configuration result, and execute the target recognition task according to the task parameters.
[0215] S3, the scheduler performs an accelerator 3 configuration operation.
[0216] In S3, the scheduler can send the received indication information of the configuration template of the third data processing task to the accelerator 3, i.e., the indication information of the configuration template of the image coding task. So that the accelerator 3 obtains the configuration template of the image coding task according to the indication information, and configures the accelerator 3 (for example, configures the storage space of the accelerator 3) according to the configuration template of the image coding task.
[0217] The configuration template of the image coding task includes processing parameters of the image coding task and a third target pointer. The third target pointer indicates a third target storage space, and the third target storage space is used to store data indication parameters of the image coding task.
[0218] The data indication parameters of the image coding task include address parameters of the image coding task, and the address parameters of the image coding task include input data address parameters of the image coding task (i.e., output data address parameters of the target recognition task) and output data address parameters (i.e., output data address parameters of the target data processing task).
[0219] Here, the specific operation content of configuring the accelerator 3 according to the configuration template is similar to step 220 in FIG. 2, and the related description of step 220 can be referred to.
[0220] and wherein the data indication parameters of the image encoding task can be written into the third target storage space by the scheduler. For example, the scheduler is implemented by the accelerator, and the data indication parameters of the image encoding task can be written into the third target storage space by the accelerator.
[0221] Thus, after the accelerator 3 is configured, the accelerator 3 can obtain the task parameters of the image encoding task according to the configuration result, and perform the image encoding task according to the task parameters.
[0222] After the accelerator 1, the accelerator 2, and the accelerator 3 all complete their corresponding data processing tasks, the target data processing task, the image processing task C1, is processed.
[0223] By using the information processing method (for example, the method shown in FIG. 4) provided in the embodiments of the present application, in a scenario in which multiple accelerators are required to process multiple data processing tasks to complete a target data processing task, the scheduler can automatically configure the multiple accelerators by using the relatively simple and small amount of operations of indicating the configuration templates required to be used to the multiple accelerators respectively and writing the data indication parameters of the multiple data processing tasks into the target storage space.
[0224] The information processing method provided in the embodiments of the present application is described in detail above in combination with FIG. 2 to FIG. 4. The apparatus provided in the embodiments of the present application will be described in combination with FIG. 5. The apparatuses can be used to implement the functions of the processors in the method embodiments, and thus can also achieve the beneficial effects of the method embodiments.
[0225] FIG. 5 is a structural schematic diagram of an information processing apparatus provided in the embodiments of the present application. As shown in FIG. 5, the information processing apparatus 500 includes a task obtaining module 510 and a configuration module 520.
[0226] The task obtaining module 510 is configured to obtain a data processing task, and the data processing task includes processing parameters used for data processing and data indication parameters used for indicating the data.
[0227] The configuration module 520 is configured to configure an accelerator according to a configuration template of the data processing task, the configuration template including the processing parameters and a pointer indicating a target storage space, the target storage space being used to store the data indication parameters, and the accelerator being used to obtain the processing parameters and the data indication parameters according to a configuration result, and perform the data processing task according to the processing parameters and the data indication parameters.
[0228] In some possible implementation manners, the configuration module 520 is further configured to obtain the configuration template of the data processing task in at least one configuration template of at least one data processing task.
[0229] In some possible implementation, the at least one configuration template includes a first configuration template and a second configuration template, the first configuration template includes the processing parameter of the first processing and the pointer indicating the first target storage space, and the second configuration template includes the processing parameter of the second processing and the pointer indicating the second target storage space.
[0230] In some possible implementation, the at least one configuration template includes a first configuration template, the first configuration template includes a plurality of configuration templates, the plurality of configuration templates includes a third configuration template and a fourth configuration template, the third configuration template includes the processing parameter of the first processing and the pointer indicating the third target storage space, and the fourth configuration template includes the processing parameter of the first processing and the pointer indicating the fourth target storage space.
[0231] In some possible implementation, the data processing task includes a first data processing task and a second data processing task, the first data processing task is used to indicate the first processing on the first data, and the second data processing task is used to indicate the second processing on the second data.
[0232] In some possible implementation, the configuration module 520 is further configured to: configure the accelerator according to a configuration template of the first data processing task, the configuration template of the first data processing task includes the processing parameter of the first processing and the pointer indicating the first target storage space, and the first target storage space is used to store the data indication parameter of the first data; and configure the accelerator according to a configuration template of the second data processing task, the configuration template of the second data processing task includes the processing parameter of the second processing and the pointer indicating the second target storage space, and the second target storage space is used to store the data indication parameter of the second data. In some possible implementation, the second data is the processing result of the first processing on the first data.
[0233] In some possible implementation, the data processing task includes a third data processing task and a fourth data processing task, the third data processing task is used to perform the first processing on the third data, and the fourth data processing task is used to perform the first processing on the fourth data.
[0234] In some possible implementation, the configuration module 520 is further configured to: configure the accelerator according to a configuration template of the third data processing task, the configuration template of the third data processing task includes the processing parameter of the first processing and the pointer indicating the third target storage space, and the third target storage space is used to store the data indication parameter of the third data; and configure the accelerator according to a configuration template of the fourth data processing task, the configuration template of the fourth data processing task includes the processing parameter of the first processing and the pointer indicating the fourth target storage space, and the fourth target storage space is used to store the data indication parameter of the fourth data.
[0235] In some possible implementation manners, the data indication parameter comprises an address parameter used for indicating a storage address of the data. The address parameter of the data processing task comprises at least one of an input data address parameter and an output data address parameter. The input data address parameter is used for indicating the storage address of the data, and the output data address parameter is used for indicating a storage address of a processing result of the data.
[0236] In some possible implementation manners, the configuration module 520 is further configured to: configure the storage space of the accelerator according to the configuration template of the data processing task, so that the processing parameter included in the configuration template and the pointer indicating the target storage space are stored in the storage space of the accelerator.
[0237] Optionally, the task obtaining module 510 and the configuration module 520 can each comprise a plurality of sub-modules, and the plurality of sub-modules can be respectively deployed to respectively implement part of the functions of the corresponding modules, for example, implement one or more steps of the information processing method provided in the foregoing FIG. 2 to FIG. 4.
[0238] In some possible implementation manners, the configuration module 520 further comprises a first configuration module and a second configuration module (not shown in FIG. 5), wherein the first configuration module can be arranged on the general processor, and the second configuration module can be arranged on the accelerator.
[0239] The first configuration module is configured to send the indication information of the configuration template of the data processing task to the accelerator.
[0240] The second configuration module is configured to: obtain the configuration template of the data processing task according to the indication information, and configure the accelerator according to the configuration template of the data processing task.
[0241] In some possible implementation manners, the second configuration module is further configured to: configure the storage space of the accelerator according to the configuration template of the data processing task, so that the processing parameter included in the configuration template and the pointer indicating the target storage space are stored in the storage space of the accelerator.
[0242] In some possible implementation manners, the data indication parameter of the data processing task can be written into the target storage space by the first configuration module or the second configuration module.
[0243] The apparatuses can each be implemented through software or through hardware. Exemplarily, the implementation manners of the information processing apparatus 500 are introduced as follows.
[0244] As an example of a software functional unit, the information processing apparatus 500 can include code running on a compute instance. The compute instance can be at least one of a physical host (computing device), a virtual machine, a container, and the like. Further, the compute instance can be one or more. For example, the information processing apparatus 500 can include code running on multiple hosts / virtual machines / containers. Note that the multiple hosts / virtual machines / containers for running the code can be distributed in the same region, or in different regions. Further, the multiple hosts / virtual machines / containers for running the code can be distributed in the same availability zone (AZ), or in different AZs. Each AZ includes one data center or multiple data centers in a similar geographical location. Typically, one region includes multiple AZs.
[0245] Similarly, the multiple hosts / virtual machines / containers for running the code can be distributed in the same virtual private cloud (VPC), or in multiple VPCs. Typically, one VPC is set up within one region, and communication between two VPCs in the same region, or between VPCs in different regions, requires a communication gateway to be set up in each VPC, and the interconnection between VPCs is achieved via the communication gateway.
[0246] As an example of a hardware functional unit, the information processing apparatus 500 can include at least one computing device, such as a server or the like. Alternatively, the information processing apparatus 500 can be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), and the like. The PLD can be implemented as a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0247] The plurality of computing devices included in the information processing apparatus 500 can be distributed in the same region or in different regions. The plurality of computing devices included in the information processing apparatus 500 can be distributed in the same AZ or in different AZs. Similarly, the plurality of computing devices included in the information processing apparatus 500 can be distributed in the same VPC or in multiple VPCs. The plurality of computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0248] The present application also provides a computing device 600. As shown in FIG. 6, the computing device 600 includes a bus 602, a processor 604, a memory 606, and a communication interface 608. The processor 604, the memory 606, and the communication interface 608 communicate with each other through the bus 602. The computing device 600 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 600. Optionally, the processor 604 of the computing device 600 can connect a display, an input device (not shown in FIG. 6) through the communication interface 608.
[0249] The bus 602 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one line is shown in FIG. 6, but it does not mean that there is only one bus or only one type of bus. The bus 602 can include a path for transmitting information between various components (e.g., the memory 606, the processor 604, the communication interface 608) of the computing device 600.
[0250] The processor 604 can include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP). In the embodiments of the present application, the processor 604 is configured to perform the steps or operations in the information processing method proposed in FIGS. 2-4.
[0251] The memory 606 can include volatile memory, such as random access memory (RAM), and non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid-state drive (SSD).
[0252] The executable program code stored in the memory 606 is executed by the processor 604 to implement the functions of the aforementioned task acquisition module 510 and configuration module 520 respectively, thereby implementing the information processing method proposed in FIGS. 2-4 of the embodiments of the present application. That is, the memory 606 stores instructions for executing the information processing method proposed in FIGS. 2-4 of the embodiments of the present application.
[0253] The communication interface 608 uses a transceiving module such as, but not limited to, a network interface card and a transceiver to implement the communication between the computing device 600 and other devices or communication networks.
[0254] The display can include various display devices that can implement display functions, such as a plasma display and a liquid crystal display. The computing device 600 can implement the display functions involved in the information processing method proposed in FIGS. 2-4 of the embodiments of the present application through the display.
[0255] The input device can include various input devices that can implement information / signal input, such as a keyboard, a mouse and a touch screen.
[0256] The embodiments of the present application also provide a computer program product containing instructions. The computer program product can be a software or program product containing instructions, which can be run on a computing device or stored in any available medium. The instructions contained in the computer program product can include instructions for performing the steps or operations in the information processing method proposed in FIGS. 2-4 of the embodiments of the present application. When the computer program product is run on at least one computing device, the at least one computing device is caused to perform the steps or operations of the information processing method proposed in FIGS. 2-4 of the embodiments of the present application.
[0257] The embodiments of the present application further provide a computer readable storage medium. The computer readable storage medium can be any available medium or data storage device that can store the instructions of the present application and be accessed by a computing device. The available medium can be a magnetic medium (e.g., floppy diskette, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk), etc. The computer readable storage medium comprises instructions indicating the computing device to perform the steps or operations of the information processing method proposed in FIG. 2-FIG. 4.
[0258] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the protection scope of the technical solutions of the embodiments of the present application.
[0259] The terms "first", "second", "third", and "fourth" and the like in the specification of the present application, the claims and the above drawings are used to distinguish different objects, but not to define a particular order.
[0260] In the embodiments of the present application, the words "exemplary" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design presented as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or advantageous than other embodiments or design solutions. Rather, the use of the words "exemplary" or "for example" is intended to present concepts in a particular manner.
Claims
1. An information processing method characterized by comprising: The method comprises: obtaining a data processing task, the data processing task comprising processing parameters used for data processing and data indication parameters used for indicating the data; configuring an accelerator according to a configuration template of the data processing task, the configuration template comprising the processing parameters and a pointer indicating a target storage space used for storing the data indication parameters, the accelerator being used for obtaining the processing parameters and the data indication parameters according to a configuration result, and performing the data processing task according to the processing parameters and the data indication parameters.
2. The method of claim 1, wherein, The method further comprises: obtaining the configuration template of the data processing task in at least one configuration template of at least one data processing task.
3. The method of claim 2, wherein, The at least one configuration template comprises a first configuration template and a second configuration template, the first configuration template comprising processing parameters of a first processing and a pointer indicating a first target storage space, and the second configuration template comprising processing parameters of a second processing and a pointer indicating a second target storage space.
4. The method according to claim 2 or 3, characterized in that, The at least one configuration template comprises a first configuration template, the first configuration template comprising a plurality of configuration templates, the plurality of configuration templates comprising a third configuration template and a fourth configuration template, the third configuration template comprising processing parameters of a first processing and a pointer indicating a third target storage space, and the fourth configuration template comprising the processing parameters of the first processing and a pointer indicating a fourth target storage space.
5. The method according to any one of claims 1-4, characterized in that, The data processing task comprises a first data processing task and a second data processing task, the first data processing task being used for indicating a first processing on first data, and the second data processing task being used for indicating a second processing on second data; The configuring the accelerator according to the configuration template of the data processing task comprises: configuring the accelerator according to a configuration template of the first data processing task, the configuration template of the first data processing task comprising the processing parameters of the first processing and a pointer indicating a first target storage space used for storing data indication parameters of the first data; configuring the accelerator according to a configuration template of the second data processing task, the configuration template of the second data processing task comprising the processing parameters of the second processing and a pointer indicating a second target storage space used for storing data indication parameters of the second data.
6. The method according to any one of claims 1-5, characterized in that, The data processing task comprises a third data processing task and a fourth data processing task, the third data processing task being used for a first processing on third data, and the fourth data processing task being used for a first processing on fourth data; The configuring the accelerator according to the configuration template of the data processing task comprises: configuring the accelerator according to a configuration template of the third data processing task, the configuration template of the third data processing task comprising the processing parameters of the first processing and a pointer indicating a third target storage space used for storing data indication parameters of the third data; The accelerator is configured according to the configuration template of the fourth data processing task, the configuration template of the fourth data processing task comprising the processing parameter of the first processing and a pointer indicating a fourth target storage space used for storing the data indication parameter of the fourth data.
7. The method of claim 5, wherein, The second data is a processing result obtained by performing the first processing on the first data.
8. The method according to any one of claims 1-7, characterized in that, The data indication parameter comprises an address parameter used for indicating a storage address of the data, the address parameter comprising at least one of an input data address parameter and an output data address parameter; The input data address parameter is used for indicating the storage address of the data, and the output data address parameter is used for indicating the storage address of the processing result of the data.
9. The method according to any one of claims 1-8, characterized in that, The information processing system comprises a general processor and the accelerator, and the accelerator is configured according to the configuration template of the data processing task, comprising: The general processor sends indication information of the configuration template of the data processing task to the accelerator; The accelerator acquires the configuration template of the data processing task according to the indication information, and configures the accelerator according to the configuration template of the data processing task.
10. The method according to any one of claims 1-9, characterized in that, The accelerator is configured according to the configuration template of the data processing task, comprising: The storage space of the accelerator is configured according to the configuration template of the data processing task, so that the processing parameter and the pointer indicating the target storage space comprised in the configuration template are stored in the storage space of the accelerator.
11. An information processing method characterized by comprising: The method is executed by a general processor, and the method comprises: Acquiring a data processing task, the data processing task comprising a processing parameter used for data processing and a data indication parameter used for indicating the data; Sending indication information of the configuration template of the data processing task to an accelerator, the indication information being used for indicating the configuration template of the data processing task, the configuration template of the data processing task being used for configuring the accelerator, the configuration template comprising the processing parameter and a pointer indicating a target storage space, the target storage space being used for storing the data indication parameter.
12. The method of claim 11, wherein, The method further comprises: Determining the configuration template of the data processing task in at least one configuration template of at least one data processing task.
13. The method of claim 12, wherein, The at least one configuration template comprises a first configuration template and a second configuration template, the first configuration template comprising a processing parameter of a first processing and a pointer indicating a first target storage space, and the second configuration template comprising a processing parameter of a second processing and a pointer indicating a second target storage space.
14. The method according to claim 12 or 13, characterized in that, The at least one configuration template comprises a first configuration template, the first configuration template comprising a plurality of configuration templates, the plurality of configuration templates comprising a third configuration template and a fourth configuration template, the third configuration template comprising a processing parameter of a first processing and a pointer indicating a third target storage space, and the fourth configuration template comprising the processing parameter of the first processing and a pointer indicating a fourth target storage space.
15. An information processing method characterized by comprising: The method is executed by an accelerator, and the method comprises: Receiving indication information of a configuration template of a data processing task; According to the indication information, a configuration template of the data processing task is acquired, and the accelerator is configured according to the configuration template of the data processing task, the data processing task including processing parameters used for data processing and data indication parameters used for indicating the data, and the configuration template including the processing parameters and a pointer indicating a target storage space used for storing the data indication parameters; The accelerator is configured according to the configuration result to acquire the processing parameters and the data indication parameters, and to execute the data processing task according to the processing parameters and the data indication parameters.
16. The method of claim 15, wherein, The data processing task includes a first data processing task and a second data processing task, the first data processing task being used for indicating first processing of first data, and the second data processing task being used for indicating second processing of second data; The configuration of the accelerator according to the configuration template of the data processing task includes: The configuration of the accelerator according to the configuration template of the first data processing task includes processing parameters of the first processing and a pointer indicating a first target storage space used for storing data indication parameters of the first data; The configuration of the accelerator according to the configuration template of the second data processing task includes processing parameters of the second processing and a pointer indicating a second target storage space used for storing data indication parameters of the second data.
17. The method according to claim 15 or 16, characterized in that, The data processing task includes a third data processing task and a fourth data processing task, the third data processing task being used for first processing of third data, and the fourth data processing task being used for first processing of fourth data; The configuration of the accelerator according to the configuration template of the data processing task includes: The configuration of the accelerator according to the configuration template of the third data processing task includes processing parameters of the first processing and a pointer indicating a third target storage space used for storing data indication parameters of the third data; The configuration of the accelerator according to the configuration template of the fourth data processing task includes processing parameters of the first processing and a pointer indicating a fourth target storage space used for storing data indication parameters of the fourth data.
18. The method of claim 16, wherein, The second data is a processing result of the first processing of the first data.
19. The method of any one of claims 15-17, wherein, The configuration of the accelerator according to the configuration template of the data processing task includes: The configuration of the storage space of the accelerator according to the configuration template of the data processing task is performed, so that the processing parameters and the pointer indicating the target storage space included in the configuration template are stored in the storage space of the accelerator.
20. An information processing apparatus for implementing the method of any one of claims 1-19, comprising: The apparatus includes: A task acquisition module is configured to acquire a data processing task, the data processing task including processing parameters used for data processing and data indication parameters used for indicating the data; The task acquisition module is configured to acquire a data processing task, the data processing task including processing parameters used for data processing and data indication parameters used for indicating the data; A configuration module is configured to configure the accelerator according to a configuration template of the data processing task, the configuration template including the processing parameters and a pointer indicating a target storage space for storing the data indication parameters, and the accelerator is configured to obtain the processing parameters and the data indication parameters according to the configuration result, and execute the data processing task according to the processing parameters and the data indication parameters.
21. An information processing system, characterized by comprising: The system includes a general processor configured to perform the method of any one of claims 11-14, and an accelerator configured to perform the method of any one of claims 15-19.
22. A chip system, characterized by The chip system includes a processor and a power supply circuit configured to supply power to the processor, and the processor is configured to perform the operation steps of the method of any one of claims 1-19.
23. A computing device, comprising: The computing device includes a processor and a memory, and the processor is configured to execute instructions stored in the memory to cause the computing device to perform the method of any one of claims 1-19.
24. A computer program product comprising instructions, characterized in that, The instructions, when executed by at least one computing device, cause the at least one computing device to perform the method of any one of claims 1-19.
25. A computer-readable storage medium, characterized in that, Computer program instructions, when executed by a computing device, cause the computing device to perform the method of any one of claims 1-19.
Citation Information
Patent Citations
Microprocessor integrated configuration controller for configurable math hardware accelerators
CN104375972A
Method and device for processing image through artificial intelligence accelerator and chip
CN116416116A
Computing system, method and device and acceleration equipment
CN116467245A
Accelerating multiple query processing operations
US20150046427A1