TW202107288A - Information processing method, apparatus, electronic device and storage medium - Google Patents

Information processing method, apparatus, electronic device and storage medium Download PDF

Info

Publication number
TW202107288A
TW202107288A TW109126147A TW109126147A TW202107288A TW 202107288 A TW202107288 A TW 202107288A TW 109126147 A TW109126147 A TW 109126147A TW 109126147 A TW109126147 A TW 109126147A TW 202107288 A TW202107288 A TW 202107288A
Authority
TW
Taiwan
Prior art keywords
data
processed
storage space
information
virtual storage
Prior art date
Application number
TW109126147A
Other languages
Chinese (zh)
Other versions
TWI782304B (en
Inventor
陳凱亮
許志耿
Original Assignee
大陸商上海商湯智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商上海商湯智能科技有限公司 filed Critical 大陸商上海商湯智能科技有限公司
Publication of TW202107288A publication Critical patent/TW202107288A/en
Application granted granted Critical
Publication of TWI782304B publication Critical patent/TWI782304B/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

In examples of the present disclosure, an information processing method, apparatus, electronic device and storage medium are provided. According to the method, CPU obtains data to be processed, allocates a virtual storage space for the data to be processed, and stores the data to be processed in the virtual storage space. CPU sends data processing instruction carrying information of the virtual storage space to a DSP, the instruction being configured to indicate the DSP to obtain the data to be processed from the virtual storage space corresponding to the information and process the data to be processed.

Description

資訊處理方法、裝置、電子設備及記錄媒體Information processing method, device, electronic equipment and recording medium

本發明涉及電腦技術領域,具體涉及資訊處理方法、裝置、電子設備及記錄媒體。The present invention relates to the field of computer technology, in particular to information processing methods, devices, electronic equipment and recording media.

隨著電腦技術的不斷發展,需要處理的資料越來越多。在處理資料時,一般需要中央處理單元(central processing unit,CPU)和數位信號處理器(digital signal processor,DSP)共同協作才能完成。然而,對於CPU上的內存空間,DSP無法直接存取,對於DSP開闢的空間,CPU同樣無法直接存取。目前,在通過神經網路模型進行資料處理的過程中,CPU針對每個操作調用一次DSP,使得DSP的調度開銷較大。With the continuous development of computer technology, more and more data need to be processed. When processing data, it generally requires a central processing unit (CPU) and a digital signal processor (digital signal processor, DSP) to work together to complete. However, the DSP cannot directly access the memory space on the CPU, and the CPU also cannot directly access the space opened up by the DSP. At present, in the process of data processing through the neural network model, the CPU calls the DSP once for each operation, which makes the scheduling overhead of the DSP relatively large.

本發明實施例提供資訊處理方法、裝置、電子設備及記錄媒體。The embodiments of the present invention provide information processing methods, devices, electronic equipment, and recording media.

第一方面提供一種資訊處理方法,包括:CPU獲取待處理資料;為所述待處理資料分配虛擬儲存空間;將所述待處理資料儲存至所述虛擬儲存空間;向DSP發送攜帶所述虛擬儲存空間的資訊的資料處理指令,所述資料處理指令用於所述DSP從所述資訊對應的虛擬儲存空間獲取所述待處理資料並對所述待處理資料進行處理。A first aspect provides an information processing method, including: a CPU obtains data to be processed; allocating virtual storage space for the data to be processed; storing the data to be processed in the virtual storage space; sending and carrying the virtual storage to the DSP A data processing instruction for spatial information, where the data processing instruction is used by the DSP to obtain the to-be-processed data from a virtual storage space corresponding to the information and process the to-be-processed data.

作為一種可能的實施方式,所述虛擬儲存空間對應於電子設備的緩存器中的第一緩存空間;所述將所述待處理資料儲存至所述虛擬儲存空間包括:CPU將所述待處理資料儲存至所述第一緩存空間;所述DSP從所述資訊對應的虛擬儲存空間獲取所述待處理資料包括:所述DSP從所述資訊對應的第一緩存空間獲取所述待處理資料。As a possible implementation manner, the virtual storage space corresponds to the first buffer space in the buffer of the electronic device; the storing the to-be-processed data in the virtual storage space includes: a CPU transfers the to-be-processed data to the virtual storage space. Storing in the first buffer space; the DSP obtaining the to-be-processed data from the virtual storage space corresponding to the information includes: the DSP obtaining the to-be-processed data from the first buffer space corresponding to the information.

作為一種可能的實施方式,所述為所述待處理資料分配虛擬儲存空間包括:基於所述待處理資料所需的儲存空間大小,向所述電子設備的緩存器申請緩存空間;基於所述電子設備的緩存器返回的第一緩存空間的位置指示資訊,確定所述虛擬儲存空間的實體儲存位置。As a possible implementation manner, the allocating virtual storage space for the to-be-processed data includes: requesting a buffer space from the buffer of the electronic device based on the size of the storage space required by the to-be-processed data; The location indication information of the first buffer space returned by the device's buffer determines the physical storage location of the virtual storage space.

作為一種可能的實施方式,所述待處理資料包括至少一個數組,每個數組包括同一類型的資料,所述方法還包括:確定所述至少一個數組中每個數組所需的儲存空間大小;基於所述至少一個數組中每個數組所需的儲存空間大小,確定所述待處理資料所需的儲存空間大小。As a possible implementation manner, the data to be processed includes at least one array, and each array includes data of the same type. The method further includes: determining the storage space required by each array in the at least one array; The size of the storage space required by each array in the at least one array determines the size of the storage space required by the data to be processed.

作為一種可能的實施方式,所述方法還包括:根據所述至少一個數組中每個數組所需的儲存空間大小,確定所述至少一個數組中每個數組在所述虛擬儲存空間中的偏移量。As a possible implementation manner, the method further includes: determining the offset of each array in the at least one array in the virtual storage space according to the size of the storage space required by each array in the at least one array the amount.

作為一種可能的實施方式,所述方法還包括:基於所述待處理資料的資料量和所述待處理資料對應的結果資料量,確定所述待處理資料所需的儲存空間大小。As a possible implementation manner, the method further includes: determining the size of the storage space required for the data to be processed based on the data volume of the data to be processed and the result data volume corresponding to the data to be processed.

作為一種可能的實施方式,所述基於所述待處理資料所需的儲存空間大小,向所述電子設備的緩存器申請緩存空間包括:向所述電子設備的緩存器發送用於申請緩存空間的請求,所述請求攜帶所述待處理資料所需的儲存空間大小的資訊;接收來自所述緩存器的位置指示資訊,所述位置指示資訊用於指示所述第一緩存空間的基址。As a possible implementation manner, based on the size of the storage space required by the to-be-processed data, applying for a buffer space from the buffer of the electronic device includes: sending a buffer for applying for buffer space to the buffer of the electronic device A request, the request carrying information about the size of the storage space required by the data to be processed; receiving position indication information from the buffer, the position indication information being used to indicate the base address of the first buffer space.

作為一種可能的實施方式,所述待處理資料為神經網路中網路層的網路參數和輸入資料。As a possible implementation manner, the data to be processed are network parameters and input data of the network layer in the neural network.

第二方面提供另一種資訊處理方法,包括:DSP接收來自CPU的資料處理指令,所述資料處理指令攜帶虛擬儲存空間的資訊;從所述資訊對應的虛擬儲存空間獲取待處理資料;對所述待處理資料進行處理。The second aspect provides another information processing method, including: DSP receives a data processing instruction from a CPU, the data processing instruction carries information in a virtual storage space; acquiring data to be processed from a virtual storage space corresponding to the information; The pending data is processed.

作為一種可能的實施方式,所述資訊對應的虛擬儲存空間對應於電子設備的緩存器中的第一緩存空間;所述從所述資訊對應的虛擬儲存空間獲取待處理資料包括:從所述資訊對應的第一緩存空間獲取待處理資料。As a possible implementation manner, the virtual storage space corresponding to the information corresponds to the first cache space in the register of the electronic device; and the obtaining the to-be-processed data from the virtual storage space corresponding to the information includes: The corresponding first buffer space acquires the data to be processed.

作為一種可能的實施方式,所述方法還包括:將所述待處理資料的處理結果儲存在所述資訊對應的第一緩存空間。As a possible implementation manner, the method further includes: storing the processing result of the to-be-processed data in a first buffer space corresponding to the information.

作為一種可能的實施方式,所述待處理資料為神經網路中網路層的網路參數和輸入資料。As a possible implementation manner, the data to be processed are network parameters and input data of the network layer in the neural network.

第三方面提供一種資訊處理裝置,包括:獲取單元,用於獲取待處理資料的;分配單元,用於為所述待處理資料分配虛擬儲存空間;儲存單元,用於將所述待處理資料儲存至所述虛擬儲存空間;發送單元,用於向DSP發送攜帶所述虛擬儲存空間的資訊的資料處理指令,所述資料處理指令用於所述DSP從所述資訊對應的虛擬儲存空間獲取所述待處理資料並對所述待處理資料進行處理。A third aspect provides an information processing device, including: an acquisition unit for acquiring data to be processed; an allocation unit for allocating virtual storage space for the data to be processed; and a storage unit for storing the data to be processed To the virtual storage space; a sending unit for sending a data processing instruction carrying information of the virtual storage space to the DSP, and the data processing instruction is used by the DSP to obtain the information from the virtual storage space corresponding to the information The data to be processed and the data to be processed are processed.

第四方面提供另一種資訊處理裝置,包括:接收單元,用於接收來自CPU的資料處理指令,所述資料處理指令攜帶虛擬儲存空間的資訊;獲取單元,用於從所述資訊對應的虛擬儲存空間獲取待處理資料;處理單元,用於對所述待處理資料進行處理。A fourth aspect provides another information processing device, including: a receiving unit for receiving a data processing instruction from a CPU, the data processing instruction carrying information in a virtual storage space; and an acquiring unit for obtaining information from the virtual storage corresponding to the information The space obtains the data to be processed; the processing unit is used to process the data to be processed.

第五方面提供一種資訊處理裝置,包括處理器和儲存裝置,所述儲存裝置用於儲存電腦可讀指令,處理器用於調用所述儲存裝置儲存的所述電腦可讀指令,執行如第一方面或第一方面中任一種可能的實施方式提供的資訊處理方法。A fifth aspect provides an information processing device, including a processor and a storage device, the storage device is used to store computer-readable instructions, and the processor is used to call the computer-readable instructions stored in the storage device to execute as in the first aspect Or the information processing method provided by any of the possible implementations in the first aspect.

第六方面提供一種資訊處理裝置,包括處理器和儲存裝置,所述儲存裝置用於儲存電腦可讀指令,處理器用於調用所述儲存裝置儲存的所述電腦可讀指令,執行如第二方面或第二方面中任一種可能的實施方式提供的資訊處理方法。A sixth aspect provides an information processing device, including a processor and a storage device, the storage device is used to store computer-readable instructions, and the processor is used to call the computer-readable instructions stored in the storage device to execute as in the second aspect Or the information processing method provided by any of the possible implementations in the second aspect.

第七方面提供一種電子設備,包括第五方面提供的資訊處理裝置和第六方面提供的資訊處理裝置,或者包括第三方面提供的資訊處理裝置和第四方面提供的資訊處理裝置。A seventh aspect provides an electronic device, including the information processing device provided in the fifth aspect and the information processing device provided in the sixth aspect, or the information processing device provided in the third aspect and the information processing device provided in the fourth aspect.

第八方面提供一種電腦可讀取記錄媒體,該電腦可讀取記錄媒體儲存有電腦程式,該電腦程式包括程式碼,該程式碼當被處理器執行時使該處理器執行第一方面或第一方面中任一種可能的實施方式提供的資訊處理方法,或者第二方面或第二方面中任一種可能的實施方式提供的資訊處理方法。An eighth aspect provides a computer-readable recording medium. The computer-readable recording medium stores a computer program. The computer program includes a program code that, when executed by a processor, causes the processor to execute the first aspect or the first aspect. An information processing method provided in any possible implementation manner in one aspect, or an information processing method provided in a second aspect or any possible implementation manner in the second aspect.

第九方面提供一種電腦程式產品,該電腦程式產品用於在運行時執行第一方面或第一方面中任一種可能的實施方式提供的資訊處理方法,或者第二方面或第二方面中任一種可能的實施方式提供的資訊處理方法。A ninth aspect provides a computer program product, which is used to execute the information processing method provided in the first aspect or any one of the possible implementations of the first aspect, or any one of the second aspect or the second aspect at runtime Information processing methods provided by possible implementations.

本發明實施例中,CPU獲取待處理資料,為待處理資料分配虛擬儲存空間,將待處理資料儲存至虛擬儲存空間,向DSP發送攜帶虛擬儲存空間的資訊的資料處理指令,資料處理指令用於DSP從該資訊對應的虛擬儲存空間獲取待處理資料並對待處理資料進行處理。這樣,CPU可以通過虛擬儲存空間一次性將多個操作對應的資料發送給DSP,從而減小DSP調度開銷,提高資訊處理效率。In the embodiment of the present invention, the CPU obtains the data to be processed, allocates virtual storage space for the data to be processed, stores the data to be processed in the virtual storage space, and sends a data processing instruction carrying information of the virtual storage space to the DSP. The data processing instruction is used for The DSP obtains the data to be processed from the virtual storage space corresponding to the information and processes the data to be processed. In this way, the CPU can send data corresponding to multiple operations to the DSP at one time through the virtual storage space, thereby reducing DSP scheduling overhead and improving information processing efficiency.

本發明實施例提供資訊處理方法、裝置、電子設備及記錄媒體,用於提高資料處理效率。以下分別進行詳細說明。The embodiments of the present invention provide information processing methods, devices, electronic equipment, and recording media for improving data processing efficiency. Detailed descriptions are given below.

目前,在神經網路模型的資料處理中,DSP(例如,hexagon)的使用較為廣泛,其具有計算性能高、功耗低的優點。但是,DSP的使用存在很多需要額外考慮的問題。At present, in the data processing of neural network models, DSP (for example, hexagon) is widely used, which has the advantages of high computing performance and low power consumption. However, the use of DSP has many issues that require additional consideration.

例如,對於CPU上的內存空間,DSP無法直接存取。同樣,對於DSP開闢的空間,CPU也無法直接進行存取。當DSP與CPU需要進行資料的交換時,需要通過ION緩衝器(ION Buffer)分配位址空間。例如,在CPU需要調用DSP時,通過快速遠端程序呼叫(Fast Remote Procedure Call, FastRPC)機制僅將針對本次調用的CPU要傳遞給DSP的資料映射到ION Buffer所分配的位址空間。但是單次DSP調用能夠映射的位址空間數量是有限的,而且若本次調用沒有映射某塊位址空間,那麼即使之前曾經對該位址空間進行過映射,DSP也無法正確存取到該位址空間的資料。For example, the DSP cannot directly access the memory space on the CPU. Similarly, the CPU cannot directly access the space opened up by the DSP. When the DSP and the CPU need to exchange data, the address space needs to be allocated through the ION buffer (ION Buffer). For example, when the CPU needs to call the DSP, through the Fast Remote Procedure Call (Fast Remote Procedure Call, FastRPC) mechanism, only the data to be transferred by the CPU to the DSP for this call is mapped to the address space allocated by the ION Buffer. However, the number of address spaces that can be mapped by a single DSP call is limited, and if a block of address space is not mapped in this call, even if the address space has been mapped before, the DSP cannot access the address space correctly. Data in address space.

在DSP和CPU均應用於神經網路模型的資料處理的情況下,針對神經網路模型中的每個操作需要調用一次DSP。因此,當神經網路模型的深度較深時,CPU無法通過對DSP的單次調用來傳遞資料處理所需的全部資料,而要對DSP進行多次調用。然而,反復調用DSP會帶來非常大的開銷。另外,每次調用DSP時在ION Buffer上所映射的位址空間可能都是不同的,DSP無法正確存取到針對上次調用所應映射的位址空間中的資料。In the case that both the DSP and the CPU are applied to the data processing of the neural network model, the DSP needs to be called once for each operation in the neural network model. Therefore, when the depth of the neural network model is deep, the CPU cannot transfer all the data required for data processing through a single call to the DSP, but has to call the DSP multiple times. However, repeatedly calling the DSP will bring a very large overhead. In addition, the address space mapped on the ION Buffer may be different each time the DSP is called, and the DSP cannot correctly access the data in the address space that should be mapped for the last call.

鑒於此,本發明提出一種可以應用於神經網路模型的資訊處理方法。根據該方法,可以由CPU維護一個虛擬儲存空間,該虛擬儲存空間儲存有DSP執行神經網路模型的資料處理所需要的資訊(例如,權重參數和輸入資料),並且該虛擬儲存空間可以被DSP共享。以這種方式,CPU僅通過一次或有限次調用,即可將DSP進行整個神經網路模型的資料處理所需要的全部資料傳遞給DSP,最大限度地減少了DSP調用所帶來的開銷。In view of this, the present invention proposes an information processing method that can be applied to neural network models. According to this method, a virtual storage space can be maintained by the CPU. The virtual storage space stores information (for example, weight parameters and input data) required by the DSP to execute the data processing of the neural network model, and the virtual storage space can be used by the DSP shared. In this way, the CPU can transfer all the data required by the DSP for data processing of the entire neural network model to the DSP through only one or a limited number of calls, thereby minimizing the overhead caused by the DSP call.

請參閱圖1,圖1是本發明實施例應用的一種電子設備的示意圖。如圖1所示,電子設備可以包括CPU 101、DSP 102和緩存器103。CPU 101,用於接收攜帶資料的運行指令,並基於接收到的運行指令調度DSP 102。DSP 102,用於響應於CPU 101的調度,對資料進行處理。緩存器103,用於緩存資料。可選地,該緩存器103可以為ION緩存器,也可以為能夠被CPU和DSP存取的其它緩存器或儲存模塊。Please refer to FIG. 1. FIG. 1 is a schematic diagram of an electronic device applied in an embodiment of the present invention. As shown in FIG. 1, the electronic device may include a CPU 101, a DSP 102, and a buffer 103. The CPU 101 is configured to receive operation instructions carrying data, and schedule the DSP 102 based on the received operation instructions. The DSP 102 is used to process data in response to the scheduling of the CPU 101. The buffer 103 is used for buffering data. Optionally, the buffer 103 may be an ION buffer, or other buffers or storage modules that can be accessed by the CPU and DSP.

請參閱圖2,圖2是本發明實施例提供的一種資訊處理方法的流程示意圖。該方法可以適用於圖1所示的電子設備。其中,該資訊處理方法是從CPU的角度描述的。如圖2所示,該資訊處理方法可以包括以下步驟。Please refer to FIG. 2. FIG. 2 is a schematic flowchart of an information processing method according to an embodiment of the present invention. This method can be applied to the electronic device shown in FIG. 1. Among them, the information processing method is described from the perspective of the CPU. As shown in Figure 2, the information processing method may include the following steps.

201、獲取待處理資料。201. Obtain data to be processed.

CPU可以獲取攜帶待處理資料的運行指令,並且可以基於該運行指令對DSP進行調度。該運行指令可以是用戶輸入的,也可以是CPU所屬電子設備生成的,還可以是其它電子設備或伺服器發送的。待處理資料可以為神經網路中網路層的網路參數和輸入資料,該網路層的層數大於1。待處理資料也可以是其它由DSP單獨處理的資料或者需要CPU和DSP共同處理的資料。The CPU can obtain the running instruction carrying the data to be processed, and can schedule the DSP based on the running instruction. The running instruction may be input by the user, generated by the electronic device to which the CPU belongs, or sent by other electronic devices or servers. The data to be processed can be the network parameters and input data of the network layer in the neural network, and the number of layers of the network layer is greater than one. The data to be processed can also be other data processed by the DSP alone or data that need to be processed by the CPU and the DSP together.

202、為待處理資料分配虛擬儲存空間。202. Allocate virtual storage space for the data to be processed.

CPU獲取到待處理資料之後,為待處理資料分配虛擬儲存空間。可以基於待處理資料所需的儲存空間大小向電子設備緩存申請緩存空間,之後基於電子設備緩存返回的第一緩存空間的位置指示資訊確定虛擬儲存空間對應的實體儲存位置。其中,電子設備緩存即CPU所屬電子設備中的緩存器,該緩存器可以被CPU和DSP存取。該緩存器可以為ION緩存器,也可以為其它能夠被CPU和DSP存取的緩存器。After the CPU obtains the data to be processed, it allocates virtual storage space for the data to be processed. A cache space can be applied to the electronic device cache based on the size of the storage space required by the data to be processed, and then the physical storage location corresponding to the virtual storage space can be determined based on the location indication information of the first cache space returned by the electronic device cache. Among them, the electronic device cache refers to the cache in the electronic device to which the CPU belongs, and the cache can be accessed by the CPU and DSP. The buffer can be an ION buffer or other buffers that can be accessed by the CPU and DSP.

CPU可以先向電子設備中的緩存器發送用於申請緩存空間的請求(例如,申請指令),該請求可以攜帶待處理資料所需的儲存空間大小的資訊。緩存器接收到來自CPU的請求之後,可以從緩存器的空閒緩存空間中選取第一緩存空間,第一緩存空間的大小等於待處理資料所需的儲存空間大小,為第一緩存空間分配位置指示資訊,如指向第一緩存空間的指標,之後向CPU返回該位置指示資訊。CPU接收到來自緩存器的第一緩存空間的位置指示資訊之後,可以基於待處理資料所需的儲存空間大小創建虛擬儲存空間,為虛擬儲存空間分配基址(Base Address),建立虛擬儲存空間的基址與該位置指示資訊之間的對應關係。其中,基於待處理資料所需的儲存空間大小創建虛擬儲存空間,以及為虛擬儲存空間分配基址也可以是在向電子設備中的緩存器發送用於申請緩存空間的請求之前創建的。在向電子設備中的緩存器發送用於申請緩存空間的請求之前,已經基於待處理資料所需的儲存空間大小創建虛擬儲存空間,以及為虛擬儲存空間分配基址的情況下,該請求還可以攜帶虛擬儲存空間的基址。此時,緩存器可以建立該位置指示資訊與虛擬儲存空間的基址之間的對應關係。CPU接收到來自緩存器的指示第一緩存空間的位置指示資訊之後,可以不建立虛擬儲存空間的基址與該位置指示資訊之間的對應關係。其中,第一緩存空間的位置指示資訊用於指示第一緩存空間的基址。可見,可以通過虛擬儲存空間使包括多個操作的待處理資料對應緩存器中的一個位置指示資訊,如指標。這樣,可以通過虛擬儲存空間一次性將包括多個操作的資料共享給DSP,從而可以提高資訊處理效率。此外,由於第一緩存空間是基於待處理資料所需的儲存空間大小進行申請的,因此,可以申請到合適的緩存空間,即不會由於申請太多緩存空間而造成緩存空間的浪費,也不會因為申請太少緩存空間導致無法對待處理資料進行緩存處理。The CPU may first send a request for applying for cache space (for example, an application instruction) to the cache in the electronic device, and the request may carry information on the size of the storage space required for the data to be processed. After the buffer receives the request from the CPU, the first buffer space can be selected from the free buffer space of the buffer, the size of the first buffer space is equal to the storage space required by the data to be processed, and the location indication is allocated for the first buffer space Information, such as an indicator pointing to the first buffer space, then returns the position indication information to the CPU. After the CPU receives the position indication information of the first buffer space from the register, it can create a virtual storage space based on the storage space required by the data to be processed, allocate a base address for the virtual storage space, and create a virtual storage space. The corresponding relationship between the base address and the position indication information. Wherein, the creation of the virtual storage space based on the size of the storage space required by the data to be processed and the allocation of the base address for the virtual storage space may also be created before sending the request for applying for the buffer space to the buffer in the electronic device. Before sending the request for applying for cache space to the cache in the electronic device, the request is also acceptable if the virtual storage space has been created based on the size of the storage space required for the data to be processed and the base address is allocated for the virtual storage space. Carry the base address of the virtual storage space. At this time, the register can establish the corresponding relationship between the position indication information and the base address of the virtual storage space. After the CPU receives the position indication information indicating the first cache space from the register, the corresponding relationship between the base address of the virtual storage space and the position indication information may not be established. Wherein, the position indication information of the first cache space is used to indicate the base address of the first cache space. It can be seen that the virtual storage space can make the data to be processed including multiple operations correspond to a position indication information in the register, such as an index. In this way, data including multiple operations can be shared to the DSP at one time through the virtual storage space, thereby improving the efficiency of information processing. In addition, because the first cache space is applied for based on the storage space required for the data to be processed, it is possible to apply for a suitable cache space, that is, it will not cause a waste of cache space due to the application of too much cache space, nor Because too little cache space is requested, the data to be processed cannot be cached.

203、將待處理資料儲存至虛擬儲存空間。203. Store the to-be-processed data in the virtual storage space.

CPU為待處理資料分配虛擬儲存空間之後,可以將待處理資料儲存至虛擬儲存空間,即將待處理資料儲存至與虛擬儲存空間對應的第一緩存空間。After the CPU allocates the virtual storage space for the data to be processed, the data to be processed can be stored in the virtual storage space, that is, the data to be processed is stored in the first cache space corresponding to the virtual storage space.

204、向DSP發送攜帶虛擬儲存空間的資訊的資料處理指令。204. Send a data processing instruction carrying information of the virtual storage space to the DSP.

CPU將待處理資料儲存至虛擬儲存空間之後,可以向DSP發送攜帶虛擬儲存空間的資訊的資料處理指令,以便DSP從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料並對待處理資料進行處理。CPU可以調用預設函式庫向DSP發送攜帶虛擬儲存空間的資訊的資料處理指令。預設函式庫是專門用於對DSP進行調用的函式庫,如FastRPC。虛擬儲存空間的資訊可以包括虛擬儲存空間的基址。After the CPU stores the data to be processed in the virtual storage space, it can send data processing instructions carrying the information of the virtual storage space to the DSP, so that the DSP can obtain the data to be processed from the virtual storage space corresponding to the information in the virtual storage space and process the data to be processed . The CPU can call the preset library to send data processing instructions carrying information of the virtual storage space to the DSP. The default library is a library specifically used to call DSP, such as FastRPC. The information of the virtual storage space may include the base address of the virtual storage space.

在圖2所描述的資訊處理方法中,CPU可以通過虛擬儲存空間一次性將多個操作的資料共享給DSP,在這個過程中僅進行一次DSP調度即可,從而減小DSP調度開銷,提高資訊處理效率。In the information processing method described in Figure 2, the CPU can share the data of multiple operations to the DSP at one time through the virtual storage space. In this process, only one DSP scheduling can be performed, thereby reducing the DSP scheduling overhead and improving the information. Processing efficiency.

請參閱圖3,圖3是本發明實施例提供的另一種資訊處理方法的流程示意圖。其中,該資訊處理方法是從CPU的角度描述的。如圖3所示,該資訊處理方法可以包括以下步驟。Please refer to FIG. 3, which is a schematic flowchart of another information processing method according to an embodiment of the present invention. Among them, the information processing method is described from the perspective of the CPU. As shown in FIG. 3, the information processing method may include the following steps.

301、獲取待處理資料。301. Obtain data to be processed.

其中,步驟301與步驟201相同,詳細描述請參考步驟201,在此不再贅述。Among them, step 301 is the same as step 201. For detailed description, please refer to step 201, which will not be repeated here.

302、確定待處理資料所需的儲存空間大小。302. Determine the size of storage space required for the data to be processed.

CPU獲取到待處理資料之後,可以確定待處理資料所需的儲存空間大小。在一些實施例中,可以先確定待處理資料包括的至少一個數組(array)中每個數組所需的儲存空間大小,之後基於至少一個數組中每個數組所需的儲存空間大小確定待處理資料所需的儲存空間大小,即可以將至少一個數組中每個數組所需的儲存空間大小之和確定為待處理資料所需的儲存空間大小。其中,每個數組包括同一類型的資料。After the CPU obtains the data to be processed, it can determine the amount of storage space required for the data to be processed. In some embodiments, the storage space required by each array in at least one array included in the data to be processed may be determined first, and then the data to be processed can be determined based on the storage space required by each array in the at least one array The required storage space size, that is, the sum of the storage space required by each array in at least one array can be determined as the storage space required for the data to be processed. Among them, each array includes the same type of data.

在一些實施例中,也可以基於待處理資料的資料量和待處理資料對應的結果資料量(即,待處理資料對應的結果資料的資料量)確定待處理資料所需的儲存空間大小,即可以將待處理資料的資料量和待處理資料對應的結果資料量之和確定為待處理資料所需的儲存空間大小。該結果資料量可以根據待處理資料所涉及的處理參數預先確定。In some embodiments, the amount of storage space required for the data to be processed can also be determined based on the data volume of the data to be processed and the result data volume corresponding to the data to be processed (ie, the data volume of the result data corresponding to the data to be processed), that is, The sum of the amount of data to be processed and the amount of result data corresponding to the data to be processed can be determined as the storage space required for the data to be processed. The amount of result data can be predetermined according to the processing parameters involved in the data to be processed.

在一些實施例中,還可以先確定待處理資料包括的至少一個數組中每個數組的資料量和每個數組對應的結果資料量,之後根據至少一個數組中每個數組的資料量和每個數組對應的結果資料量確定至少一個數組中每個數組所需的儲存空間大小。也即先計算每個數組包括的資料所需的儲存空間大小以及該數組包括的資料對應的結果所需儲存空間大小,之後由每個數組包括的資料所需的儲存儲存空間大小以及該數組包括的資料對應的結果所需儲存空間大小之和得到每個數組所需的儲存空間大小。In some embodiments, the amount of data in each array and the amount of result data corresponding to each array in the at least one array included in the data to be processed may also be determined first, and then based on the amount of data in each array and each array in the at least one array. The amount of result data corresponding to the array determines the storage space required for each array in at least one array. That is, first calculate the storage space required for the data included in each array and the storage space required for the result corresponding to the data included in the array, and then the storage storage space required for the data included in each array and the array include The sum of the storage space required for the results corresponding to the data of the data is the storage space required for each array.

303、根據待處理資料所需的儲存空間大小為待處理資料分配虛擬儲存空間。303. Allocate virtual storage space for the data to be processed according to the size of the storage space required by the data to be processed.

其中,步驟303與步驟202相同,詳細描述請參考步驟202,在此不再贅述。此外,CPU還可以根據至少一個數組中每個數組所需的儲存空間大小,確定至少一個數組中每個數組在虛擬儲存空間中的偏移量。然後,可以根據基址以及偏移量來在虛擬儲存空間中寫入資料。Wherein, step 303 is the same as step 202. For detailed description, please refer to step 202, which will not be repeated here. In addition, the CPU may also determine the offset of each array in the at least one array in the virtual storage space according to the size of the storage space required by each array in the at least one array. Then, data can be written in the virtual storage space according to the base address and offset.

304、將待處理資料儲存至虛擬儲存空間。304. Store the to-be-processed data in the virtual storage space.

其中,步驟304與步驟203相同,詳細描述請參考步驟203,在此不再贅述。Wherein, step 304 is the same as step 203. For detailed description, please refer to step 203, which will not be repeated here.

305、向DSP發送攜帶虛擬儲存空間的資訊的資料處理指令。305. Send a data processing instruction carrying information of the virtual storage space to the DSP.

其中,步驟305與步驟204相同,詳細描述請參考步驟204,在此不再贅述。Wherein, step 305 is the same as step 204. For detailed description, please refer to step 204, which will not be repeated here.

在圖3所描述的資訊處理方法中,CPU可以通過虛擬儲存空間一次性將包括多個操作的資料發送給DSP,從而減小DSP調度開銷,提高資訊處理效率。In the information processing method described in FIG. 3, the CPU can send data including multiple operations to the DSP at one time through the virtual storage space, thereby reducing the DSP scheduling overhead and improving the efficiency of information processing.

請參閱圖4,圖4是本發明實施例提供的又一種資訊處理方法的流程示意圖。其中,該資訊處理方法是從DSP的角度描述的。如圖4所示,該資訊處理方法可以包括以下步驟。Please refer to FIG. 4, which is a schematic flowchart of another information processing method according to an embodiment of the present invention. Among them, the information processing method is described from the perspective of DSP. As shown in FIG. 4, the information processing method may include the following steps.

401、接收來自CPU的資料處理指令。401. Receive a data processing instruction from the CPU.

CPU向DSP發送攜帶虛擬儲存空間的資訊的資料處理指令之後,DSP接收來自CPU的該資料處理指令。CPU和DSP均具有存取虛擬儲存空間的資訊對應的虛擬儲存空間的權限。After the CPU sends a data processing instruction carrying information of the virtual storage space to the DSP, the DSP receives the data processing instruction from the CPU. Both the CPU and the DSP have the authority to access the virtual storage space corresponding to the information in the virtual storage space.

402、從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料。402. Obtain the data to be processed from the virtual storage space corresponding to the information in the virtual storage space.

DSP接收到來自CPU的資料處理指令之後,從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料。虛擬儲存空間的資訊對應的虛擬儲存空間對應於電子設備緩存中的第一緩存空間,CPU和DSP均具有存取電子設備緩存的權限。因此,DSP從虛擬儲存空間的資訊對應的第一緩存空間獲取待處理資料。在第一緩存空間的位置指示資訊與虛擬儲存空間的基址之間的對應關係是由CPU建立的情況下,DSP可以先獲取虛擬儲存空間的資訊對應的位置指示資訊,之後從位置指示資訊對應的第一緩存空間獲取待處理資料。在第一緩存空間的位置指示資訊與虛擬儲存空間的基址之間的對應關係是由緩存器建立的情況下,DSP可以直接向緩存器發送攜帶虛擬儲存空間的資訊的資料獲取請求,緩存器接收到來自DSP的資料獲取請求之後,根據虛擬儲存空間的資訊以及位置指示資訊與虛擬儲存空間的資訊之間的對應關係獲取虛擬儲存空間的資訊對應的位置指示資訊,從位置指示資訊對應的第一緩存空間獲取待處理資料,之後向DSP返回待處理資料。After receiving the data processing instruction from the CPU, the DSP obtains the data to be processed from the virtual storage space corresponding to the information in the virtual storage space. The virtual storage space corresponding to the information in the virtual storage space corresponds to the first cache space in the cache of the electronic device, and both the CPU and the DSP have the authority to access the cache of the electronic device. Therefore, the DSP obtains the data to be processed from the first buffer space corresponding to the information in the virtual storage space. In the case that the corresponding relationship between the position indication information of the first cache space and the base address of the virtual storage space is established by the CPU, the DSP can first obtain the position indication information corresponding to the information of the virtual storage space, and then correspond to the position indication information To obtain the data to be processed in the first buffer space. In the case that the corresponding relationship between the position indication information of the first buffer space and the base address of the virtual storage space is established by the buffer, the DSP can directly send the data acquisition request carrying the information of the virtual storage space to the buffer, and the buffer After receiving the data acquisition request from the DSP, obtain the position indication information corresponding to the information of the virtual storage space according to the information of the virtual storage space and the corresponding relationship between the position indication information and the information of the virtual storage space, and obtain the position indication information corresponding to the information of the position indication information from the position indication information corresponding to the position indication information. A buffer space acquires the data to be processed, and then returns the data to be processed to the DSP.

403、對待處理資料進行處理。403. Process the data to be processed.

DSP從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料之後,對待處理資料進行處理。對待處理資料的處理可以包括卷積處理,還可以包括全連接處理等其它處理。After the DSP obtains the data to be processed from the virtual storage space corresponding to the information in the virtual storage space, the data to be processed is processed. The processing of the data to be processed may include convolution processing, and may also include other processing such as full connection processing.

404、將待處理資料的處理結果儲存在虛擬儲存空間的資訊對應的第一緩存空間。404. Store the processing result of the to-be-processed data in a first buffer space corresponding to the information in the virtual storage space.

DSP對待處理資料進行處理之後,可以將待處理資料的處理結果儲存在虛擬儲存空間的資訊對應的第一緩存空間。可以向緩存器發送儲存指令,該儲存指令攜帶處理結果和虛擬儲存空間的資訊。緩存器接收到來自DSP的儲存指令之後,將處理結果儲存在第一緩存空間。After the DSP processes the data to be processed, the processing result of the data to be processed can be stored in the first buffer space corresponding to the information in the virtual storage space. A storage instruction can be sent to the register, and the storage instruction carries the processing result and the information of the virtual storage space. After the buffer receives the storage instruction from the DSP, it stores the processing result in the first buffer space.

DSP將待處理資料的處理結果儲存在虛擬儲存空間的資訊對應的第一緩存空間之後,可以向CPU發送處理完成響應消息,以便CPU可以從緩存器獲取處理結果,從而可以及時清理緩存器的緩存空間。After the DSP stores the processing result of the data to be processed in the first buffer space corresponding to the information in the virtual storage space, it can send a processing completion response message to the CPU so that the CPU can obtain the processing result from the buffer, thereby clearing the buffer in the buffer in time space.

在圖4所描述的資訊處理方法中,DSP可以通過虛擬儲存空間的資訊一次性從虛擬儲存空間獲取資料並處理,從而可以提高資料處理效率。In the information processing method described in FIG. 4, the DSP can obtain and process data from the virtual storage space at one time through the information in the virtual storage space, thereby improving the efficiency of data processing.

請參閱圖5,圖5是本發明實施例提供的又一種資訊處理方法的流程示意圖。其中,該資訊處理方法是從CPU和DSP的角度描述的。如圖5所示,該資訊處理方法可以包括以下步驟。Please refer to FIG. 5, which is a schematic flowchart of another information processing method according to an embodiment of the present invention. Among them, the information processing method is described from the perspective of CPU and DSP. As shown in FIG. 5, the information processing method may include the following steps.

501、CPU獲取待處理資料。501. The CPU obtains data to be processed.

其中,步驟501與步驟201相同,詳細描述請參考步驟201,在此不再贅述。Wherein, step 501 is the same as step 201. For detailed description, please refer to step 201, which will not be repeated here.

502、CPU確定待處理資料所需的儲存空間大小。502. The CPU determines the size of the storage space required for the data to be processed.

其中,步驟502與步驟302相同,詳細描述請參考步驟302,在此不再贅述。Among them, step 502 is the same as step 302. For detailed description, please refer to step 302, which will not be repeated here.

503、CPU向緩存器發送用於申請緩存空間的請求。503. The CPU sends a request for applying for cache space to the cache.

CPU確定待處理資料所需的儲存空間大小之後,可以向緩存器發送用於申請緩存空間的請求,該請求攜帶待處理資料所需的儲存空間大小的資訊。After the CPU determines the size of the storage space required for the data to be processed, it can send a request for applying for cache space to the register. The request carries information about the size of the storage space required for the data to be processed.

504、緩存器向CPU發送第一緩存空間的位置指示資訊。504. The buffer sends location indication information of the first buffer space to the CPU.

緩存器接收到來自CPU的請求之後,根據該資訊對應的儲存空間大小從空閒的緩存空間中選取第一緩存空間,之後向CPU發送第一緩存空間的位置指示資訊。例如,向CPU發送指標,指示第一緩存空間的基址。After receiving the request from the CPU, the buffer selects the first buffer space from the free buffer space according to the size of the storage space corresponding to the information, and then sends the position indication information of the first buffer space to the CPU. For example, sending an indicator to the CPU to indicate the base address of the first cache space.

505、CPU基於位置指示資訊確定虛擬儲存空間對應的實體儲存位址。505. The CPU determines a physical storage address corresponding to the virtual storage space based on the location indication information.

CPU在確定待處理資料所需的儲存空間大小之後,可以根據待處理資料所需的儲存空間大小為待處理資料分配虛擬儲存空間,例如資料在虛擬儲存空間的偏移量。其中,該偏移量可以為每個數組的資料在虛擬儲存空間中的偏移量,也可以為每個數組的資料及其對應的結果資料的偏移量。該偏移量相對於虛擬儲存空間的基址來被確定。其它相關的描述可以參考上述實施例。After determining the storage space required for the data to be processed, the CPU can allocate virtual storage space for the data to be processed according to the storage space required for the data to be processed, such as the offset of the data in the virtual storage space. Wherein, the offset can be the offset of the data of each array in the virtual storage space, or the offset of the data of each array and its corresponding result data. The offset is determined relative to the base address of the virtual storage space. For other related descriptions, reference may be made to the above-mentioned embodiment.

在接收到來自緩存器的位置指示資訊之後,可以基於位置指示資訊確定虛擬儲存空間對應的實體儲存位址,即確定虛擬儲存空間的基址,從而確定待處理資料的實際儲存位置。After receiving the location indication information from the register, the physical storage address corresponding to the virtual storage space can be determined based on the location indication information, that is, the base address of the virtual storage space is determined, so as to determine the actual storage location of the data to be processed.

506、CPU將待處理資料儲存至虛擬儲存空間,即儲存至位置指示資訊指示的第一緩存空間。506. The CPU stores the to-be-processed data in the virtual storage space, that is, in the first buffer space indicated by the position indication information.

其中,步驟506與步驟203相似,詳細描述請參考步驟203,在此不再贅述。Wherein, step 506 is similar to step 203. For detailed description, please refer to step 203, which will not be repeated here.

507、CPU向DSP發送攜帶虛擬儲存空間的資訊的資料處理指令。507. The CPU sends a data processing instruction carrying information of the virtual storage space to the DSP.

相應地,DSP接收來自CPU的資料處理指令。Correspondingly, the DSP receives data processing instructions from the CPU.

其中,步驟507與步驟204相同,詳細描述請參考步驟204,在此不再贅述。Wherein, step 507 is the same as step 204. For detailed description, please refer to step 204, which will not be repeated here.

其中,DSP接收來自CPU的資料處理指令與步驟401相同,詳細描述請參考步驟401,在此不再贅述。Wherein, the data processing instruction received by the DSP from the CPU is the same as step 401. For detailed description, please refer to step 401, which is not repeated here.

508、DSP從虛擬儲存空間的資訊對應的第一緩存空間獲取待處理資料。508. The DSP obtains the data to be processed from the first buffer space corresponding to the information in the virtual storage space.

其中,步驟508與步驟402相似,詳細描述請參考步驟402,在此不再贅述。Wherein, step 508 is similar to step 402. For detailed description, please refer to step 402, which will not be repeated here.

509、DSP對待處理資料進行處理。509. The DSP processes the data to be processed.

其中,步驟509與步驟403相同,詳細描述請參考步驟403,在此不再贅述。Among them, step 509 is the same as step 403. For detailed description, please refer to step 403, which will not be repeated here.

510、DSP將待處理資料的處理結果儲存在虛擬儲存空間的資訊對應的第一緩存空間。510. The DSP stores the processing result of the data to be processed in the first buffer space corresponding to the information in the virtual storage space.

其中,步驟510與步驟404相同,詳細描述請參考步驟404,在此不再贅述。Wherein, step 510 is the same as step 404. For detailed description, please refer to step 404, which will not be repeated here.

在本發明一些實施例中,CPU負責解析神經網路模型,並計算與神經網路模型的資料處理相關的各個數組需要的空間大小。CPU根據計算出來的空間大小,向一個虛擬的堆申請空間(即,虛擬儲存空間)。這裡申請空間返回的結果並非通常的指標,而是一個相對於該堆的基址的偏移量。在申請空間完成後,CPU統計需要的空間的總和,並在ION Buffer上分配與該總和相對應大小的空間,獲得實際的基址。然後,CPU將運行神經網路模型所需要的相關參數和資料寫入所申請的虛擬儲存空間,即實際寫入ION Buffer上所分配的與該虛擬空間相對應的空間,具體的寫入位址可以通過基址和偏移量計算得出。然後,CPU發起FastRPC調用,通過FastRPC將這塊虛擬儲存空間傳遞給DSP。這樣,CPU與DSP均可共享該虛擬儲存空間。然後,DSP可以根據該虛擬儲存空間的位址資訊解析到ION Buffer中的資料,並開始計算,將計算結果儲存到該空間的相應位置,並返回給CPU。In some embodiments of the present invention, the CPU is responsible for analyzing the neural network model and calculating the space required by each array related to the data processing of the neural network model. The CPU applies for space (ie, virtual storage space) from a virtual heap according to the calculated space size. The result returned by applying for space here is not a usual indicator, but an offset relative to the base address of the heap. After the space application is completed, the CPU counts the total amount of space required, and allocates space corresponding to the total size on the ION Buffer to obtain the actual base address. Then, the CPU writes the relevant parameters and data required to run the neural network model into the virtual storage space that is applied for, that is, the space that corresponds to the virtual space allocated on the ION Buffer and the specific write address It can be calculated by base address and offset. Then, the CPU initiates a FastRPC call, and passes this virtual storage space to the DSP through FastRPC. In this way, both the CPU and the DSP can share the virtual storage space. Then, the DSP can parse the data in the ION Buffer according to the address information of the virtual storage space, and start the calculation, store the calculation result in the corresponding location of the space, and return it to the CPU.

通過這種方式,整個資料處理過程僅進行了一次FastRPC調用,而這次調用中僅傳遞了與該虛擬儲存空間相關的一個數組,從而在滿足FastRPC調用的要求的前提下最大限度地減少了額外的開銷。In this way, only one FastRPC call is made in the entire data processing process, and only an array related to the virtual storage space is passed in this call, thereby minimizing additional extras while meeting the requirements of the FastRPC call Overhead.

請參閱圖6,圖6是本發明實施例提供的一種資訊處理裝置的結構示意圖。如圖6所示,該資訊處理裝置可以包括:獲取單元601,用於獲取待處理資料;分配單元602,用於為待處理資料分配虛擬儲存空間;儲存單元603,用於將待處理資料儲存至虛擬儲存空間;發送單元604,用於向DSP發送攜帶虛擬儲存空間的資訊的資料處理指令,資料處理指令用於DSP從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料並對待處理資料進行處理。Please refer to FIG. 6. FIG. 6 is a schematic structural diagram of an information processing apparatus according to an embodiment of the present invention. As shown in FIG. 6, the information processing device may include: an acquiring unit 601 for acquiring data to be processed; an allocating unit 602 for allocating virtual storage space for the data to be processed; and a storage unit 603 for storing the data to be processed To the virtual storage space; the sending unit 604 is used to send a data processing instruction carrying information of the virtual storage space to the DSP. The data processing instruction is used by the DSP to obtain the data to be processed from the virtual storage space corresponding to the information in the virtual storage space and the data to be processed To process.

在一些實施例中,虛擬儲存空間對應於電子設備的緩存器中的第一緩存空間;儲存單元603,具體用於將待處理資料儲存至第一緩存空間;DSP從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料包括:DSP從虛擬儲存空間的資訊對應的第一緩存空間獲取待處理資料。In some embodiments, the virtual storage space corresponds to the first buffer space in the buffer of the electronic device; the storage unit 603 is specifically configured to store the data to be processed in the first buffer space; the DSP corresponds to the information from the virtual storage space Obtaining the data to be processed by the virtual storage space includes: the DSP acquires the data to be processed from the first buffer space corresponding to the information in the virtual storage space.

在一些實施例中,分配單元602具體用於:基於待處理資料所需的儲存空間大小,向電子設備的緩存器申請緩存空間;基於電子設備的緩存器返回的第一緩存空間的位置指示資訊,確定虛擬儲存空間的實體儲存位置。In some embodiments, the allocating unit 602 is specifically configured to: apply for a buffer space from the buffer of the electronic device based on the size of the storage space required by the data to be processed; and to indicate information based on the location of the first buffer space returned by the buffer of the electronic device To determine the physical storage location of the virtual storage space.

在一些實施例中,所述待處理資料包括至少一個數組,每個數組包括同一類型的資料,該資訊處理裝置還可以包括:確定單元605,用於確定所述至少一個數組中每個數組所需的儲存空間大小,基於所述至少一個數組中每個數組所需的儲存空間大小確定待處理資料所需的儲存空間大小。In some embodiments, the data to be processed includes at least one array, and each array includes data of the same type. The information processing device may further include: a determining unit 605 configured to determine the data of each array in the at least one array. The required storage space size is determined based on the storage space required by each array in the at least one array.

在一些實施例中,確定單元605,還用於根據所述至少一個數組中每個數組所需的儲存空間大小,確定所述至少一個數組中每個數組在虛擬儲存空間中的偏移量。In some embodiments, the determining unit 605 is further configured to determine the offset of each array in the at least one array in the virtual storage space according to the size of the storage space required by each array in the at least one array.

在一些實施例中,確定單元605,用於基於待處理資料的資料量和待處理資料對應的結果資料量,確定待處理資料所需的儲存空間大小。In some embodiments, the determining unit 605 is configured to determine the amount of storage space required for the data to be processed based on the data volume of the data to be processed and the result data volume corresponding to the data to be processed.

在一些實施例中,分配單元602基於待處理資料所需的儲存空間大小,向電子設備的緩存器申請緩存空間包括:向電子設備的緩存器發送用於申請緩存空間的請求,該請求攜帶待處理資料所需的儲存空間大小的資訊;接收來自緩存器的位置指示資訊,位置指示資訊用於指示第一緩存空間的基址。In some embodiments, the allocating unit 602 applies for buffer space from the buffer of the electronic device based on the size of the storage space required by the data to be processed, including: sending a request for applying for buffer space to the buffer of the electronic device, and the request carries the buffer to be processed. Information on the size of storage space required for processing data; receiving position indication information from the register, and the position indication information is used to indicate the base address of the first cache space.

在一些實施例中,待處理資料為神經網路中網路層的網路參數和輸入資料。In some embodiments, the data to be processed are network parameters and input data of the network layer in the neural network.

本實施例可對應於本申請實施例中方法實施例描述,並且各個單元的上述和其它操作和/或功能分別為了實現圖2和圖3中各方法中的相應流程,為了簡潔,在此不再贅述。This embodiment may correspond to the description of the method embodiment in the embodiment of the application, and the above and other operations and/or functions of each unit are used to implement the corresponding processes in each method in FIG. 2 and FIG. 3 respectively. For the sake of brevity, it is not here. Go into details again.

請參閱圖7,圖7是本發明實施例提供的另一種資訊處理裝置的結構示意圖。如圖7所示,該資訊處理裝置可以包括:接收單元701,用於接收來自CPU的資料處理指令,資料處理指令攜帶虛擬儲存空間的資訊;獲取單元702,用於從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料;處理單元703,用於對待處理資料進行處理。Please refer to FIG. 7, which is a schematic structural diagram of another information processing device provided by an embodiment of the present invention. As shown in FIG. 7, the information processing device may include: a receiving unit 701 for receiving data processing instructions from the CPU, the data processing instructions carrying information in the virtual storage space; an acquiring unit 702, for corresponding information from the virtual storage space The virtual storage space of ”obtains the data to be processed; the processing unit 703 is used to process the data to be processed.

在一些實施例中,虛擬儲存空間的資訊對應的虛擬儲存空間對應於電子設備的緩存器中的第一緩存空間;獲取單元702,具體用於從虛擬儲存空間的資訊對應的第一緩存空間獲取待處理資料。In some embodiments, the virtual storage space corresponding to the information in the virtual storage space corresponds to the first cache space in the register of the electronic device; the obtaining unit 702 is specifically configured to obtain the first cache space corresponding to the information in the virtual storage space Pending data.

在一些實施例中,該資訊處理裝置還可以包括:儲存單元704,用於將待處理資料的處理結果儲存在虛擬儲存空間的資訊對應的第一緩存空間。In some embodiments, the information processing apparatus may further include: a storage unit 704, configured to store the processing result of the data to be processed in the first buffer space corresponding to the information in the virtual storage space.

在一些實施例中,待處理資料為神經網路中網路層的網路參數和輸入資料。In some embodiments, the data to be processed are network parameters and input data of the network layer in the neural network.

本實施例可對應於本申請實施例中方法實施例描述,並且各個單元的上述和其它操作和/或功能分別為了實現圖4中各方法中的相應流程,為了簡潔,在此不再贅述。This embodiment may correspond to the description of the method embodiment in the embodiment of the present application, and the above and other operations and/or functions of each unit are used to implement the corresponding process in each method in FIG. 4, and are not repeated here for brevity.

請參閱圖8,圖8是本發明實施例提供的又一種資訊處理裝置的結構示意圖。該資訊處理裝置可以實現圖1所示的電子設備中的CPU的各個功能。如圖8所示,該資訊處理裝置可以包括:至少一個處理器801,如CPU,收發器802以及至少一個匯流排803。匯流排803,用於實現這些組件之間的連接通訊。Please refer to FIG. 8. FIG. 8 is a schematic structural diagram of another information processing device according to an embodiment of the present invention. The information processing device can implement various functions of the CPU in the electronic device shown in FIG. 1. As shown in FIG. 8, the information processing device may include: at least one processor 801, such as a CPU, a transceiver 802, and at least one bus 803. The bus 803 is used to realize the connection and communication between these components.

在一些實施例中,處理器801用於執行以下操作:獲取待處理資料;為待處理資料分配虛擬儲存空間;將待處理資料儲存至虛擬儲存空間;收發器802,用於向DSP發送攜帶虛擬儲存空間的資訊的資料處理指令,資料處理指令用於DSP從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料並對待處理資料進行處理。In some embodiments, the processor 801 is used to perform the following operations: obtain data to be processed; allocate virtual storage space for the data to be processed; store the data to be processed in the virtual storage space; The data processing instructions of the information in the storage space are used by the DSP to obtain the data to be processed from the virtual storage space corresponding to the information in the virtual storage space and process the data to be processed.

在一些實施例中,虛擬儲存空間對應於電子設備緩存中的第一緩存空間;處理器801將待處理資料儲存至虛擬儲存空間包括:將待處理資料儲存至第一緩存空間;DSP從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料包括:DSP從虛擬儲存空間的資訊對應的第一緩存空間獲取待處理資料。In some embodiments, the virtual storage space corresponds to the first cache space in the electronic device cache; the processor 801 storing the to-be-processed data in the virtual storage space includes: storing the to-be-processed data in the first cache space; and the DSP from the virtual storage Obtaining the data to be processed by the virtual storage space corresponding to the information of the space includes: the DSP acquires the data to be processed from the first buffer space corresponding to the information of the virtual storage space.

在一些實施例中,處理器801為待處理資料分配虛擬儲存空間包括:基於待處理資料所需的儲存空間大小,向電子設備的緩存器申請緩存空間;基於電子設備的緩存器返回的第一緩存空間的位置指示資訊,確定虛擬儲存空間的實體儲存位置。In some embodiments, the processor 801 allocating virtual storage space for the data to be processed includes: requesting a buffer space from the buffer of the electronic device based on the storage space required by the data to be processed; The location indication information of the cache space determines the physical storage location of the virtual storage space.

在一些實施例中,待處理資料包括至少一個數組,每個數組包括同一類型的資料,處理器801還用於執行以下操作:確定所述至少一個數組中每個數組所需的儲存空間大小;基於所述至少一個數組中每個數組所需的儲存空間大小,確定待處理資料所需的儲存空間大小。In some embodiments, the data to be processed includes at least one array, and each array includes data of the same type. The processor 801 is further configured to perform the following operations: determine the storage space required by each array in the at least one array; Based on the storage space required by each array in the at least one array, the storage space required by the data to be processed is determined.

在一些實施例中,處理器801還用於執行以下操作:根據所述至少一個數組中每個數組所需的儲存空間大小,確定所述至少一個數組中每個數組在虛擬儲存空間中的偏移量。In some embodiments, the processor 801 is further configured to perform the following operations: determine the deviation of each array in the at least one array in the virtual storage space according to the size of the storage space required by each array in the at least one array. Shift.

在一些實施例中,處理器801還用於執行以下操作:基於待處理資料的資料量和待處理資料對應的結果資料量,確定待處理資料所需的儲存空間大小。In some embodiments, the processor 801 is further configured to perform the following operations: based on the data volume of the data to be processed and the result data volume corresponding to the data to be processed, determine the size of the storage space required for the data to be processed.

在一些實施例中,處理器801基於待處理資料所需的儲存空間大小,向電子設備的緩存器申請緩存空間包括:向電子設備中的緩存器發送用於申請緩存空間的請求,該請求攜帶待處理資料所需的儲存空間大小的資訊;接收來自緩存器的位置指示資訊,位置指示資訊用於指示第一緩存空間的基址。In some embodiments, the processor 801 applies for cache space from the cache of the electronic device based on the size of the storage space required by the data to be processed includes: sending a request for applying for cache space to the cache of the electronic device, and the request carries Information on the size of the storage space required for the data to be processed; receiving position indication information from the buffer, and the position indication information is used to indicate the base address of the first buffer space.

在一些實施例中,待處理資料為神經網路中網路層的網路參數和輸入資料。In some embodiments, the data to be processed are network parameters and input data of the network layer in the neural network.

其中,步驟201-步驟203、步驟301-步驟304以及步驟501-步驟504可以由CPU中的處理器801來執行,步驟204、步驟305以及步驟505可以由CPU中的收發器802來執行。Among them, step 201-step 203, step 301-step 304, and step 501-step 504 can be executed by the processor 801 in the CPU, and step 204, step 305, and step 505 can be executed by the transceiver 802 in the CPU.

其中,獲取單元601、分配單元602、儲存單元603和確定單元605可以由CPU中的處理器801來實現,發送單元604可以由CPU中的收發器802來實現。The acquisition unit 601, the distribution unit 602, the storage unit 603, and the determination unit 605 can be implemented by the processor 801 in the CPU, and the sending unit 604 can be implemented by the transceiver 802 in the CPU.

上述資訊處理裝置還可以用於執行前述方法實施例中執行的各種方法,不再贅述。The above-mentioned information processing device can also be used to execute various methods executed in the foregoing method embodiments, and details are not described herein again.

在另一些實施例中,該資訊處理裝置可以實現圖1所示的電子設備中的DSP的各個功能。其中:收發器802,用於接收來自CPU的資料處理指令,資料處理指令攜帶虛擬儲存空間的資訊;處理器801用於執行以下操作:從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料;對待處理資料進行處理。In other embodiments, the information processing apparatus can implement various functions of the DSP in the electronic device shown in FIG. 1. Wherein: the transceiver 802 is used to receive data processing instructions from the CPU, and the data processing instructions carry information in the virtual storage space; the processor 801 is used to perform the following operations: obtain the data to be processed from the virtual storage space corresponding to the information in the virtual storage space ; Process the data to be processed.

在一些實施例中,虛擬儲存空間的資訊對應的虛擬儲存空間對應於電子設備的緩存器中的第一緩存空間;處理器801從虛擬儲存空間的資訊對應的虛擬儲存空間獲取待處理資料包括:從虛擬儲存空間的資訊對應的第一緩存空間獲取待處理資料。In some embodiments, the virtual storage space corresponding to the information in the virtual storage space corresponds to the first cache space in the register of the electronic device; the processor 801 obtaining the data to be processed from the virtual storage space corresponding to the information in the virtual storage space includes: Obtain the to-be-processed data from the first cache space corresponding to the information in the virtual storage space.

在一些實施例中,處理器801還用於執行以下操作:將待處理資料的處理結果儲存在虛擬儲存空間的資訊對應的第一緩存空間。In some embodiments, the processor 801 is further configured to perform the following operations: store the processing result of the data to be processed in the first buffer space corresponding to the information in the virtual storage space.

在一些實施例中,待處理資料為神經網路中網路層的網路參數和輸入資料。In some embodiments, the data to be processed are network parameters and input data of the network layer in the neural network.

其中,步驟402-步驟404以及步驟506-步驟508可以由處理器801來執行,步驟204、步驟305和步驟505中接收資料處理指令的步驟以及步驟401可以由收發器802來執行。Among them, steps 402 to 404 and steps 506 to 508 can be executed by the processor 801, and the steps of receiving data processing instructions in step 204, step 305, and step 505 and step 401 can be executed by the transceiver 802.

其中,獲取單元702、處理單元703和儲存單元704可以由處理器801來實現,接收單元701可以由收發器802來實現。Among them, the acquiring unit 702, the processing unit 703, and the storage unit 704 may be implemented by the processor 801, and the receiving unit 701 may be implemented by the transceiver 802.

上述資訊處理裝置還可以用於執行前述方法實施例中執行的各種方法,不再贅述。The above-mentioned information processing device can also be used to execute various methods executed in the foregoing method embodiments, and details are not described herein again.

在一些實施例中提供了一種電腦可讀取記錄媒體,該電腦可讀取記錄媒體用於儲存應用程式,應用程式用於在運行時執行圖2-圖4的資訊處理方法。In some embodiments, a computer-readable recording medium is provided, and the computer-readable recording medium is used to store an application program, and the application program is used to execute the information processing method of FIGS. 2 to 4 during operation.

在一些實施例中提供了一種應用程式,該應用程式用於在運行時執行圖2-圖4的資訊處理方法。In some embodiments, an application program is provided, and the application program is used to execute the information processing method of FIG. 2 to FIG. 4 at runtime.

本領域通常知識者可以理解上述實施例的各種方法中的全部或部分步驟是可以透過程式指令相關的硬體來完成,該程式可以儲存於一電腦可讀儲存裝置中,儲存裝置可以包括:隨身碟、ROM、RAM、磁碟或光碟等。Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above-mentioned embodiments can be completed by programming related hardware. The program can be stored in a computer-readable storage device. The storage device can include: portable Disk, ROM, RAM, floppy disk or CD-ROM, etc.

101:CPU 102:DSP 103:緩存器 201~204,301~305,401~404,501~510:步驟 601,702:獲取單元 602:分配單元 603,704:儲存單元 604:發送單元 605:確定單元 701:接收單元 703:處理單元 801:處理器 802:收發器 803:匯流排101: CPU 102: DSP 103: buffer 201~204,301~305,401~404,501~510: steps 601, 702: acquisition unit 602: Allocation Unit 603,704: storage unit 604: sending unit 605: Determine Unit 701: receiving unit 703: Processing Unit 801: processor 802: Transceiver 803: Bus

圖1是本發明實施例提供的一種電子設備的示意圖。 圖2是本發明實施例提供的一種資訊處理方法的流程示意圖。 圖3是本發明實施例提供的另一種資訊處理方法的流程示意圖。 圖4是本發明實施例提供的又一種資訊處理方法的流程示意圖。 圖5是本發明實施例提供的又一種資訊處理方法的流程示意圖。 圖6是本發明實施例提供的一種資訊處理裝置的結構示意圖。 圖7是本發明實施例提供的另一種資訊處理裝置的結構示意圖。 圖8是本發明實施例提供的又一種資訊處理裝置的結構示意圖。Fig. 1 is a schematic diagram of an electronic device provided by an embodiment of the present invention. FIG. 2 is a schematic flowchart of an information processing method provided by an embodiment of the present invention. FIG. 3 is a schematic flowchart of another information processing method provided by an embodiment of the present invention. FIG. 4 is a schematic flowchart of yet another information processing method provided by an embodiment of the present invention. FIG. 5 is a schematic flowchart of yet another information processing method provided by an embodiment of the present invention. FIG. 6 is a schematic structural diagram of an information processing device provided by an embodiment of the present invention. FIG. 7 is a schematic structural diagram of another information processing device provided by an embodiment of the present invention. FIG. 8 is a schematic structural diagram of another information processing device provided by an embodiment of the present invention.

201~204:步驟 201~204: Steps

Claims (17)

一種資訊處理方法,包括: 中央處理單元(CPU)獲取待處理資料; 為所述待處理資料分配虛擬儲存空間; 將所述待處理資料儲存至所述虛擬儲存空間; 向數位信號處理器(DSP)發送攜帶所述虛擬儲存空間的資訊的資料處理指令,所述資料處理指令用於所述DSP從所述資訊對應的虛擬儲存空間獲取所述待處理資料並對所述待處理資料進行處理。An information processing method, including: The central processing unit (CPU) obtains the data to be processed; Allocating virtual storage space for the to-be-processed data; Storing the to-be-processed data in the virtual storage space; Send a data processing instruction carrying information of the virtual storage space to a digital signal processor (DSP), where the data processing instruction is used by the DSP to obtain the to-be-processed data from the virtual storage space corresponding to the information and perform State the data to be processed for processing. 如請求項1所述的方法,其中所述虛擬儲存空間對應於所述CPU所屬電子設備的緩存器中的第一緩存空間; 其中將所述待處理資料儲存至所述虛擬儲存空間的步驟包括: 所述CPU將所述待處理資料儲存至所述第一緩存空間; 其中所述DSP從所述資訊對應的虛擬儲存空間獲取所述待處理資料的步驟包括: 所述DSP從所述資訊對應的所述第一緩存空間獲取所述待處理資料。The method according to claim 1, wherein the virtual storage space corresponds to the first buffer space in the buffer of the electronic device to which the CPU belongs; The step of storing the to-be-processed data in the virtual storage space includes: Storing the data to be processed in the first buffer space by the CPU; The step of obtaining the data to be processed by the DSP from the virtual storage space corresponding to the information includes: The DSP obtains the to-be-processed data from the first buffer space corresponding to the information. 如請求項2所述的方法,其中為所述待處理資料分配所述虛擬儲存空間的步驟包括: 基於所述待處理資料所需的儲存空間大小,向所述電子設備的所述緩存器申請緩存空間; 基於所述電子設備的所述緩存器返回的所述第一緩存空間的位置指示資訊,確定所述虛擬儲存空間的實體儲存位置。The method according to claim 2, wherein the step of allocating the virtual storage space for the to-be-processed data includes: Based on the size of the storage space required by the to-be-processed data, apply for a buffer space from the buffer of the electronic device; The physical storage location of the virtual storage space is determined based on the location indication information of the first buffer space returned by the buffer of the electronic device. 如請求項3所述的方法,其中基於所述待處理資料所需的儲存空間大小,向所述電子設備的所述緩存器申請緩存空間的步驟包括: 向所述電子設備的所述緩存器發送用於申請緩存空間的請求,所述請求攜帶所述待處理資料所需的儲存空間大小的資訊; 接收來自所述緩存器的位置指示資訊,所述位置指示資訊用於指示所述第一緩存空間的基址。The method according to claim 3, wherein the step of applying for the buffer space from the buffer of the electronic device based on the size of the storage space required by the data to be processed includes: Sending a request for applying for a buffer space to the buffer of the electronic device, the request carrying information about the size of the storage space required for the data to be processed; Receiving position indication information from the buffer, where the position indication information is used to indicate the base address of the first buffer space. 如請求項1至3中任一項所述的方法,其中所述待處理資料包括至少一個數組,每個數組包括同一類型的資料,所述方法還包括: 確定所述至少一個數組中每個數組所需的儲存空間大小; 基於所述至少一個數組中每個數組所需的儲存空間大小,確定所述待處理資料所需的儲存空間大小。The method according to any one of Claims 1 to 3, wherein the data to be processed includes at least one array, and each array includes data of the same type, and the method further includes: Determining the size of storage space required by each array in the at least one array; Based on the storage space required by each array in the at least one array, the storage space required by the to-be-processed data is determined. 如請求項5所述的方法,其中所述方法還包括: 根據所述至少一個數組中每個數組所需的儲存空間大小,確定所述至少一個數組中每個數組在所述虛擬儲存空間中的偏移量。The method according to claim 5, wherein the method further includes: Determine the offset of each array in the at least one array in the virtual storage space according to the size of the storage space required by each array in the at least one array. 如請求項1至3中任一項所述的方法,其中所述方法還包括: 基於所述待處理資料的資料量和所述待處理資料對應的結果資料量,確定所述待處理資料所需的儲存空間大小。The method according to any one of claims 1 to 3, wherein the method further comprises: Based on the data volume of the data to be processed and the result data volume corresponding to the data to be processed, the size of the storage space required for the data to be processed is determined. 如請求項1-7任一項所述的方法,其中所述待處理資料包括神經網路模型中目標網路層的網路參數和輸入資料。The method according to any one of claim items 1-7, wherein the data to be processed includes network parameters and input data of the target network layer in the neural network model. 一種資訊處理方法,包括: 數位信號處理器(DSP)接收來自中央處理單元(CPU)的資料處理指令,所述資料處理指令攜帶虛擬儲存空間的資訊; 從所述資訊對應的虛擬儲存空間獲取待處理資料; 對所述待處理資料進行所述資料處理指令指示的處理操作。An information processing method, including: A digital signal processor (DSP) receives data processing instructions from a central processing unit (CPU), and the data processing instructions carry information in the virtual storage space; Obtain the to-be-processed data from the virtual storage space corresponding to the information; The processing operation indicated by the data processing instruction is performed on the data to be processed. 如請求項9所述的方法,其中所述資訊對應的虛擬儲存空間對應於所述CPU所屬電子設備的緩存器中的第一緩存空間; 其中從所述資訊對應的虛擬儲存空間獲取待處理資料的操作包括: 從所述資訊對應的第一緩存空間獲取待處理資料。The method according to claim 9, wherein the virtual storage space corresponding to the information corresponds to the first buffer space in the buffer of the electronic device to which the CPU belongs; The operation of obtaining to-be-processed data from the virtual storage space corresponding to the information includes: Obtain the data to be processed from the first buffer space corresponding to the information. 如請求項9或10所述的方法,其中所述方法還包括: 將所述待處理資料的處理結果儲存在所述資訊對應的第一緩存空間。The method according to claim 9 or 10, wherein the method further includes: The processing result of the to-be-processed data is stored in the first buffer space corresponding to the information. 如請求項9-11任一項所述的方法,其中所述待處理資料為神經網路模型中目標網路層的網路參數和輸入資料。The method according to any one of claims 9-11, wherein the data to be processed are network parameters and input data of the target network layer in the neural network model. 一種資訊處理裝置,包括: 獲取單元,用於獲取待處理資料; 分配單元,用於為所述待處理資料分配虛擬儲存空間; 儲存單元,用於將所述待處理資料儲存至所述虛擬儲存空間; 發送單元,用於向數位信號處理器(DSP)發送攜帶所述虛擬儲存空間的資訊的資料處理指令,所述資料處理指令用於所述DSP從所述資訊對應的虛擬儲存空間獲取所述待處理資料並對所述待處理資料進行處理。An information processing device includes: The obtaining unit is used to obtain the data to be processed; An allocation unit for allocating virtual storage space for the to-be-processed data; A storage unit for storing the to-be-processed data in the virtual storage space; The sending unit is configured to send a data processing instruction carrying information of the virtual storage space to a digital signal processor (DSP), and the data processing instruction is used by the DSP to obtain the waiting information from the virtual storage space corresponding to the information. Process the data and process the to-be-processed data. 一種資訊處理裝置,包括: 接收單元,用於接收來自中央處理單元(CPU)的資料處理指令,所述資料處理指令攜帶虛擬儲存空間的資訊; 獲取單元,用於從所述資訊對應的虛擬儲存空間獲取待處理資料; 處理單元,用於對所述待處理資料進行處理。An information processing device includes: The receiving unit is configured to receive a data processing instruction from a central processing unit (CPU), the data processing instruction carrying information of the virtual storage space; The obtaining unit is used to obtain the data to be processed from the virtual storage space corresponding to the information; The processing unit is used to process the data to be processed. 一種資訊處理裝置,包括處理器和儲存裝置,所述儲存裝置用於儲存電腦指令,所述處理器用於調用所述儲存裝置儲存的電腦指令,執行如請求項1-12任一項所述的資訊處理方法。An information processing device includes a processor and a storage device, the storage device is used to store computer instructions, and the processor is used to call the computer instructions stored in the storage device to execute any one of claims 1-12 Information processing methods. 一種電子設備,包括如請求項13所述的資訊處理裝置和如請求項14所述的資訊處理裝置。An electronic device includes the information processing device described in claim 13 and the information processing device described in claim 14. 一種電腦可讀取記錄媒體,所述電腦可讀取記錄媒體儲存有電腦程式,所述電腦程式被處理器執行時實現如請求項1-12任一項所述的資訊處理方法。A computer-readable recording medium, the computer-readable recording medium stores a computer program, and when the computer program is executed by a processor, the information processing method according to any one of claim items 1-12 is realized.
TW109126147A 2019-08-06 2020-08-03 Information processing method, apparatus, electronic device and storage medium TWI782304B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910733625.1A CN110489356B (en) 2019-08-06 2019-08-06 Information processing method, information processing device, electronic equipment and storage medium
CN201910733625.1 2019-08-06

Publications (2)

Publication Number Publication Date
TW202107288A true TW202107288A (en) 2021-02-16
TWI782304B TWI782304B (en) 2022-11-01

Family

ID=68549633

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109126147A TWI782304B (en) 2019-08-06 2020-08-03 Information processing method, apparatus, electronic device and storage medium

Country Status (5)

Country Link
JP (1) JP2022514382A (en)
KR (1) KR20210094629A (en)
CN (1) CN110489356B (en)
TW (1) TWI782304B (en)
WO (1) WO2021023000A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489356B (en) * 2019-08-06 2022-02-22 上海商汤智能科技有限公司 Information processing method, information processing device, electronic equipment and storage medium
CN113342553A (en) * 2021-07-06 2021-09-03 阳光保险集团股份有限公司 Data acquisition method and device, electronic equipment and storage medium

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078396A (en) * 2002-08-13 2004-03-11 Renesas Technology Corp Memory device
US7873810B2 (en) * 2004-10-01 2011-01-18 Mips Technologies, Inc. Microprocessor instruction using address index values to enable access of a virtual buffer in circular fashion
US20060179273A1 (en) * 2005-02-09 2006-08-10 Advanced Micro Devices, Inc. Data processor adapted for efficient digital signal processing and method therefor
CN101000596A (en) * 2007-01-22 2007-07-18 北京中星微电子有限公司 Chip and communication method of implementing communicating between multi-kernel in chip and communication method
US8359453B2 (en) * 2010-09-13 2013-01-22 International Business Machines Corporation Real address accessing in a coprocessor executing on behalf of an unprivileged process
US9164804B2 (en) * 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9218289B2 (en) * 2012-08-06 2015-12-22 Qualcomm Incorporated Multi-core compute cache coherency with a release consistency memory ordering model
CN105589829A (en) * 2014-09-15 2016-05-18 华为技术有限公司 Data processing method based on multi-core processor chip, device and system
CN104317768B (en) * 2014-10-15 2017-02-15 中国人民解放军国防科学技术大学 Matrix multiplication accelerating method for CPU+DSP (Central Processing Unit + Digital Signal Processor) heterogeneous system
US10049327B2 (en) * 2014-12-12 2018-08-14 Qualcomm Incorporated Application characterization for machine learning on heterogeneous core devices
CN104601711A (en) * 2015-01-27 2015-05-06 曙光云计算技术有限公司 FPGA-based data storage method and system used for cloud server
CN105045763B (en) * 2015-07-14 2018-07-13 北京航空航天大学 A kind of PD Radar Signal Processing Systems and its Parallel Implementation method based on FPGA+ multi-core DSPs
US9626295B2 (en) * 2015-07-23 2017-04-18 Qualcomm Incorporated Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring
CN106339258B (en) * 2016-08-10 2019-10-18 西安诺瓦星云科技股份有限公司 The management method and device of programmable logic device and microprocessor shared drive
US20190004878A1 (en) * 2017-07-01 2019-01-03 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with security, power reduction, and performace features
CN107463510B (en) * 2017-08-21 2020-05-08 北京工业大学 High-performance heterogeneous multi-core shared cache buffer management method
CN108958801B (en) * 2017-10-30 2021-06-25 上海寒武纪信息科技有限公司 Neural network processor and method for executing vector maximum value instruction by using same
CN108920413B (en) * 2018-06-28 2019-08-09 中国人民解放军国防科技大学 Convolutional neural network multi-core parallel computing method facing GPDSP
CN108959103A (en) * 2018-07-31 2018-12-07 西安电子科技大学 Method for testing software based on BWDSP library function
CN109947680A (en) * 2019-01-16 2019-06-28 佛山市顺德区中山大学研究院 A kind of software speed of service optimization method based on DSP
CN110489356B (en) * 2019-08-06 2022-02-22 上海商汤智能科技有限公司 Information processing method, information processing device, electronic equipment and storage medium

Also Published As

Publication number Publication date
KR20210094629A (en) 2021-07-29
CN110489356B (en) 2022-02-22
TWI782304B (en) 2022-11-01
WO2021023000A1 (en) 2021-02-11
JP2022514382A (en) 2022-02-10
CN110489356A (en) 2019-11-22

Similar Documents

Publication Publication Date Title
US7818503B2 (en) Method and apparatus for memory utilization
US9639459B2 (en) I/O latency and IOPs performance in thin provisioned volumes
US20110066830A1 (en) Cache prefill on thread migration
US11048447B2 (en) Providing direct data access between accelerators and storage in a computing environment, wherein the direct data access is independent of host CPU and the host CPU transfers object map identifying object of the data
US20070022416A1 (en) Execution device and application program
US9940020B2 (en) Memory management method, apparatus, and system
WO2013148440A2 (en) Managing coherent memory between an accelerated processing device and a central processing unit
CN105335309B (en) A kind of data transmission method and computer
US9483318B2 (en) Distributed procedure execution in multi-core processors
WO2021023000A1 (en) Information processing method and apparatus, electronic device and storage medium
CN104951239B (en) Cache driver, host bus adaptor and its method used
EP4016314A1 (en) Technologies for offload device fetching of address translations
CN106161110A (en) Data processing method in a kind of network equipment and system
CN115964319A (en) Data processing method for remote direct memory access and related product
CN113296691B (en) Data processing system, method and device and electronic equipment
CN109558250A (en) A kind of communication means based on FPGA, equipment, host and isomery acceleration system
US8850159B2 (en) Method and system for latency optimized ATS usage
CN107209738A (en) Store direct memory access (DMA)
WO2017031637A1 (en) Memory access method, apparatus and system
JP2022503558A (en) Forced termination and resumption of prefetch in instruction cache
CN106406745A (en) Method and device for maintaining Cache data uniformity according to directory information
US8838902B2 (en) Cache layer optimizations for virtualized environments
EP1839148A2 (en) Transferring data between system and storage in a shared buffer
WO2012131933A1 (en) Information processing device, program, and analysis method
CN113010453A (en) Memory management method, system, equipment and readable storage medium