CN111124704B - 一种数据处理方法、处理器及终端设备 - Google Patents

一种数据处理方法、处理器及终端设备 Download PDF

Info

Publication number
CN111124704B
CN111124704B CN201911186463.0A CN201911186463A CN111124704B CN 111124704 B CN111124704 B CN 111124704B CN 201911186463 A CN201911186463 A CN 201911186463A CN 111124704 B CN111124704 B CN 111124704B
Authority
CN
China
Prior art keywords
data
model
data processing
instruction
processor
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
Application number
CN201911186463.0A
Other languages
English (en)
Other versions
CN111124704A (zh
Inventor
杨海波
杨海辉
吴金进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Intellifusion Technologies Co Ltd
Original Assignee
Shenzhen Intellifusion Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Intellifusion Technologies Co Ltd filed Critical Shenzhen Intellifusion Technologies Co Ltd
Priority to CN201911186463.0A priority Critical patent/CN111124704B/zh
Publication of CN111124704A publication Critical patent/CN111124704A/zh
Application granted granted Critical
Publication of CN111124704B publication Critical patent/CN111124704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Abstract

本申请适用于数据处理技术领域,提供了一种数据处理方法、处理器及终端设备,所述方法包括:接收数据处理指令,根据所述数据处理指令获取模型文件和待处理数据;将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址;根据第一存储地址生成模型运行指令并将所述模型运行指令发送至所述辅助处理器;获取所述辅助处理器返回的模型应答指令,根据所述模型应答指令中的第二存储地址从所述共享存储区域获取数据处理结果,将所述数据处理结果返回至所述数据处理指令的发布方。本申请可以解决现有多核芯片需要在各个处理器部署模型文件对数据进行处理时,各个处理器协作效率低的问题。

Description

一种数据处理方法、处理器及终端设备
技术领域
本申请属于数据处理技术领域,尤其涉及一种数据处理方法、处理器及终端设备。
背景技术
在一些芯片中,存在多个处理器,这些处理器可能是相同类型,也可能是不同类型,例如,芯片中可能包括CPU(central processing unit,中央处理器)、DSP(DigitalSignal Processing,数字信号处理器)、NNP(Neural Network Processor,神经网络处理器)等多种类型的处理器,或包括多个相同类型的处理器。
当前对芯片的二次开发过程中,主要关注的对象是如何实现用户需求,达到预期功能,对芯片中模型部署和数据处理过程缺乏关注,导致多核芯片需要在各个处理器部署模型文件对数据进行处理时,各个处理器协作效率低。
发明内容
有鉴于此,本申请实施例提供了一种数据处理方法、处理器及终端设备,以解决现有多核芯片需要在各个处理器部署模型文件对数据进行处理时,各个处理器协作效率低的问题。
本申请实施例的第一方面提供了一种数据处理方法,所述数据处理方法应用于主处理器,所述数据处理方法包括:
接收数据处理指令,根据所述数据处理指令获取模型文件和待处理数据;
将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
根据第一存储地址生成模型运行指令并将所述模型运行指令发送至所述辅助处理器,所述模型运行指令用于指示所述辅助处理器从所述第一存储地址获取所述模型文件和所述待处理数据并根据所述模型文件对所述待处理数据进行处理;
获取所述辅助处理器返回的模型应答指令,根据所述模型应答指令中的第二存储地址从所述共享存储区域获取数据处理结果,将所述数据处理结果返回至所述数据处理指令的发布方。
本申请实施例的第二方面提供了一种数据处理方法,所述数据处理方法应用于辅助处理器,所述数据处理方法包括:
接收主处理器发送的模型运行指令,获取所述模型运行指令中的第一存储地址;
根据所述第一存储地址从共享存储区域获取模型文件和待处理数据,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
根据所述模型文件对所述待处理数据进行处理,得到数据处理结果;
将所述数据处理结果存储至所述共享存储区域,得到第二存储地址;
根据所述第二存储地址生成模型应答指令并将所述模型应答指令返回至所述主处理器。
本申请实施例的第三方面提供了一种处理器,包括:
指令接收模块,用于接收数据处理指令,根据所述数据处理指令获取模型文件和待处理数据;
存储共享模块,用于将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
数据处理模块,用于根据第一存储地址生成模型运行指令并将所述模型运行指令发送至辅助处理器,所述模型运行指令用于指示所述辅助处理器从所述第一存储地址获取所述模型文件和所述待处理数据并根据所述模型文件对所述待处理数据进行处理;
结果返回模块,用于获取所述辅助处理器返回的模型应答指令,根据所述模型应答指令中的第二存储地址从所述共享存储区域获取数据处理结果,将所述数据处理结果返回至所述数据处理指令的发布方。
本申请实施例的第四方面提供了一种处理器,包括:
地址获取模块,用于接收主处理器发送的模型运行指令,获取所述模型运行指令中的第一存储地址;
数据获取模块,用于根据所述第一存储地址从共享存储区域获取模型文件和待处理数据,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
处理结果模块,用于根据所述模型文件对所述待处理数据进行处理,得到数据处理结果;
结果存储模块,用于将所述数据处理结果存储至所述共享存储区域,得到第二存储地址;
指令发送模块,用于根据所述第二存储地址生成模型应答指令并将所述模型应答指令返回至所述主处理器。
本申请实施例的第五方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
本申请实施例的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
本申请实施例的第七方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备实现如上述方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:
本申请的数据处理方法中,设置了各个处理器均可访问的共享存储区域,由于主处理器属于处理器的一种,因此,当主处理器需要与其他处理器协同处理模型文件和待处理数据时,可以将模型文件和待处理数据存放在共享存储区域,各个处理器相互之间进行数据交互时,只需要传递相应数据所在的存储地址即可,便于模型文件的快速部署和待处理数据的传输,提高了协作效率,解决了现有多核芯片需要在各个处理器部署模型文件对数据进行处理时,各个处理器协作效率低的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理方法的流程示意图;
图2是本申请实施例提供的另一种数据处理方法的流程示意图;
图3是本申请实施例提供的一种处理器的结构示意图;
图4是本申请实施例提供的另一种处理器的结构示意图;
图5是本申请实施例提供的一种终端设备的结构示意图;
图6是本申请实施例提供的一种芯片的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一:
下面对本申请实施例一提供的一种数据处理方法进行描述,请参阅附图1,本申请实施例一中的数据处理方法包括:
步骤S101、接收数据处理指令,根据所述数据处理指令获取模型文件和待处理数据;
在一些系统中设置有至少两个处理器,可以将其中一个处理器设置为主处理器,将其他处理器设置为辅助处理器。本实施例的方法适用于上述系统中的主处理器。
当主处理器接收到数据处理指令时,可以根据数据处理指令获取模型文件和待处理数据。
在一些可能的实现方式中,当主处理器接收到数据处理指令时,可以先根据数据处理指令对模型部署环境进行初始化。
主处理器可以调用环境初始化接口,启动辅助处理器;配置主处理器和辅助处理器进行核间通信时所需的环境;启动核间通信线程,核间通信进程用于管理核间消息队列;启动适配线程,适配线程用于管理主处理器与外部程序或外部设备的消息收发和处理;启动模型管理线程,模型管理线程用于管理后续加载的模型文件。
之后,主处理器可以调用模型加载接口获取模型文件以及调用数据管理接口获取待处理数据。
主处理器通过对模型部署环境进行初始化,可以创建适合加载和处理模型文件以及待处理数据的环境,为后续数据处理过程提供支持。
步骤S102、将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
主处理器可以在共享存储区域中为模型文件和待处理数据分配存储空间。由于主处理器和辅助处理可能对输入模型文件的数据进行批量处理,因此,为待处理数据分配存储空间时,可以分配主处理器和/或辅助处理器处理单一输入模型的数据时所需的存储空间的预设倍数。例如,假设主处理器和/或辅助处理器允许同时处理三份输入模型文件的数据,则为待处理分配的存储空间可以为主处理器和/或辅助处理器处理一份输入模型文件的数据所需占用的空间的三倍。
获取的待处理数据应当不超过单一输入模型文件的数据的预设倍数。例如,为待处理数据分配存储空间时,分配了主处理器和辅助处理器处理单一输入模型的数据时所需的存储空间的3倍,则获取的待处理数据应当不超过单一输入模型文件的数据的3倍。
主处理器为模型文件和待处理数据在共享存储区域分配了存储空间之后,将模型文件和待处理数据存储至共享存储区域,得到第一存储地址。
上述共享存储区域为主处理器和辅助处理器均可访问的存储区域。
步骤S103、根据第一存储地址生成模型运行指令并将所述模型运行指令发送至所述辅助处理器,所述模型运行指令用于指示所述辅助处理器从所述第一存储地址获取所述模型文件和所述待处理数据并根据所述模型文件对所述待处理数据进行处理;
主处理器得到第一存储地址之后,可以按照主处理器和辅助处理器之间的通信约定协议,将第一存储地址组包成模型运行指令。主处理器可以将模型运行指令交由适配线程,由适配线程将模型运行指令管理分发至核间通信进程。核间通信进程可以将模型运行指令传递至辅助处理器,核间通信进程传递消息的方式可以选用透明传输方式。
辅助处理器接收到模型运行指令后,可以对模型运行指令进行解析,得到第一存储地址,根据第一存储地址从共享存储区域获取模型文件和待处理数据,根据模型文件对待处理数据进行处理。
当存在多个辅助处理器时,可以根据需要调用多个辅助处理器同时对批量的待处理数据进行处理,以提高单位时间的处理效率。
步骤S104、获取所述辅助处理器返回的模型应答指令,根据所述模型应答指令中的第二存储地址从所述共享存储区域获取数据处理结果,将所述数据处理结果返回至所述数据处理指令的发布方。
辅助处理器对待处理数据处理完成后,将数据处理结果存储至共享存储区域,得到第二存储地址。
在一些可能的实现方式中,辅助处理器还可以根据预设封装结构对数据处理结果进行封装,得到封装后的数据处理结果,然后再将封装后的数据处理结果存储至共享存储区域,从而使数据处理结果符合用户要求的数据格式。
此外,辅助处理器还可以通过适配线程取出模型文件和待处理数据在硬件设备运行的时间统计信息,通过预设封装结构对时间统计信息进行封装后存储至共享存储区域,得到第三存储地址。当用户需要对模型运行状况进行评估优化时,可以从第三存储地址获取时间统计信息,根据时间统计信息评估模型运行状况和优化。
然后,辅助处理器根据主处理器和辅助处理器之间的通信约定协议,将第二存储地址组包成模型应答指令。辅助处理器将模型应答指令发送至核间通信进程,核间通信线程将模型应答指令转发至适配线程,适配线程对模型应答指令进行一些必要的检查之后,将模型应答指令转发至主处理器。
主处理器接收到模型应答指令后,对模型应答指令进行解析,得到第二存储地址,根据第二存储地址从共享存储区域获取数据处理结果,将数据处理结果返回至数据处理指令的发布方。
本实施例的数据处理方法中,设置了各个处理器均可访问的共享存储区域,当主处理器需要与其他处理器协同处理模型文件和待处理数据时,可以将模型文件和待处理数据存放在共享存储区域,各个处理器相互之间进行数据交互时,只需要传递相应数据所在的存储地址即可,节省了消息内容的资源开销,便于模型文件的快速部署和待处理数据的传输,提高了协作效率,解决了现有多核芯片需要在各个处理器部署模型文件对数据进行处理时,各个处理器协作效率低的问题。
在一些可能的实现方式中,主处理器还可以设置有环境去初始化接口、模型卸载接口、数据删除接口、同步运行接口、异步运行接口等用户接口。
当主处理器调用同步运行接口进行数据处理时,主处理器将模型运行指令交给适配线程后,用户的调用被阻塞,直至数据处理完成后才释放互斥量,用户的调用才能返回并获取数据处理结果。
当主处理器调用异步运行接口进行数据处理时,主处理器将模型运行指令交给适配线程后立刻返回,不对用户的调用造成阻塞,但是此时并未返回数据处理结果给数据处理指令的发布方。数据处理完成后,再根据预设的回调函数返回数据处理结果至数据处理指令的发布方。
主处理器将待处理数据存储至共享存储区域后,可以将待处理数据对应的句柄返回至所述数据处理指令的发布方。当用户不需要模型继续处理其他待处理数据时,可以通过调用数据删除接口触发数据删除指令。主处理器接收到数据删除指令后,可以获取数据删除指令中的句柄,删除共享存储区域中上述句柄对应的待处理数据,释放对应的存储空间。
当用户不需要继续使用某个模型文件时,可以通过调用模型卸载接口触发模型删除指令。主处理器接收到模型卸载指令后,删除共享存储区域中与所述模型删除指令对应的模型文件,释放对应的存储空间。
当用户不需要继续使用本实施例的数据处理方法时,可以调用环境去初始化接口触发去初始化指令。主处理器接收到去初始化指令时,删除环境初始化时配置的各个线程。
以下通过具体应用场景对本实施例提供的数据处理方法进行说明:
请参阅图6,假设芯片中设置有CPU、DSP、NNP和RAM。
CPU、DSP和NNP可以访问共享RAM(random-access memory,随机存储器)。
将CPU设置为主处理器,将DSP和NNP设置为辅助处理器。数据处理过程如下:
1、当用户需要使用该芯片处理模型文件和待处理数据时,可以调用CPU的环境初始化接口,触发数据处理指令,CPU根据数据处理指令完成对模型部署环境的初始化。
CPU在初始化的过程中,加载DSP启动所需的bin文件,启动DSP;配置CPU和DSP核间通信所需的环境,启动CPU的核间通信线程,通过核间通信线程管理核间消息队列;启动适配线程;启动模型管理线程,管理加载的模型文件。
2、根据用户的触发动作,CPU调用模型加载接口导入模型文件,将模型文件存储至RAM中已分配的,CPU、DSP和NNP均可访问的共享存储区域。CPU分配并管理模型存续期内可能使用到的数据空间,数据空间用于存储待处理数据。由于本方法支持对待处理数据的批量处理,因此分配的数据空间可能是模型处理单一输入数据时所需的存储空间的预设倍数。预设倍数可以根据实际情况进行设置。
3、根据用户的触发动作,CPU调用数据管理接口获取待处理数据。待处理数据的数据量不能超过第2步中设置的单一输入数据的预设倍数。
CPU将待处理数据存储至RAM中已分配的数据空间后,将待处理数据的句柄返回至用户。
4、CPU将模型文件和待处理数据对应的第一存储地址按照通信约定协议组包成模型运行指令。CPU将模型运行指令交由适配线程,然后由适配线程管理分发该模型运行指令至核间通信线程,核间通信线程将模型运行指令以透明传输的方式传递至DSP。
DSP接收到模型运行指令后,解析模型运行指令,得到第一存储地址。DSP根据第一存储地址获取第2步和第3步中已导入RAM的共享存储区域的模型文件和待处理数据。如有需要,可以调度DSP和NNP同时对待处理数据进行处理,以提高单位时间的处理效率。
其中,当需要将模型文件部署在CPU和DSP上时,可以采用第三方工具链作为编译工具对模型文件进行编译;当需要将模型文件部署在NNP上时,可以根据需要使用第三方工具链或自研工具链对模型文件进行编译,通过预设的量化、切割、融合优化等步骤编译生成可在NNP上运行的指令集,并将指令集按照设定的封装规则封装成二进制文件。
数据处理完成后,DSP将数据处理结果存储至RAM的共享存储区域得到第二存储地址。如果用户有要求特定的数据格式,则DSP可以根据预设封装格式对数据处理结果封装后再存储至共享存储区域。
DSP根据通信约定协议,将第二存储地址组包成模型应答指令,将模型应答指令发送给核间通信进程,核间通信进程将模型应答指令转发至适配线程,适配线程将模型应答指令转发至CPU。
当适配线程接收到模型应答指令时,如果用户有时间统计的需求,则适配线程可以对模型应答指令进行必要的检查后,获取模型文件和待处理数据在硬件运行的时间统计信息,根据预设封装格式对时间统计信息进行封装,将封装后的时间统计信息存储至共享存储区域,得到第三存储地址。
由于CPU中可以设置有同步运行接口和异步运行接口两种接口,以下介绍两者区别:
当用户调用CPU的同步运行接口时,CPU将模型运行指令交给适配线程后,用户的调用被阻塞,直至数据处理完成后才释放互斥量,用户的调用才能够返回,将数据处理结果返回至用户;
当用户调用CPU的异步运行接口时,CPU将模型运行指令交给适配线程后立即返回用户,不对用户的调用进行阻塞,但是此时并未返回数据处理结果。数据处理完成后,CPU再通过用户注册的回调函数将数据处理结果返回至用户。
5、当用户得到数据处理结果后,如果用户不再需要某些待处理数据继续存在,则可以根据调用数据删除接口,触发数据删除指令。CPU根据数据删除指令中的句柄,释放句柄对应的待处理数据对应的存储空间。
6、当用户不再需要该模型继续处理其他数据时,可以调用模型卸载接口,触发模型删除指令。CPU根据模型删除指令删除对应的模型文件,释放对应的存储空间。
7、当用户不需要部署模型进行数据时,可以调用环境去初始化接口,触发去初始化指令,CPU根据去初始化指令终止第1步中创建的各个线程。
本实施例一提供的数据处理方法中,设置了各个处理器均可访问的共享存储区域,当主处理器需要与其他处理器协同处理模型文件和待处理数据时,可以将模型文件和待处理数据存放在共享存储区域,各个处理器相互之间进行数据交互时,只需要传递相应数据所在的存储地址即可,便于模型文件的快速部署和待处理数据的传输,提高了协作效率,解决了现有多核芯片需要在各个处理器部署模型文件对数据进行处理时,各个处理器协作效率低的问题。
接收到数据处理指令时,可以对模型部署环境进行初始化,为后续的处理过程提供支持。
数据处理完成后,可以根据用户触发的数据删除指令删除共享存储区域中的待处理数据,根据用户触发的模型删除指令删除共享存储区域中的模型文件,释放相应的存储空间,减少对存储空间的占用。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例二:
下面对本申请实施例二提供的另一种数据处理方法进行描述,请参阅附图2,本申请实施例二中的数据处理方法包括:
步骤S201、接收主处理器发送的模型运行指令,获取所述模型运行指令中的第一存储地址;
在一些系统中设置有至少两个处理器,可以将其中一个处理器设置为主处理器,将其他处理器设置为辅助处理器。本实施例的方法适用于上述系统中的辅助处理器。
当主处理器接收到数据处理指令时,可以根据数据处理指令获取模型文件和待处理数据,在共享存储区域中为模型文件和待处理数据分配存储空间,将模型文件和待处理数据存储至共享存储区域,得到第一存储地址。
共享存储区域为主处理器和辅助处理器均可访问的存储区域。
之后,主处理器按照主处理器和辅助处理器之间的通信约定协议,将第一存储地址组包成模型运行指令并将模型运行指令发送至辅助处理器。
辅助处理器接收到模型运行指令后,可以对模型运行指令进行解析,得到第一存储地址。
步骤S202、根据所述第一存储地址从共享存储区域获取模型文件和待处理数据,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
辅助处理器得到第一存储地址之后,根据第一存储地址从共享存储区域获取模型文件和待处理数据。
步骤S203、根据所述模型文件对所述待处理数据进行处理,得到数据处理结果;
辅助处理器获取到模型文件和待处理数据之后,根据模型文件对待处理数据进行处理,得到数据处理结果。
步骤S204、将所述数据处理结果存储至所述共享存储区域,得到第二存储地址;
辅助处理器得到数据处理结果,将数据处理结果存储至共享存储区域,得到第二存储地址。
在一些可能的实现方式中,用户对数据处理结果存在一定的数据格式要求,辅助处理器可以根据预设封装结构对数据处理结果进行封装,得到封装后的处理结果,然后再将封装后的数据处理结果存储至共享存储区域,得到第二存储地址。
步骤S205、根据所述第二存储地址生成模型应答指令并将所述模型应答指令返回至所述主处理器。
本实施例二提供的数据处理方法中,设置了各个处理器均可访问的共享存储区域,当主处理器需要与其他处理器协同处理模型文件和待处理数据时,可以将模型文件和待处理数据存放在共享存储区域,各个处理器相互之间进行数据交互时,只需要传递相应数据所在的存储地址即可,节省了消息内容的资源开销,便于模型文件的快速部署和待处理数据的传输,提高了协作效率,解决了现有多核芯片需要在各个处理器部署模型文件对数据进行处理时,各个处理器协作效率低的问题。
辅助处理器将数据处理结果存储至共享存储区域之前,可以根据预设封装结构对数据处理结果进行封装,使得数据处理结果符合用户要求的数据格式。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例三:
本申请实施例三提供了一种处理器,为便于说明,仅示出与本申请相关的部分,如图3所示,处理器包括,
指令接收模块301,用于接收数据处理指令,根据所述数据处理指令获取模型文件和待处理数据;
存储共享模块302,用于将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
数据处理模块303,用于根据第一存储地址生成模型运行指令并将所述模型运行指令发送至辅助处理器,所述模型运行指令用于指示所述辅助处理器从所述第一存储地址获取所述模型文件和所述待处理数据并根据所述模型文件对所述待处理数据进行处理;
结果返回模块304,用于获取所述辅助处理器返回的模型应答指令,根据所述模型应答指令中的第二存储地址从所述共享存储区域获取数据处理结果,将所述数据处理结果返回至所述数据处理指令的发布方。
进一步地,所述指令接收模块301包括:
环境初始化子模块,用于接收数据处理指令,根据所述数据处理指令对模型部署环境进行初始化;
接口调用子模块,用于调用模型加载接口获取模型文件,调用数据管理接口获取待处理数据。
进一步地,所述处理器还包括:
句柄返回子模块,用于将所述待处理数据对应的句柄返回至所述数据处理指令的发布方;
数据删除子模块,用于若接收到数据删除指令,则删除所述共享存储区域中所述数据删除指令中的句柄对应的待处理数据。
进一步地,在所述将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址之后,还包括:
模型删除子模块,用于若接收到模型删除指令,则删除所述共享存储区域中所述模型删除指令对应的模型文件。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
实施例四:
本申请实施例四提供了一种处理器,为便于说明,仅示出与本申请相关的部分,如图4所示,处理器包括,
地址获取模块401,用于接收主处理器发送的模型运行指令,获取所述模型运行指令中的第一存储地址;
数据获取模块402,用于根据所述第一存储地址从共享存储区域获取模型文件和待处理数据,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
处理结果模块403,用于根据所述模型文件对所述待处理数据进行处理,得到数据处理结果;
结果存储模块404,用于将所述数据处理结果存储至所述共享存储区域,得到第二存储地址;
指令发送模块405,用于根据所述第二存储地址生成模型应答指令并将所述模型应答指令返回至所述主处理器。
进一步地,所述结果存储模块404包括:
结果封装子模块,用于根据预设封装结构对所述数据处理结果进行封装,得到封装后的处理结果;
封装存储子模块,用于将所述封装后的数据处理结果存储至所述共享存储区域,得到第二存储地址。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
实施例五:
图5是本申请实施例五提供的终端设备的示意图。如图5所示,该实施例的终端设备5包括:主处理器50、辅助处理器53、存储器51以及存储在所述存储器51中并可在所述主处理器50或所述辅助处理器52上运行的计算机程序52。所述主处理器50或所述辅助处理器52执行所述计算机程序52时实现上述数据处理方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述主处理器50或所述辅助处理器52执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至304的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述主处理器50或所述辅助处理器52执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端设备5中的执行过程。例如,所述计算机程序52可以被分割成指令接收模块、存储共享模块、数据处理模块以及结果返回模块,各模块具体功能如下:
指令接收模块,用于接收数据处理指令,根据所述数据处理指令获取模型文件和待处理数据;
存储共享模块,用于将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
数据处理模块,用于根据第一存储地址生成模型运行指令并将所述模型运行指令发送至辅助处理器,所述模型运行指令用于指示所述辅助处理器从所述第一存储地址获取所述模型文件和所述待处理数据并根据所述模型文件对所述待处理数据进行处理;
结果返回模块,用于获取所述辅助处理器返回的模型应答指令,根据所述模型应答指令中的第二存储地址从所述共享存储区域获取数据处理结果,将所述数据处理结果返回至所述数据处理指令的发布方。
所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,主处理器50、存储器51、辅助处理器53。本领域技术人员可以理解,图5仅仅是终端设备5的示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称主处理器50以及辅助处理器53可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、神经网络处理器(Neural Network Processor,NNP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card),随机存储器(random-access memory,RAM)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,所述数据处理方法应用于主处理器,所述数据处理方法包括:
接收数据处理指令,根据所述数据处理指令获取模型文件和待处理数据;
将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
根据第一存储地址生成模型运行指令并将所述模型运行指令发送至一个或多个所述辅助处理器,所述模型运行指令用于指示所述辅助处理器从所述第一存储地址获取所述模型文件和所述待处理数据并根据所述模型文件对所述待处理数据进行处理;
获取所述辅助处理器返回的模型应答指令,根据所述模型应答指令中的第二存储地址从所述共享存储区域获取数据处理结果,将所述数据处理结果返回至所述数据处理指令的发布方;
其中,所述存储区域中包括为所述待处理数据分配的存储空间,所述存储空间的大小为所述主处理器和/或所述辅助处理器处理单一输入模型的数据时所需存储空间的预设倍数。
2.如权利要求1所述的数据处理方法,其特征在于,所述接收数据处理指令,根据所述数据处理指令获取模型文件和待处理数据包括:
接收数据处理指令,根据所述数据处理指令对模型部署环境进行初始化;
调用模型加载接口获取模型文件,调用数据管理接口获取待处理数据。
3.如权利要求1所述的数据处理方法,其特征在于,在所述将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址之后,还包括:
将所述待处理数据对应的句柄返回至所述数据处理指令的发布方;
若接收到数据删除指令,则删除所述共享存储区域中所述数据删除指令中的句柄对应的待处理数据。
4.如权利要求1所述的数据处理方法,其特征在于,在所述将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址之后,还包括:
若接收到模型删除指令,则删除所述共享存储区域中所述模型删除指令对应的模型文件。
5.一种数据处理方法,其特征在于,所述数据处理方法应用于辅助处理器,所述数据处理方法包括:
接收主处理器发送的模型运行指令,获取所述模型运行指令中的第一存储地址;
根据所述第一存储地址从共享存储区域获取模型文件和待处理数据,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
根据所述模型文件对所述待处理数据进行处理,得到数据处理结果;
将所述数据处理结果存储至所述共享存储区域,得到第二存储地址;
根据所述第二存储地址生成模型应答指令并将所述模型应答指令返回至所述主处理器;
其中,所述存储区域中包括为所述待处理数据分配的存储空间,所述存储空间的大小为所述主处理器和/或所述辅助处理器处理单一输入模型的数据时所需存储空间的预设倍数。
6.如权利要求5所述的一种数据处理方法,其特征在于,所述将所述数据处理结果存储至所述共享存储区域,得到第二存储地址包括:
根据预设封装结构对所述数据处理结果进行封装,得到封装后的处理结果;
将所述封装后的数据处理结果存储至所述共享存储区域,得到第二存储地址。
7.一种处理器,其特征在于,包括:
指令接收模块,用于接收数据处理指令,根据所述数据处理指令获取模型文件和待处理数据;
存储共享模块,用于将所述模型文件和所述待处理数据存储至共享存储区域,得到第一存储地址,所述共享存储区域为主处理器和辅助处理器均可访问的存储区域;
数据处理模块,用于根据第一存储地址生成模型运行指令并将所述模型运行指令发送至一个或多个辅助处理器,所述模型运行指令用于指示所述辅助处理器从所述第一存储地址获取所述模型文件和所述待处理数据并根据所述模型文件对所述待处理数据进行处理;
结果返回模块,用于获取所述辅助处理器返回的模型应答指令,根据所述模型应答指令中的第二存储地址从所述共享存储区域获取数据处理结果,将所述数据处理结果返回至所述数据处理指令的发布方;
其中,所述存储区域中包括为所述待处理数据分配的存储空间,所述存储空间的大小为所述主处理器和/或所述辅助处理器处理单一输入模型的数据时所需存储空间的预设倍数。
8.一种处理器,其特征在于,包括:
地址获取模块,用于接收主处理器发送的模型运行指令,获取所述模型运行指令中的第一存储地址;
数据获取模块,用于根据所述第一存储地址从共享存储区域获取模型文件和待处理数据,所述共享存储区域为所述主处理器和辅助处理器均可访问的存储区域;
处理结果模块,用于根据所述模型文件对所述待处理数据进行处理,得到数据处理结果;
结果存储模块,用于将所述数据处理结果存储至所述共享存储区域,得到第二存储地址;
指令发送模块,用于根据所述第二存储地址生成模型应答指令并将所述模型应答指令返回至所述主处理器;
其中,所述存储区域中包括为所述待处理数据分配的存储空间,所述存储空间的大小为所述主处理器和/或所述辅助处理器处理单一输入模型的数据时所需存储空间的预设倍数。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述方法的步骤,或实现如权利要求5至6任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤,或实现如权利要求5至6任一项所述方法的步骤。
CN201911186463.0A 2019-11-26 2019-11-26 一种数据处理方法、处理器及终端设备 Active CN111124704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911186463.0A CN111124704B (zh) 2019-11-26 2019-11-26 一种数据处理方法、处理器及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911186463.0A CN111124704B (zh) 2019-11-26 2019-11-26 一种数据处理方法、处理器及终端设备

Publications (2)

Publication Number Publication Date
CN111124704A CN111124704A (zh) 2020-05-08
CN111124704B true CN111124704B (zh) 2024-01-05

Family

ID=70496809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911186463.0A Active CN111124704B (zh) 2019-11-26 2019-11-26 一种数据处理方法、处理器及终端设备

Country Status (1)

Country Link
CN (1) CN111124704B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395142B (zh) * 2020-11-30 2023-05-26 重庆紫光华山智安科技有限公司 数据管理方法、装置、电子设备及存储介质
CN112612539B (zh) * 2020-12-18 2024-02-13 北京达佳互联信息技术有限公司 数据模型卸载方法、装置、电子设备及存储介质
CN112612540B (zh) * 2020-12-18 2024-04-09 北京达佳互联信息技术有限公司 数据模型配置方法、装置、电子设备及存储介质
CN113010116A (zh) * 2021-03-23 2021-06-22 深圳市元征科技股份有限公司 一种数据处理方法、装置、终端设备及可读存储介质
CN113821469A (zh) * 2021-09-23 2021-12-21 深圳市元征科技股份有限公司 多处理器的同步方法、装置、终端设备及存储介质
CN114168078A (zh) * 2021-12-09 2022-03-11 中国建设银行股份有限公司 一种数据卸载方法、装置、系统、设备及介质
CN114928652B (zh) * 2022-04-29 2023-06-20 高德软件有限公司 地图数据传输方法、装置、电子设备、存储介质和程序

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨国芳.多核处理器核间通信技术研究.《中国优秀硕士学位论文全文数据库( 信息科技辑)》.2012,第1-5章. *

Also Published As

Publication number Publication date
CN111124704A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111124704B (zh) 一种数据处理方法、处理器及终端设备
CN113641457B (zh) 容器创建方法、装置、设备、介质及程序产品
CN108052396B (zh) 一种资源分配方法及系统
CN109358956B (zh) 服务调用方法
CN115237582B (zh) 处理多个任务的方法、处理设备以及异构计算系统
CN112905342A (zh) 资源调度方法、装置、设备及计算机可读存储介质
CN111258741B (zh) 仓库任务执行的方法、分布式服务器集群及计算机设备
CN114168302A (zh) 任务调度方法、装置、设备及存储介质
CN110659131A (zh) 任务处理方法、电子装置、计算机设备及存储介质
CN112286688A (zh) 一种内存管理和使用方法、装置、设备和介质
CN113760543A (zh) 资源管理方法、装置、电子设备及计算机可读存储介质
CN116382773A (zh) 一种部署PyFlink任务的方法
CN116795647A (zh) 一种数据库异构资源管理与调度方法、装置、设备及介质
CN113285843B (zh) 容器网络配置方法、装置、计算机可读介质及电子设备
CN114185550A (zh) 分布式编译方法、设备及存储介质
CN113918232A (zh) 一种算法服务的调用方法、装置、服务器和存储介质
CN116248414A (zh) 基于虚拟化硬件实现密码加速的方法、装置及电子设备
CN116680209A (zh) 基于wasm的多智能合约实例管理方法
CN115794386A (zh) 虚拟机的资源调用方法、设备及存储介质
CN115016862A (zh) 基于Kubernetes集群的软件启动方法、装置、服务器及存储介质
CN115170152A (zh) 一种数据分发方法、装置、设备和存储介质
CN110673931A (zh) 单证合成的分布式计算方法、单证合成系统及其控制装置
CN117193979B (zh) 基于独立中断栈的任务处理方法、装置、终端设备及介质
CN111858002B (zh) 一种基于异步io的并发处理方法、系统及装置
CN109474543B (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
GR01 Patent grant
GR01 Patent grant