CN110489356B - 信息处理方法、装置、电子设备及存储介质 - Google Patents
信息处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110489356B CN110489356B CN201910733625.1A CN201910733625A CN110489356B CN 110489356 B CN110489356 B CN 110489356B CN 201910733625 A CN201910733625 A CN 201910733625A CN 110489356 B CN110489356 B CN 110489356B
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- cache
- storage space
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Abstract
本发明实施例提供了信息处理方法、装置、电子设备及存储介质,包括:CPU获取携带待处理数据的运行指令;为待处理数据分配虚拟存储空间;将待处理数据存储至虚拟存储空间;向DSP发送携带虚拟存储空间的信息的数据处理指令,数据处理指令用于DSP从该信息对应的虚拟存储空间获取待处理数据并对待处理数据进行处理。本发明实施例,可以提高数据处理效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及信息处理方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的不断发展,需要处理的数据越来越多。在处理数据时,一般需要中央处理单元(central processing unit,CPU)和数字信号处理器(digital signalprocessor,DSP)共同协作才能完成。然而,对于CPU上的内存空间,DSP无法直接访问,对于DSP开辟的空间,CPU同样无法直接访问。目前,在处理神经网络数据的过程中,CPU针对每个操作调用一次DSP,使得DSP的调度开销较大。
发明内容
本发明实施例提供信息处理方法、装置、电子设备及存储介质。
第一方面提供一种信息处理方法,包括:CPU获取携带待处理数据的运行指令;为所述待处理数据分配虚拟存储空间;将所述待处理数据存储至所述虚拟存储空间;向DSP发送携带所述虚拟存储空间的信息的数据处理指令,所述数据处理指令用于所述DSP从所述信息对应的虚拟存储空间获取所述待处理数据并对所述待处理数据进行处理。
作为一种可能的实施方式,所述虚拟存储空间对应于电子设备缓存中的第一缓存空间,所述CPU和所述DSP均具有访问所述电子设备缓存的权限;所述将所述待处理数据存储至所述虚拟存储空间包括:将所述待处理数据存储至所述第一缓存空间;所述DSP从所述信息对应的虚拟存储空间获取所述待处理数据包括:所述DSP从所述信息对应的第一缓存空间获取所述待处理数据。
作为一种可能的实施方式,所述为所述待处理数据分配虚拟存储空间包括:基于所述待处理数据所需的存储空间大小,向所述电子设备缓存申请缓存空间;基于所述电子设备缓存返回的第一缓存空间的位置指示信息,确定所述虚拟存储空间的物理位置。
作为一种可能的实施方式,所述方法还包括:确定所述待处理数据包括的至少一个数组中每个数组所需的存储空间大小,所述每个数组包括同一类型的数据;基于所述至少一个数组中每个数组所需的存储空间大小,确定所述待处理数据所需的存储空间大小。
作为一种可能的实施方式,所述方法还包括:根据所述至少一个数组中每个数组所需的存储空间大小,确定所述至少一个数组中每个数组在所述虚拟存储空间中的偏移量。
作为一种可能的实施方式,所述方法还包括:基于所述待处理数据的数据量和所述待处理数据对应的结果数据量,确定所述待处理数据所需的存储空间大小。
作为一种可能的实施方式,所述基于所述待处理数据所需的存储空间大小,向所述电子设备缓存申请缓存空间包括:向所述电子设备中的缓存器发送用于申请缓存空间的申请指令,所述申请指令携带所述待处理数据所需的存储空间大小的信息;接收来自所述缓存器的位置指示信息,所述位置指示信息用于指示所述第一缓存空间的基地址。
作为一种可能的实施方式,所述待处理数据为神经网络中网络层的网络参数和输入数据。
第二方面提供另一种信息处理方法,包括:DSP接收来自CPU的数据处理指令,所述数据处理指令携带虚拟存储空间的信息,所述CPU和所述DSP均具有访问所述信息对应的虚拟存储空间的权限;从所述信息对应的虚拟存储空间获取待处理数据;对所述待处理数据进行处理。
作为一种可能的实施方式,所述信息对应的虚拟存储空间对应于电子设备缓存中的第一缓存空间,所述CPU和所述DSP均具有访问所述电子设备缓存的权限;所述从所述信息对应的虚拟存储空间获取待处理数据包括:从所述信息对应的第一缓存空间获取待处理数据。
作为一种可能的实施方式,所述方法还包括:将所述待处理数据的处理结果存储在所述信息对应的第一缓存空间。
作为一种可能的实施方式,所述待处理数据为神经网络中网络层的网络参数和输入数据。
第三方面提供一种信息处理装置,包括:获取单元,用于获取携带待处理数据的运行指令;分配单元,用于为所述待处理数据分配虚拟存储空间;存储单元,用于将所述待处理数据存储至所述虚拟存储空间;发送单元,用于向DSP发送携带所述虚拟存储空间的信息的数据处理指令,所述数据处理指令用于所述DSP从所述信息对应的虚拟存储空间获取所述待处理数据并对所述待处理数据进行处理。
作为一种可能的实施方式,所述虚拟存储空间对应于电子设备缓存中的第一缓存空间,所述CPU和所述DSP均具有访问所述电子设备缓存的权限;所述存储单元,具体用于将所述待处理数据存储至所述第一缓存空间;所述DSP从所述信息对应的虚拟存储空间获取所述待处理数据包括:所述DSP从所述信息对应的第一缓存空间获取所述待处理数据。
作为一种可能的实施方式,所述分配单元具体用于:基于所述待处理数据所需的存储空间大小,向所述电子设备缓存申请缓存空间;基于所述电子设备缓存返回的第一缓存空间的位置指示信息,确定所述虚拟存储空间的物理位置。
作为一种可能的实施方式,所述装置还包括:第一确定单元,用于确定所述待处理数据包括的至少一个数组中每个数组所需的存储空间大小,所述每个数组包括同一类型的数据;所述第一确定单元,还用于基于所述至少一个数组中每个数组所需的存储空间大小,确定所述待处理数据所需的存储空间大小。
作为一种可能的实施方式,所述第一确定单元,还用于根据所述至少一个数组中每个数组所需的存储空间大小,确定所述至少一个数组中每个数组在所述虚拟存储空间中的偏移量。
作为一种可能的实施方式,所述装置还包括:第二确定单元,用于基于所述待处理数据的数据量和所述待处理数据对应的结果数据量,确定所述待处理数据所需的存储空间大小。
作为一种可能的实施方式,所述分配单元基于所述待处理数据所需的存储空间大小,向缓存申请缓存空间包括:向所述电子设备中的缓存器发送用于申请缓存空间的申请指令,所述申请指令携带所述待处理数据所需的存储空间大小的信息;接收来自所述缓存器的位置指示信息,所述位置指示信息用于指示所述第一缓存空间的基地址。
作为一种可能的实施方式,所述待处理数据为神经网络中网络层的网络参数和输入数据。
第四方面提供另一种信息处理装置,包括:接收单元,用于接收来自CPU的数据处理指令,所述数据处理指令携带虚拟存储空间的信息,所述CPU和所述DSP均具有访问所述信息对应的虚拟存储空间的权限;获取单元,用于从所述信息对应的虚拟存储空间获取待处理数据;处理单元,用于对所述待处理数据进行处理。
作为一种可能的实施方式,所述信息对应的虚拟存储空间对应于电子设备缓存中的第一缓存空间,所述CPU和所述DSP均具有访问所述电子设备缓存的权限;所述从所述信息对应的虚拟存储空间获取待处理数据包括:从所述信息对应的第一缓存空间获取待处理数据。
作为一种可能的实施方式,所述装置还包括:存储单元,用于将所述待处理数据的处理结果存储在所述信息对应的第一缓存空间。
作为一种可能的实施方式,所述待处理数据为神经网络中网络层的网络参数和输入数据。
第五方面提供一种信息处理装置,包括处理器和收发器,收发器用于收发信息,处理器用于执行如第一方面或第一方面中任一种可能的实施方式提供的信息处理方法。
第六方面提供一种信息处理装置,包括处理器和收发器,收发器用于收发信息,处理器用于执行如第二方面或第二方面中任一种可能的实施方式提供的信息处理方法。
第七方面提供一种芯片,包括处理器和收发器,收发器用于收发信息,处理器用于执行如第一方面或第一方面中任一种可能的实施方式提供的信息处理方法,或者第二方面或第二方面中任一种可能的实施方式提供的信息处理方法。
第八方面提供一种电子设备,包括第五方面提供的信息处理装置和第六方面提供的信息处理装置。
第九方面提供一种可读存储介质,该可读存储介质存储有计算机程序,该计算机程序包括程序代码,该程序代码当被处理器执行时使该处理器执行第一方面或第一方面中任一种可能的实施方式提供的信息处理方法,或者第二方面或第二方面中任一种可能的实施方式提供的信息处理方法。
第十方面提供一种应用程序,该应用程序用于在运行时执行第一方面或第一方面中任一种可能的实施方式提供的信息处理方法,或者第二方面或第二方面中任一种可能的实施方式提供的信息处理方法。
本发明实施例中,CPU获取携带待处理数据的运行指令,为待处理数据分配虚拟存储空间,将待处理数据存储至虚拟存储空间,向DSP发送携带虚拟存储空间的信息的数据处理指令,数据处理指令用于DSP从该信息对应的虚拟存储空间获取待处理数据并对待处理数据进行处理。这样,CPU可以通过虚拟存储空间一次性将数据发送给DSP,从而减小DSP调度开销,提高信息处理效率。
附图说明
图1是本发明实施例提供的一种电子设备的示意图;
图2是本发明实施例提供的一种信息处理方法的流程示意图;
图3是本发明实施例提供的另一种信息处理方法的流程示意图;
图4是本发明实施例提供的又一种信息处理方法的流程示意图;
图5是本发明实施例提供的又一种信息处理方法的流程示意图;
图6是本发明实施例提供的一种信息处理装置的结构示意图;
图7是本发明实施例提供的另一种信息处理装置的结构示意图;
图8是本发明实施例提供的又一种信息处理装置的结构示意图。
具体实施方式
本发明实施例提供信息处理方法、装置、电子设备及存储介质,用于提高数据处理效率。以下分别进行详细说明。
请参阅图1,图1是本发明实施例应用的一种电子设备的示意图。如图1所示,电子设备可以包括CPU、DSP和缓存器。CPU,用于接收携带数据的运行指令,并基于接收到的运行指令调度DSP。DSP,用于响应于CPU的调度,对数据进行处理。缓存器,用于缓存数据。可选地,该缓存器可以为ION缓存器,也可以为能够被CPU和DSP访问的其它缓存器或存储模块。
基于图1所示的电子设备,请参阅图2,图2是本发明实施例提供的一种信息处理方法的流程示意图。其中,该信息处理方法是从CPU的角度描述的。如图2所示,该信息处理方法可以包括以下步骤。
201、获取携带待处理数据的运行指令。
CPU获取携带待处理数据的运行指令。该运行指令可以是用户输入的,也可以是CPU所属电子设备生成的,还可以是其它电子设备或服务器发送的。待处理数据可以为神经网络中网络层的网络参数和输入数据,该网络层的层数大于1。待处理数据也可以是其它需要CPU和DSP共同处理的数据。
202、为待处理数据分配虚拟存储空间。
CPU获取到携带待处理数据的运行指令之后,为待处理数据分配虚拟存储空间。可以基于待处理数据所需的存储空间大小向电子设备缓存申请缓存空间,之后基于电子设备缓存返回的第一缓存空间的位置指示信息确定虚拟存储空间的物理位置。其中,电子设备缓存即电子设备中的缓存器,该缓存器可以被CPU和DSP访问。该缓存器可以为ION缓存器,也可以其它能够被CPU和DSP访问缓存器。
可以先向电子设备中的缓存器发送用于申请缓存空间的申请指令,申请指令可以携带待处理数据所需的存储空间大小的信息。缓存器接收到来自CPU的申请指令之后,可以从缓存器的空闲缓存空间中选取第一缓存空间,第一缓存空间的大小等于待处理数据所需的存储空间大小,为第一缓存空间分配位置指示信息,如第一缓存空间的指针,之后向CPU返回该位置指示信息。CPU接收到来自缓存器的第一缓存空间的位置指示信息之后,可以基于待处理数据所需的存储空间大小创建虚拟存储空间,为虚拟存储空间分配基地址,建立虚拟存储空间的基地址与该位置指示信息之间的对应关系。其中,基于待处理数据所需的存储空间大小创建虚拟存储空间,以及为虚拟存储空间分配基地址也可以是在向电子设备中的缓存器发送用于申请缓存空间的申请指令之前创建的。在向电子设备中的缓存器发送用于申请缓存空间的申请指令之前,已经基于待处理数据所需的存储空间大小创建虚拟存储空间,以及为虚拟存储空间分配基地址的情况下,申请指令还可以携带虚拟存储空间的基地址,此时,缓存器可以建立该位置指示信息与虚拟存储空间的基地址之间的对应关系,CPU接收到来自缓存器的第一缓存空间的位置指示信息之后,可以不建立虚拟存储空间的基地址与该位置指示信息之间的对应关系。其中,第一缓存空间的位置指示信息用于指示第一缓存空间的基地址。可见,可以通过虚拟存储空间使包括多个操作的待处理数据对应缓存器中的一个位置指示信息,如指针,可以通过虚拟存储空间一次性将数据发送给DSP,从而可以提高信息处理效率。此外,由于第一缓存空间是基于待处理数据所需的存储空间大小进行申请的,因此,可以申请到合适的缓存空间,即不会由于申请太多缓存空间而造成缓存空间的浪费,也不会因为申请太少缓存空间导致无法对待处理数据进行缓存处理。
203、将待处理数据存储至虚拟存储空间。
CPU为待处理数据分配虚拟存储空间之后,可以将待处理数据存储至虚拟存储空间,即将待处理数据存储至第一缓存空间。
204、向DSP发送携带虚拟存储空间的信息的数据处理指令。
CPU将待处理数据存储至虚拟存储空间之后,可以向DSP发送携带虚拟存储空间的信息的数据处理指令,以便DSP从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据并对待处理数据进行处理。CPU可以调用预设函数库向DSP发送携带虚拟存储空间的信息的数据处理指令。预设函数库是专门用于对DSP进行调用的函数库,如FastRPC。虚拟存储空间的信息可以为虚拟存储空间的基地址。
在图2所描述的信息处理方法中,CPU可以通过虚拟存储空间一次性将数据发送给DSP,从而减小DSP调度开销,提高信息处理效率。
基于图1所示的电子设备,请参阅图3,图3是本发明实施例提供的另一种信息处理方法的流程示意图。其中,该信息处理方法是从CPU的角度描述的。如图3所示,该信息处理方法可以包括以下步骤。
301、获取携带待处理数据的运行指令。
其中,步骤301与步骤201相同,详细描述请参考步骤201,在此不再赘述。
302、确定待处理数据所需的存储空间大小。
CPU获取到携带待处理数据的运行指令之后,可以确定待处理数据所需的存储空间大小。在一些实施例中,可以先确定待处理数据包括的至少一个数组中每个数组所需的存储空间大小,之后基于至少一个数组中每个数组所需的存储空间大小确定待处理数据所需的存储空间大小,即可以将至少一个数组中每个数组所需的存储空间大小之和确定为待处理数据所需的存储空间大小。其中,每个数组包括同一类型的数据。
在一些实施例中,也可以基于待处理数据的数据量和待处理数据对应的结果数据量确定待处理数据所需的存储空间大小,即可以将待处理数据的数据量和待处理数据对应的结果数据量之和确定为待处理数据所需的存储空间大小。
在一些实施例中,还可以先确定待处理数据包括的至少一个数组中每个数组的数据量和每个数组对应的结果数据量,之后根据至少一个数组中每个数组的数据量和每个数组对应的结果数据量确定至少一个数组中每个数组所需的存储空间大小。也即先计算每个数组包括的数据所需的存储存储空间大小以及该数组包括的数据对应的结果所需存储空间大小,之后由每个数组包括的数据所需的存储存储空间大小以及该数组包括的数据对应的结果所需存储空间大小之和得到每个数组所需的存储空间大小。
303、根据待处理数据所需的存储空间大小为待处理数据分配虚拟存储空间。
其中,步骤303与步骤202相同,详细描述请参考步骤202,在此不再赘述。此外,CPU还可以根据至少一个数组中每个数组所需的存储空间大小,确定至少一个数组中每个数组在虚拟存储空间中的偏移量。
304、将待处理数据存储至虚拟存储空间。
其中,步骤304与步骤203相同,详细描述请参考步骤203,在此不再赘述。
305、向DSP发送携带虚拟存储空间的信息的数据处理指令。
其中,步骤305与步骤204相同,详细描述请参考步骤204,在此不再赘述。
在图3所描述的信息处理方法中,CPU可以通过虚拟存储空间一次性将数据发送给DSP,从而减小DSP调度开销,提高信息处理效率。
基于图1所示的电子设备,请参阅图4,图4是本发明实施例提供的又一种信息处理方法的流程示意图。其中,该信息处理方法是从DSP的角度描述的。如图4所示,该信息处理方法可以包括以下步骤。
401、接收来自CPU的数据处理指令。
CPU向DSP发送携带虚拟存储空间的信息的数据处理指令之后,DSP接收来自CPU的数据处理指令。数据处理指令携带虚拟存储空间的信息,CPU和DSP均具有访问虚拟存储空间的信息对应的虚拟存储空间的权限。
402、从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据。
DSP接收到来自CPU的数据处理指令之后之后,从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据。虚拟存储空间的信息对应的虚拟存储空间对应于电子设备缓存中的第一缓存空间,CPU和DSP均具有访问电子设备缓存的权限。因此,DSP从虚拟存储空间的信息对应的第一缓存空间获取待处理数据。在第一缓存空间的位置指示信息与虚拟存储空间的基地址之间的对应关系是由CPU建立的情况下,DSP可以先获取虚拟存储空间的信息对应的位置指示信息,之后从位置指示信息对应的第一缓存空间获取待处理数据。在第一缓存空间的位置指示信息与虚拟存储空间的基地址之间的对应关系是由缓存器建立的情况下,DSP可以直接向缓存器发送携带虚拟存储空间的信息的数据获取请求,缓存器接收到来自DSP的数据获取请求之后,根据虚拟存储空间的信息以及位置指示信息与虚拟存储空间的信息之间的对应关系获取虚拟存储空间的信息对应的位置指示信息,从位置指示信息对应的第一缓存空间获取待处理数据,之后向DSP返回待处理数据。
403、对待处理数据进行处理。
DSP从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据之后,对待处理数据进行处理。对待处理数据的处理可以包括卷积处理,还可以包括全连接处理等其它处理。
404、将待处理数据的处理结果存储在虚拟存储空间的信息对应的第一缓存空间。
DSP对待处理数据进行处理之后,可以将待处理数据的处理结果存储在虚拟存储空间的信息对应的第一缓存空间。可以向缓存器发送存储指令,该存储指令携带处理结果和虚拟存储空间的信息。缓存器接收到来自DSP的存储指令之后,将处理结果存储在第一缓存空间。
DSP将待处理数据的处理结果存储在虚拟存储空间的信息对应的第一缓存空间之后,可以向CPU发送处理完成响应消息,以便CPU可以从缓存器获取处理结果,从而可以及时清理缓存器的缓存空间。
在图4所描述的信息处理方法中,DSP可以通过虚拟存储空间的信息一次性从虚拟存储空间获取数据并处理,从而可以提高数据处理效率。
基于图1所示的电子设备,请参阅图5,图5是本发明实施例提供的又一种信息处理方法的流程示意图。其中,该信息处理方法是从CPU和DSP的角度描述的。如图5所示,该信息处理方法可以包括以下步骤。
501、CPU获取携带待处理数据的运行指令。
其中,步骤501与步骤201相同,详细描述请参考步骤201,在此不再赘述。
502、CPU确定待处理数据所需的存储空间大小。
其中,步骤502与步骤302相同,详细描述请参考步骤302,在此不再赘述。
503、CPU向缓存器发送用于申请缓存空间的申请指令。
CPU确定待处理数据所需的存储空间大小之后,可以向缓存器发送用于申请缓存空间的申请指令,申请指令携带待处理数据所需的存储空间大小的信息。
504、缓存器向CPU发送第一缓存空间的位置指示信息。
缓存器接收到来自CPU的申请指令之后,根据该信息对应的存储空间大小从空闲的缓存空间中选取第一缓存空间,之后向CPU发送第一缓存空间的位置指示信息。例如,向CPU发送指针,指示第一缓存空间的基地址。
505、CPU基于位置指示信息确定虚拟存储空间的物理地址。
CPU在确定待处理数据所需的存储空间大小之后,可以根据待处理数据所需的存储空间大小为待处理数据分配虚拟存储空间,例如数据在虚拟存储空间的偏移量。其中,该偏移量可以为每个数组在虚拟存储空间中的偏移量,也可以为待处理数据中数据和待处理数据对应的结果数据的偏移量。其它相关的描述可以参考上述实施例。
在接收到来自缓存器的位置指示信息之后,可以基于位置指示信息确定虚拟存储空间的物理地址,即确定虚拟存储空间的基地址,从而确定待处理数据的实际存储位置。
506、CPU将待处理数据存储至虚拟存储空间,即存储至位置指示信息指示的第一缓存空间。
其中,步骤506与步骤203相似,详细描述请参考步骤203,在此不再赘述。
507、CPU向DSP发送携带虚拟存储空间的信息的数据处理指令。
相应地,DSP接收来自CPU的数据处理指令。
其中,步骤507与步骤204相同,详细描述请参考步骤204,在此不再赘述。
其中,DSP接收来自CPU的数据处理指令与步骤401相同,详细描述请参考步骤401,在此不再赘述。
508、DSP从虚拟存储空间的信息对应的第一缓存空间获取待处理数据。
其中,步骤508与步骤402相似,详细描述请参考步骤402,在此不再赘述。
509、DSP对待处理数据进行处理。
其中,步骤509与步骤403相同,详细描述请参考步骤403,在此不再赘述。
510、DSP将待处理数据的处理结果存储在虚拟存储空间的信息对应的第一缓存空间。
其中,步骤510与步骤404相同,详细描述请参考步骤404,在此不再赘述。
基于图1所示的电子设备,请参阅图6,图6是本发明实施例提供的一种信息处理装置的结构示意图。如图6所示,该信息处理装置可以包括:
获取单元601,用于获取携带待处理数据的运行指令;
分配单元602,用于为待处理数据分配虚拟存储空间;
存储单元603,用于将待处理数据存储至虚拟存储空间;
发送单元604,用于向DSP发送携带虚拟存储空间的信息的数据处理指令,数据处理指令用于DSP从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据并对待处理数据进行处理。
在一些实施例中,虚拟存储空间对应于电子设备缓存中的第一缓存空间,CPU和DSP均具有访问电子设备缓存的权限;
存储单元603,具体用于将待处理数据存储至第一缓存空间;
DSP从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据包括:
DSP从虚拟存储空间的信息对应的第一缓存空间获取待处理数据。
在一些实施例中,分配单元602具体用于:
基于待处理数据所需的存储空间大小,向电子设备缓存申请缓存空间;
基于电子设备缓存返回的第一缓存空间的位置指示信息,确定虚拟存储空间的物理位置。
在一些实施例中,该信息处理装置还可以包括:
确定单元605,用于确定待处理数据包括的至少一个数组中每个数组所需的存储空间大小,基于至少一个数组中每个数组所需的存储空间大小确定待处理数据所需的存储空间大小,每个数组包括同一类型的数据。
在一些实施例中,确定单元605,还用于根据至少一个数组中每个数组所需的存储空间大小,确定至少一个数组中每个数组在虚拟存储空间中的偏移量。
在一些实施例中,确定单元605,用于基于待处理数据的数据量和待处理数据对应的结果数据量,确定待处理数据所需的存储空间大小。
在一些实施例中,分配单元602基于待处理数据所需的存储空间大小,向缓存申请缓存空间包括:
向电子设备中的缓存器发送用于申请缓存空间的申请指令,申请指令携带待处理数据所需的存储空间大小的信息;
接收来自缓存器的位置指示信息,位置指示信息用于指示第一缓存空间的基地址。
在一些实施例中,待处理数据为神经网络中网络层的网络参数和输入数据。
本实施例可对应于本申请实施例中方法实施例描述,并且各个单元的上述和其它操作和/或功能分别为了实现图2和图3中各方法中的相应流程,为了简洁,在此不再赘述。
基于图1所示的电子设备,请参阅图7,图7是本发明实施例提供的另一种信息处理装置的结构示意图。如图7所示,该信息处理装置可以包括:
接收单元701,用于接收来自CPU的数据处理指令,数据处理指令携带虚拟存储空间的信息,CPU和DSP均具有访问虚拟存储空间的信息对应的虚拟存储空间的权限;
获取单元702,用于从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据;
处理单元703,用于对待处理数据进行处理。
在一些实施例中,虚拟存储空间的信息对应的虚拟存储空间对应于电子设备缓存中的第一缓存空间,CPU和DSP均具有访问电子设备缓存的权限;
获取单元702,具体用于从虚拟存储空间的信息对应的第一缓存空间获取待处理数据。
在一些实施例中,该信息处理装置还可以包括:
存储单元704,用于将待处理数据的处理结果存储在虚拟存储空间的信息对应的第一缓存空间。
在一些实施例中,待处理数据为神经网络中网络层的网络参数和输入数据。
本实施例可对应于本申请实施例中方法实施例描述,并且各个单元的上述和其它操作和/或功能分别为了实现图4中各方法中的相应流程,为了简洁,在此不再赘述。
基于图1所示的电子设备,请参阅图8,图8是本发明实施例提供的又一种信息处理装置的结构示意图。如图8所示,该信息处理装置可以包括:至少一个处理器801,如CPU,收发器802以及至少一个总线803。总线803,用于实现这些组件之间的连接通信。
在一些实施例中,该信息处理装置可以为设置有CPU和DSP中的CPU,其中:
处理器801用于执行以下操作:
获取携带待处理数据的运行指令;
为待处理数据分配虚拟存储空间;
将待处理数据存储至虚拟存储空间;
收发器802,用于向DSP发送携带虚拟存储空间的信息的数据处理指令,数据处理指令用于DSP从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据并对待处理数据进行处理。
在一些实施例中,虚拟存储空间对应于电子设备缓存中的第一缓存空间,CPU和DSP均具有访问电子设备缓存的权限;
处理器801将待处理数据存储至虚拟存储空间包括:
将待处理数据存储至第一缓存空间;
DSP从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据包括:
DSP从虚拟存储空间的信息对应的第一缓存空间获取待处理数据。
在一些实施例中,处理器801为待处理数据分配虚拟存储空间包括:
基于待处理数据所需的存储空间大小,向电子设备缓存申请缓存空间;
基于电子设备缓存返回的第一缓存空间的位置指示信息,确定虚拟存储空间的物理位置。
在一些实施例中,处理器801还用于执行以下操作:
确定待处理数据包括的至少一个数组中每个数组所需的存储空间大小,每个数组包括同一类型的数据;
基于至少一个数组中每个数组所需的存储空间大小,确定待处理数据所需的存储空间大小。
在一些实施例中,处理器801还用于执行以下操作:
根据至少一个数组中每个数组所需的存储空间大小,确定至少一个数组中每个数组在虚拟存储空间中的偏移量。
在一些实施例中,处理器801还用于执行以下操作:
基于待处理数据的数据量和待处理数据对应的结果数据量,确定待处理数据所需的存储空间大小。
在一些实施例中,处理器801基于待处理数据所需的存储空间大小,向电子设备缓存申请缓存空间包括:
向电子设备中的缓存器发送用于申请缓存空间的申请指令,申请指令携带待处理数据所需的存储空间大小的信息;
接收来自缓存器的位置指示信息,位置指示信息用于指示第一缓存空间的基地址。
在一些实施例中,待处理数据为神经网络中网络层的网络参数和输入数据。
其中,步骤201-步骤203、步骤301-步骤304以及步骤501-步骤504可以由CPU中的处理器801来执行,步骤204、步骤305以及步骤505可以由CPU中的收发器802来执行。
其中,获取单元601、分配单元602、存储单元603和确定单元605可以由CPU中的处理器801来实现,发送单元604可以由CPU中的收发器802来实现。
上述信息处理装置还可以用于执行前述方法实施例中执行的各种方法,不再赘述。
在另一些实施例中,该信息处理装置可以为设置有CPU和DSP的电子设备中的DSP,其中:
收发器802,用于接收来自CPU的数据处理指令,数据处理指令携带虚拟存储空间的信息,CPU和DSP均具有访问虚拟存储空间的信息对应的虚拟存储空间的权限;
处理器801用于执行以下操作:
从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据;
对待处理数据进行处理。
在一些实施例中,虚拟存储空间的信息对应的虚拟存储空间对应于电子设备缓存中的第一缓存空间,CPU和DSP均具有访问电子设备缓存的权限;
处理器801从虚拟存储空间的信息对应的虚拟存储空间获取待处理数据包括:
从虚拟存储空间的信息对应的第一缓存空间获取待处理数据。
在一些实施例中,处理器801还用于执行以下操作:
将待处理数据的处理结果存储在虚拟存储空间的信息对应的第一缓存空间。
在一些实施例中,待处理数据为神经网络中网络层的网络参数和输入数据。
其中,步骤402-步骤404以及步骤506-步骤508可以由DSP中的处理器801来执行,步骤204、步骤305和步骤505中DSP接收数据处理指令的步骤以及步骤401可以由DSP中的收发器802来执行。
其中,获取单元702、处理单元703和存储单元704可以由DSP中的处理器801来实现,接收单元701可以由DSP中的收发器802来实现。
上述信息处理装置还可以用于执行前述方法实施例中执行的各种方法,不再赘述。
在一些实施例中提供了一种存储介质,该存储介质用于存储应用程序,应用程序用于在运行时执行图2-图4的信息处理方法。
在一些实施例中提供了一种应用程序,该应用程序用于在运行时执行图2-图4的信息处理方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (17)
1.一种信息处理方法,其特征在于,包括:
中央处理单元CPU获取携带待处理数据的运行指令,所述待处理数据为神经网络中网络层的网络参数和输入数据,所述网络层的层数大于1;
基于所述待处理数据所需的存储空间大小,向电子设备缓存申请缓存空间;
基于所述电子设备缓存返回的第一缓存空间的位置指示信息,确定虚拟存储空间的物理位置,所述虚拟存储空间对应于所述电子设备缓存中的所述第一缓存空间;
将所述待处理数据存储至所述第一缓存空间;
向数字信号处理器DSP发送携带所述虚拟存储空间的信息的数据处理指令,所述数据处理指令用于所述DSP从所述信息对应的第一缓存空间获取所述待处理数据并对所述待处理数据进行处理,以及将所述待处理数据的处理结果存储在所述第一缓存空间,所述CPU和所述DSP均具有访问所述电子设备缓存的权限。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述待处理数据包括的至少一个数组中每个数组所需的存储空间大小,所述每个数组包括同一类型的数据;
基于所述至少一个数组中每个数组所需的存储空间大小,确定所述待处理数据所需的存储空间大小。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述至少一个数组中每个数组所需的存储空间大小,确定所述至少一个数组中每个数组在所述虚拟存储空间中的偏移量。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述待处理数据的数据量和所述待处理数据对应的结果数据量,确定所述待处理数据所需的存储空间大小。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述基于所述待处理数据所需的存储空间大小,向电子设备缓存申请缓存空间包括:
向电子设备中的缓存器发送用于申请缓存空间的申请指令,所述申请指令携带所述待处理数据所需的存储空间大小的信息;
接收来自所述缓存器的位置指示信息,所述位置指示信息用于指示所述第一缓存空间的基地址。
6.一种信息处理方法,其特征在于,包括:
DSP接收来自CPU的数据处理指令,所述数据处理指令携带虚拟存储空间的信息,所述信息对应的虚拟存储空间对应于电子设备缓存中的第一缓存空间,所述第一缓存空间基于待处理数据所需的存储空间大小确定,所述CPU和所述DSP均具有访问所述电子设备缓存的权限,所述待处理数据为神经网络中网络层的网络参数和输入数据,所述网络层的层数大于1;
从所述信息对应的第一缓存空间获取所述待处理数据;
对所述待处理数据进行处理;
将所述待处理数据的处理结果存储在所述第一缓存空间。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述待处理数据的处理结果存储在所述信息对应的第一缓存空间。
8.一种信息处理装置,其特征在于,包括:
获取单元,用于获取携带待处理数据的运行指令,所述待处理数据为神经网络中网络层的网络参数和输入数据,所述网络层的层数大于1;
分配单元,用于基于所述待处理数据所需的存储空间大小,向电子设备缓存申请缓存空间;基于所述电子设备缓存返回的第一缓存空间的位置指示信息,确定虚拟存储空间的物理位置,所述虚拟存储空间对应于所述电子设备缓存中的所述第一缓存空间;
存储单元,用于将所述待处理数据存储至所述第一缓存空间;
发送单元,用于向DSP发送携带所述虚拟存储空间的信息的数据处理指令,所述数据处理指令用于所述DSP从所述信息对应的第一缓存空间获取所述待处理数据并对所述待处理数据进行处理,以及将所述待处理数据的处理结果存储在所述第一缓存空间,CPU和所述DSP均具有访问所述电子设备缓存的权限。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一确定单元,用于确定所述待处理数据包括的至少一个数组中每个数组所需的存储空间大小,所述每个数组包括同一类型的数据;
所述第一确定单元,还用于基于所述至少一个数组中每个数组所需的存储空间大小,确定所述待处理数据所需的存储空间大小。
10.根据权利要求9所述的装置,其特征在于,所述第一确定单元,还用于根据所述至少一个数组中每个数组所需的存储空间大小,确定所述至少一个数组中每个数组在所述虚拟存储空间中的偏移量。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二确定单元,用于基于所述待处理数据的数据量和所述待处理数据对应的结果数据量,确定所述待处理数据所需的存储空间大小。
12.根据权利要求8-11任一项所述的装置,其特征在于,所述分配单元基于所述待处理数据所需的存储空间大小,向缓存申请缓存空间包括:
向所述电子设备中的缓存器发送用于申请缓存空间的申请指令,所述申请指令携带所述待处理数据所需的存储空间大小的信息;
接收来自所述缓存器的位置指示信息,所述位置指示信息用于指示所述第一缓存空间的基地址。
13.一种信息处理装置,其特征在于,包括:
接收单元,用于接收来自CPU的数据处理指令,所述数据处理指令携带虚拟存储空间的信息,所述信息对应的虚拟存储空间对应于电子设备缓存中的第一缓存空间,所述第一缓存空间基于待处理数据所需的存储空间大小确定,所述CPU和DSP均具有访问所述信息对应的电子设备缓存的权限,所述待处理数据为神经网络中网络层的网络参数和输入数据,所述网络层的层数大于1;
获取单元,用于从所述信息对应的第一缓存空间获取所述待处理数据;
处理单元,用于对所述待处理数据进行处理;
所述DSP将所述待处理数据的处理结果存储在所述第一缓存空间。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
存储单元,用于将所述待处理数据的处理结果存储在所述信息对应的第一缓存空间。
15.一种信息处理装置,其特征在于,包括处理器和收发器,所述收发器用于收发信息,所述处理器用于执行如权利要求1-7任一项所述的信息处理方法。
16.一种电子设备,其特征在于,包括如权利要求8-12任一项所述的信息处理装置和如权利要求13-14任一项所述的信息处理装置。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的信息处理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910733625.1A CN110489356B (zh) | 2019-08-06 | 2019-08-06 | 信息处理方法、装置、电子设备及存储介质 |
JP2021535674A JP2022514382A (ja) | 2019-08-06 | 2020-07-20 | 情報処理方法、装置、電子デバイス、及び記録媒体 |
KR1020217019945A KR20210094629A (ko) | 2019-08-06 | 2020-07-20 | 정보 처리 방법, 장치, 전자 디바이스 및 기록 매체 |
PCT/CN2020/103047 WO2021023000A1 (zh) | 2019-08-06 | 2020-07-20 | 信息处理方法、装置、电子设备及存储介质 |
TW109126147A TWI782304B (zh) | 2019-08-06 | 2020-08-03 | 資訊處理方法、裝置、電子設備及記錄媒體 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910733625.1A CN110489356B (zh) | 2019-08-06 | 2019-08-06 | 信息处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489356A CN110489356A (zh) | 2019-11-22 |
CN110489356B true CN110489356B (zh) | 2022-02-22 |
Family
ID=68549633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910733625.1A Active CN110489356B (zh) | 2019-08-06 | 2019-08-06 | 信息处理方法、装置、电子设备及存储介质 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP2022514382A (zh) |
KR (1) | KR20210094629A (zh) |
CN (1) | CN110489356B (zh) |
TW (1) | TWI782304B (zh) |
WO (1) | WO2021023000A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489356B (zh) * | 2019-08-06 | 2022-02-22 | 上海商汤智能科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN113342553A (zh) * | 2021-07-06 | 2021-09-03 | 阳光保险集团股份有限公司 | 一种数据的获取方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000596A (zh) * | 2007-01-22 | 2007-07-18 | 北京中星微电子有限公司 | 一种可实现芯片内多核间通信的芯片及通信方法 |
CN101116053A (zh) * | 2005-02-09 | 2008-01-30 | 先进微装置公司 | 适用于高效数字信号处理的数据处理器及其方法 |
CN104520825A (zh) * | 2012-08-06 | 2015-04-15 | 高通股份有限公司 | 使用释放一致性存储器排序模型的多核心计算高速缓存相干性 |
US20170024316A1 (en) * | 2015-07-23 | 2017-01-26 | Qualcomm Incorporated | Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004078396A (ja) * | 2002-08-13 | 2004-03-11 | Renesas Technology Corp | メモリ装置 |
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 |
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 |
CN105589829A (zh) * | 2014-09-15 | 2016-05-18 | 华为技术有限公司 | 基于多核处理器芯片的数据处理方法、装置以及系统 |
CN104317768B (zh) * | 2014-10-15 | 2017-02-15 | 中国人民解放军国防科学技术大学 | 面向cpu+dsp异构系统的矩阵乘加速方法 |
US10049327B2 (en) * | 2014-12-12 | 2018-08-14 | Qualcomm Incorporated | Application characterization for machine learning on heterogeneous core devices |
CN104601711A (zh) * | 2015-01-27 | 2015-05-06 | 曙光云计算技术有限公司 | 用于云服务器的基于fpga的数据存储方法和系统 |
CN105045763B (zh) * | 2015-07-14 | 2018-07-13 | 北京航空航天大学 | 一种基于fpga+多核dsp的pd雷达信号处理系统及其并行实现方法 |
CN106339258B (zh) * | 2016-08-10 | 2019-10-18 | 西安诺瓦星云科技股份有限公司 | 可编程逻辑器件与微处理器共享内存的管理方法及装置 |
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 (zh) * | 2017-08-21 | 2020-05-08 | 北京工业大学 | 一种面向高性能的异构多核共享cache缓冲管理方法 |
CN109522254B (zh) * | 2017-10-30 | 2022-04-12 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
CN108920413B (zh) * | 2018-06-28 | 2019-08-09 | 中国人民解放军国防科技大学 | 面向gpdsp的卷积神经网络多核并行计算方法 |
CN108959103A (zh) * | 2018-07-31 | 2018-12-07 | 西安电子科技大学 | 基于bwdsp库函数的软件测试方法 |
CN109947680A (zh) * | 2019-01-16 | 2019-06-28 | 佛山市顺德区中山大学研究院 | 一种基于dsp的软件运行速度优化方法 |
CN110489356B (zh) * | 2019-08-06 | 2022-02-22 | 上海商汤智能科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
-
2019
- 2019-08-06 CN CN201910733625.1A patent/CN110489356B/zh active Active
-
2020
- 2020-07-20 JP JP2021535674A patent/JP2022514382A/ja active Pending
- 2020-07-20 KR KR1020217019945A patent/KR20210094629A/ko not_active Application Discontinuation
- 2020-07-20 WO PCT/CN2020/103047 patent/WO2021023000A1/zh active Application Filing
- 2020-08-03 TW TW109126147A patent/TWI782304B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101116053A (zh) * | 2005-02-09 | 2008-01-30 | 先进微装置公司 | 适用于高效数字信号处理的数据处理器及其方法 |
CN101000596A (zh) * | 2007-01-22 | 2007-07-18 | 北京中星微电子有限公司 | 一种可实现芯片内多核间通信的芯片及通信方法 |
CN104520825A (zh) * | 2012-08-06 | 2015-04-15 | 高通股份有限公司 | 使用释放一致性存储器排序模型的多核心计算高速缓存相干性 |
US20170024316A1 (en) * | 2015-07-23 | 2017-01-26 | Qualcomm Incorporated | Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring |
Non-Patent Citations (1)
Title |
---|
基于共享内存的OMAPL138双核通信设计;杜江 等;《信息通信》;20171130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021023000A1 (zh) | 2021-02-11 |
TWI782304B (zh) | 2022-11-01 |
JP2022514382A (ja) | 2022-02-10 |
TW202107288A (zh) | 2021-02-16 |
CN110489356A (zh) | 2019-11-22 |
KR20210094629A (ko) | 2021-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105791254B (zh) | 网络请求处理方法、装置及终端 | |
CN113641457A (zh) | 容器创建方法、装置、设备、介质及程序产品 | |
CN105446813A (zh) | 一种资源分配的方法及装置 | |
CN106897299B (zh) | 一种数据库访问方法及装置 | |
CN110489356B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN112214313A (zh) | 内存分配方法及相关设备 | |
CN112905342A (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN114155026A (zh) | 一种资源分配方法、装置、服务器及存储介质 | |
US10237233B2 (en) | Allocating identifiers with minimal fragmentation | |
CN113849260A (zh) | 一种实例的处理核分配方法及装置 | |
CN110633900A (zh) | 一种虚拟资源的分配方法、装置及电子设备 | |
CN110022341B (zh) | 一种数据传输方法及相关设备 | |
CN107634978B (zh) | 一种资源调度方法及装置 | |
CN116860391A (zh) | Gpu算力资源调度方法、装置、设备和介质 | |
CN110209466B (zh) | 资源配置方法、资源配置装置及存储介质 | |
CN111143072A (zh) | 用户态程序内存分配方法、系统及相关组件 | |
CN115033339A (zh) | 地址映射方法、装置、设备和存储介质 | |
CN113010453A (zh) | 一种内存管理的方法、系统、设备及可读存储介质 | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 | |
CN112883239A (zh) | 一种资源分配方法、装置、计算机设备及存储介质 | |
CN114253704A (zh) | 一种分配资源的方法及装置 | |
CN113805845A (zh) | 随机数序列生成方法和随机数引擎 | |
CN111274017A (zh) | 一种资源的处理方法、装置、电子设备及存储介质 | |
KR20150048028A (ko) | 데이터 전송 관리 방법 | |
CN104954823A (zh) | 一种图计算预处理的装置、方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40016974 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |