CN110750312A - 硬件资源配置方法、装置、云侧设备和存储介质 - Google Patents
硬件资源配置方法、装置、云侧设备和存储介质 Download PDFInfo
- Publication number
- CN110750312A CN110750312A CN201910998399.XA CN201910998399A CN110750312A CN 110750312 A CN110750312 A CN 110750312A CN 201910998399 A CN201910998399 A CN 201910998399A CN 110750312 A CN110750312 A CN 110750312A
- Authority
- CN
- China
- Prior art keywords
- artificial intelligence
- cloud
- side device
- processor
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种硬件资源配置方法、装置、云侧设备和存储介质,方法包括:云侧设备接收请求信息;其中,所述请求信息是由软件开发平台基于调试需求、端侧设备的设备信息以及对应的人工智能学习任务生成的;所述云侧设备根据所述端侧设备的请求信息在所述云侧设备的硬件资源中确定相适配的人工智能处理器,并在相适配的人工智能处理器上执行所述请求信息对应的人工智能学习任务;其中,所述云侧设备的硬件资源中的人工智能处理器是在当前时刻允许使用的。实施本申请,可以提高云侧设备的硬件资源的利用率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种硬件资源配置方法、装置、云侧设备和存储介质。
背景技术
现有技术中,以人工智能处理器为例,当人工智能芯片流片成功后,算法应用开发者才能在对应版本的人工智能处理器(硬件实体)上进行开发和测试。
从上述描述可以知道,只有在人工智能处理器流片之后,才能得知开发的人工智能算法在对应版本的人工智能处理器上运行的功能结果和性能结果。那么,如何实现端侧人工智能处理器未流片时算法应用开发者即可展开人工智能算法模型与人工智能处理器之间的调试工作,是急需解决的问题。
发明内容
本发明实施例提供一种硬件资源配置方法、装置、云侧设备和存储介质,可以实时动态的根据当前时刻对应的云侧设备的硬件资源中允许使用的人工智能处理器的情况为软件开发平台发送过来的不同的请求信息配置与之相适配的芯片,在提高云侧设备的硬件资源利用率的同时完成可以提高调试服务的准确性。
为实现上述目的,第一方面,本发明实施例提供了一种硬件资源配置方法,该方法包括:
云侧设备接收请求信息;其中,所述请求信息是由软件开发平台基于调试需求、端侧设备的设备信息以及对应的人工智能学习任务生成的;
所述云侧设备根据所述端侧设备的请求信息在所述云侧设备的硬件资源中确定相适配的人工智能处理器,并在相适配的人工智能处理器上执行所述请求信息对应的人工智能学习任务;其中,所述云侧设备的硬件资源中的人工智能处理器是在当前时刻允许使用的。
第二方面,本发明实施例提供了一种云侧设备,该云侧设备包括:
接收单元,用于接收请求信息;其中,所述请求信息是由软件开发平台基于调试需求、端侧设备的设备信息以及对应的人工智能学习任务生成的;
处理单元,用于根据所述端侧设备的请求信息在所述云侧设备的硬件资源中确定相适配的人工智能处理器,并在相适配的人工智能处理器上执行所述请求信息对应的人工智能学习任务;其中,所述云侧设备的硬件资源中的人工智能处理器是为在当前时刻允许使用的。
第三方面,本发明实施例提供了另一种云侧设备,包括通用处理器和存储器,所述通用处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述通用处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被通用处理器执行时使所述通用处理器执行上述第一方面的方法。
第五方面,本发明实施例提供了一种计算机程序,所述计算机程序包括程序指令,所述程序指令当被通用处理器执行时使所述通用处理器执行上述第一方面的方法。
实施本申请实施例,云侧设备可以根据请求信息以及当前时刻下云侧设备中允许使用的硬件资源中为用户选择一种最优的人工智能处理器来执行人工智能学习任务,并完成调试需求。由于可以根据不同的请求信息配置不同的人工智能处理器,继而可以有针对性地在与请求信息匹配的人工智能处理器上执行对应的人工智能学习任务,可以提高调试服务的准确性,也可以避免出现调试工作无法实现的情形。此外,在本申请实施例中,云侧设备可以基于同一个人工智能处理器提供不同的调试服务,可以提高云侧设备中的资源的利用率,并根据历史情况,在不同的时间段去配置云侧设备的硬件资源,避免云侧设备的硬件资源的闲置浪费或无法满足用户需求的情况发生。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是端云一体的工作原理的架构示意图;
图2是本申请实施例提供的一种云侧设备的结构示意图;
图3是本申请实施例提供的一种硬件资源配置方法的流程示意图;
图4是应用场景示意图之一;
图5是应用场景示意图之二;
图6是本申请实施例提供的另一种云侧设备的功能框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
首先介绍本申请中涉及的概念,以便本领域技术人员进行理解。
芯片,又称微电路(microcircuit)、微芯片(microchip)、集成电路(IC,integrated circuit),是指内含集成电路的硅片,体积很小,常常是计算机设备或其他电子设备的一部分。
通用处理器:在本申请实施例中,通用处理器可以为中央处理器(CPU,CentralProcessing Unit/Processor)。
人工智能处理器:也称之为专用处理器,在本申请实施例中,人工智能处理器是指针对特定应用或者领域的处理器。例如:图形处理器(GPU,Graphics Processing Unit),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的专用处理器。又例如:神经网络处理器(NPU,Neural Processing Unit),是一种在人工智能领域的应用中针对矩阵乘法运算的专用处理器,采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。
FPGA(FPGA,Field-Programmable Gate Array):也即现场可编程门阵列。参考现代IC设计验证的技术主流,以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试。在实际应用中,FPGA能够反复使用,究其根本在于:加电时,FPGA芯片将可擦除可编程只读存储器(EPROM,ErasableProgrammable Read Only Memory)中数据读入片内编程随机存取存储器(Random AccessMemory,RAM)中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失。
仿真加速器:在本申请实施例中,仿真加速器可以为基于FPGA的硬件加速器。
模拟器:通俗的说,模拟器是指,用计算机模拟计算机的模拟器。在实际应用中,其表现形式可以为软件,也即主要透过软件模拟硬件处理器的功能和指令系统的程序使计算机或者其他多媒体平台(例如,掌上电脑,手机)能够运行其他平台上的软件。
流片:在集成电路设计领域,流片是指试生产,也即在设计完满足预设功能的集成电路之后,先生产几片或几十片供测试用,如果满足测试需求,则按照当前满足测试需求的集成电路的结构进行大规模生产。
可重构体系结构:如果某一人工智能处理器能够利用可重用的硬件资源,根据不同的应用需求,灵活的改变自身的体系结构,以便为每个特定的应用需求提供与之相匹配的体系结构,那么这一人工智能处理器就称为可重构的计算系统,其体系结构称为可重构的体系结构。
现有技术中,算法应用开发者只有在对应版本硬件实体上完成人工智能算法模型与人工智能处理器之间的适配调试工作。可以理解的是,现有技术的实现方案并不能实现未流片的芯片与算法之间的调试过程,这样就需要专门的时间去完成算法模型与芯片之间的适配工作,因而产品问市的期限就要往后拖延,很容易因时间问题错过占领市场的机会。
基于此,本申请提出一种技术方案,不管是否流片,根据端侧设备的人工智能处理器的设备信息从云侧设备的硬件资源中匹配出合适的人工智能处理器来模拟端侧设备的人工智能处理器,本技术方案中的软件开发平台对客户提供的算法模型经过一系列处理,得到对应的人工智能学习任务,该人工智能学习任务在云侧设备的硬件资源中选择出来的人工智能处理器上运行,得到运行结果。根据运行结果在软件开发平台上对人工智能学习任务进行调整,完成各种调试需求。对于本技术方案来说,不管是否调整人工智能算法模型,通过优化人工智能学习库和/或调整端侧设备的人工智能处理器的设备信息,均可以达到调整人工智能学习任务的目的,实现端侧设备的人工智能处理器与人工智能算法模型之间的适配。
参见图1所示,是本申请实施例提供的一种系统架构图,如图1所示,该系统架构包括:云侧设备101、软件开发平台102、端侧设备103。
具体实现中,软件开发平台102提供了用于应用开发、性能调优、功能调试等一系列工具包。其中,应用开发工具包括人工智能学习库、人工智能运行时库、编译器和特定领域(如视频分析)的软件开发工具。功能调试工具可以满足编程框架、人工智能学习库等不同层次的调试需求;性能调优工具包括性能剖析工具和系统监控工具等。编译器可以包括C++语言的传统编译器,还可以包括基于类C语言的机器学习编译器,也可以基于其他高级语言或者专门设计的领域专用编程语言(Domain Specific Language)的机器学习编译器。
作为一种可选的实现方式,在本申请实施例中,软件开发平台102可以运行在云侧设备101的通用处理器上。也可以运行在本地(host)的计算机设备的处理器上,该本地的计算机设备可以包括通用处理器(如CPU)和显示器等,此处不做具体限定。进一步可选地,上述软件开发平台可以以客户端的形式运行在本地的计算机设备上,或者云端设备上,本申请实施例不作具体限定。
在实际应用中,软件开发平台102维护一份用户记录,该用户记录通过数据块等工具保存,记录内容包括用户个人信息(账户信息等)、用户所需要的服务信息。其中,服务信息包括但不限于调试需求,端侧设备的人工智能处理器的设备信息。该调试需求包括但不限于功能调试和性能调试,还可以包括精度调试。设备信息包括硬件架构信息和运行环境参数。其中,运行环境参数包括但不限于端侧设备的人工智能处理器的运行主频率、片外存储器到端侧设备的人工智能处理器之间的访存带宽、片上存储大小、端侧设备的人工智能处理器的核数、端侧设备的人工智能处理器的运算器类型。
具体实现中,云侧设备101是完整的计算机系统,该云侧设备101可以包括通用处理器和至少一个人工智能处理器。例如:人工智能处理器可以包括8个集群(cluster),每个cluster中包括4个人工智能处理器核。
具体实现中,云侧设备101是服务器板卡或服务器板卡集群,在板卡或板卡集群中设置有人工智能处理器集合。在本申请实施例中,人工智能处理器集合中可以包含通用处理器、人工智能处理器、FPGA、定制化硬件实体以及模拟器。其中,人工智能处理器芯片可以是可重构型芯片,也可以是非重构型芯片。
具体实现中,端侧设备103上设置有人工智能处理器,该人工智能处理器称为端侧人工智能处理器。端侧设备可以是终端设备,比如:平板电脑、移动电话。端侧设备也可以是边缘端设备,比如:摄像头。需要说明的是,在本申请实施例中,端侧设备103可以是未流片状态的设备,也可以是已流片的设备。
本技术方案的工作原理为:在软件开发平台102上产生请求信息,该请求信息中包括需求的设备信息和对应的二进制指令。驱动程序根据端侧设备103对应的人工智能处理器的设备信息从云侧设备101中筛选与端侧设备103相适配的人工智能处理器。筛选出的云侧设备的人工智能处理器的硬件架构信息兼容对应的端侧设备的人工智能处理器的硬件架构信息,且云侧设备的人工智能处理器的指令集兼容对应的端侧设备的人工智能处理器的指令集。并将软件开发平台102发送过来的二进制指令在对应的云侧设备的人工智能处理器上执行,来提供调试服务。这里,云侧设备的硬件资源是在当前时刻下允许使用的云侧设备处设置的人工智能处理器,在某些场景下,云侧设备的硬件资源并不等同于云侧设备起始配置的硬件资源。例如,云侧设备起始配置的硬件资源包括:人工智能处理器A、人工智能处理器B,然而,在某一时刻,由于人工智能处理器B正在被用户使用,此时,云侧设备的硬件资源中包含:人工智能处理器A,并不包含被使用的人工智能处理器B。在本申请实施例中,云侧设备102在硬件资源中确定与请求信息适配的人工智能处理器时,筛选出的云侧设备的人工智能处理器的硬件架构信息兼容对应的端侧设备的人工智能处理器的硬件架构信息,且云侧设备的人工智能处理器的指令集兼容对应的端侧设备的人工智能处理器的指令集。这里,云侧设备的人工智能处理器的硬件架构信息兼容对应的端侧设备的人工智能处理器的硬件架构信息可以包括:云侧设备的人工智能处理器的计算能力大于或等于端侧设备的人工智能处理器的计算能力。
基于上述描述,下面介绍本申请实施例涉及的云侧设备的一种实现方式。图2,是云侧设备101的结构示意图。如图2所示,云侧设备101可以包括通用处理器201、存储器202、通信总线203、通信接口204和至少一个人工智能处理器205,通用处理器201、人工智能处理器205通过所述通信总线连接所述存储器202和所述通信接口203。
通用处理器201可以是中央处理单元(Central Processing Unit,CPU),该通用处理器201还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该通用处理器201也可以是任何常规的处理器等。
通用处理器201还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的资源配置方法的各个步骤可以通过通用处理器201中的硬件的集成逻辑电路或者软件形式的指令完成。
存储器202可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)或其他存储器。本申请实施例中,存储器202用于存储数据以及各种软件程序,例如本申请实施例中根据服务信息实现本申请实施例中资源配置方法的程序等。
可选的,在本申请实施例中,所述存储器202可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如RAM、ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。
通信接口204使用例如但不限于收发器一类的收发装置,来实现云侧设备101与其他设备或通信网络之间的通信。例如,可以通过通信接口204接收端侧设备101发送的服务信息。
人工智能处理器205可以作为协处理器挂载到主CPU(Host CPU)上,由主CPU为其分配任务。在实际应用中,人工智能处理器205可以实现一种或多种运算。例如,以神经网络处理器(network processing unit,NPU)NPU为例,NPU的核心部分为运算电路,通过控制器控制运算电路提取存储器202中的矩阵数据并进行乘加运算。
可选的,人工智能处理器205可以包括8个集群(cluster),每个cluster中包括4个人工智能处理器核。
可选的,人工智能处理器205可以是可重构架构体系结构的人工智能处理器。这里,可重构体系结构是指,如果某一人工智能处理器能够利用可重用的硬件资源,根据不同的应用需求,灵活的改变自身的架构体系结构,以便为每个特定的应用需求提供与之相匹配的架构体系结构,那么这一人工智能处理器就称为可重构的计算系统,其体系结构称为可重构的体系结构。
应当理解,上述描述的云侧设备101仅为本申请实施例提供的一个例子,并且,云侧设备101可具有比示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
基于图2所示的云侧设备101的结构框图,参见图3,来介绍本申请实施例提供的一种硬件资源配置方法。如图3所示,该方法包括但不限于如下步骤S301-S302:
步骤S301、云侧设备接收请求信息;其中,所述请求信息是由软件开发平台基于调试需求、端侧设备103的设备信息以及对应的人工智能学习任务生成的。
在本技术方案中,软件开发平台102可以以客户端的形式运行在本地的计算机设备上,或者云端设备上。
如图4所示,用户在一台式电脑上登录软件开发平台,在软件开发平台上生成算法模型对应的人工智能学习任务,根据人工智能学习任务在云侧人工智能处理器上运行结果对人工智能学习任务进行调整。
如图5所示,在云端设备101上设置有人工智能软件开发客户端。具体地,云侧设备101是完整的计算机系统,可以包括通用处理器和至少一个人工智能处理器。
在本申请实施例中,请求信息可以包括调试需求,也可以包括端侧设备的设备信息以及对应的人工智能学习任务。这里,调试需求可以包括功能调试、性能调试、精度调试等中的至少其中一种。设备信息包括所述端侧设备103的人工智能处理器的硬件架构信息和运行环境参数。其中,所述运行环境参数包括所述端侧设备103的人工智能处理器的运行主频率、片外存储器到端侧设备103的人工智能处理器之间的访存带宽、片上存储大小、端侧设备103的人工智能处理器的核数、端侧设备103的人工智能处理器的运算器类型中的至少其中之一。
在本申请实施例中,功能调试是指,针对在执行人工智能学习任务时所涉及的算子的功能实现是否达到预期要求,根据预期要求进行调试。例如,功能调试可以包括关于人工智能学习任务时预期功能的验证性调试、关于人工智能学习任务涉及的算子的运算逻辑的正确性调试、关于特定设计规格的尚未流片的人工智能处理器的预期功能调试等等。
在本申请实施例中,性能调试是指,在具体的应用场景下观察到通用处理器和人工智能处理器的行为,便于用户对程序进行性能调优。在实际应用中,性能调试可以包括性能瓶颈分析、IO访存量测试、最大占用内存量测试等等。进一步,在性能调试过程中,可以精确获得用户程序以及部分依赖软件开发平台102中的人工智能学习库中每个函数的执行时间,可以精确获得通用处理器的内存开销和人工智能处理器的内存开销,也可以获取DDR访存带宽等等。
在本申请实施例中,精度调试是指,在执行人工智能学习任务的过程中,将实际运行结果尽可能地趋近于预定结果的调试过程。还有,精度调试也可以算是广义的功能调试的一部分。例如,采用低位宽数据进行训练时,确保低位宽计算的结果有足够的精度,保证训练能收敛。
步骤S302、所述云侧设备根据所述端侧设备的请求信息在所述云侧设备的硬件资源中确定相适配的人工智能处理器,并在相适配的人工智能处理器上执行所述请求信息对应的人工智能学习任务;其中,所述云侧设备的硬件资源中的人工智能处理器是在当前时刻允许使用的。
在本申请实施例中,云侧设备101可以预先配置有硬件资源。具体地,云侧设备101预先配置的硬件资源中可以包含通用处理器、人工智能处理器、FPGA、定制化硬件实体、仿真加速器以及模拟器中的至少一种。例如,云侧设备预先配置的硬件资源可以如表1所示:
表1
人工智能处理器类型 | 数量 | 人工智能处理器类型 | 数量 |
通用处理器 | 1 | FPGA | 10 |
人工智能处理器A | 5 | 人工智能处理器B | 3 |
人工智能处理器C | 3 | 模拟器 | 2 |
由表1可以知道,初始时刻,云侧设备预先配置的硬件资源中包含5个人工智能处理器A、1个通用处理器、10个FPGA、3个人工智能处理器B、3个人工智能处理器C和2个模拟器。
在实际应用中,基于统计信息,云侧设备101可以根据预设时间段内用户量的变化情况和/或不同类型的人工智能处理器的使用情况等,对应改变云侧设备101中预先配置的硬件资源,以此来满足不同阶段的用户的需求。通过这一实现方式,可以充分利用云侧设备部署好的资源,避免云侧设备中资源的闲置浪费。
在本申请实施例中,云侧设备101根据历史配置信息确定一时间段内对应的所述云侧设备的硬件资源;其中,所述历史配置信息为所述云侧设备根据所述端侧设备的所有请求信息配置与之适配的人工智能处理器的过程中产生的信息。
在本申请实施例中,历史配置信息可以表示为如表2所示:
表2
由表2可知,历史配置信息包括但不限于使用时间段、请求信息以及硬件配置信息。可以理解的是,该历史配置信息可以反映不同时间段下,用户使用人工智能处理器的情况。历史配置信息不同,也就意味着云侧设备的硬件资源在不同时间段会有所差异。根据统计,能够大概率预测出不同时间段软件开发平台102所需的云侧设备提供的硬件资源情况。从而更加有效利用云侧设备的硬件资源。
在本申请实施例中,云侧设备101在获取到某一个时间段内产生的历史配置信息之后,云侧设备101可以根据历史配置信息确定当前时刻下的人工智能处理器集合,即硬件资源。例如,根据表1和表2确定的云侧设备的硬件资源可以表示为如表3所示:
表3
人工智能处理器类型 | 数量 | 人工智能处理器类型 | 数量 |
通用处理器 | 0 | FPGA | 9 |
人工智能处理器A | 4 | 人工智能处理器B | 2 |
人工智能处理器C | 3 | 模拟器 | 2 |
在本申请实施例中,云侧设备的硬件资源中可以包含通用处理器、人工智能处理器、FPGA、定制化硬件实体、仿真加速器以及模拟器中的至少一种。那么,对于云侧设备来说,硬件资源中所包含的即为当前时刻下云侧设备可以应请求信息来分配的硬件资源。
在本申请实施例中,云侧设备101可以利用分时复用的方法,通过虚拟机技术,根据用户使用云侧设备101的人工智能处理器资源的时间段,合理分配云侧设备的硬件资源,在不同的时间段内,适应性配置云侧设备101处的硬件资源,可以将硬件资源分配给不同时间段的人工智能学习任务,减少需要部署的云侧设备的人工智能处理器的开发环境数量。
在一种情形下,端侧设备的请求信息包括调试需求;所述云侧设备的硬件资源中包含FPGA和/或模拟器;所述云侧设备根据端侧设备的请求信息在所述云侧设备的硬件资源中确定与之适配的人工智能处理器,包括:
当所述调试需求为功能调试时,所述云侧设备从硬件资源中选择FPGA来提供调试服务,或者,所述云侧设备从硬件资源中选择模拟器来提供所述调试服务。
在本申请实施例中,模拟器可以用于模拟芯片实际执行人工智能学习任务时的行为。
在本申请实施例中,FPGA可以作为一种计算密集型的器件,人工智能处理器芯片上提供了许多专用的算术计算单元、逻辑模块资源和片内的存储资源,其具有灵活性和高效性的特点,且芯片的运行功耗较低。
在实际应用中,云侧设备的硬件资源中的FPGA包含有烧制好的镜像文件,具体地,FPGA具有与端侧设备的设备信息所对应的镜像文件。那么,可以理解的是,FPGA与镜像文件之间存在对应关系。
在本申请实施例中,云侧设备中可以存储有不同的FPGA与不同的镜像文件之间的对应关系。例如,该对应关系可以表示为如表4所示:
表4
标识 | 镜像文件 |
FPGA001 | 具有与设备信息1对应的镜像文件 |
FPGA002 | 具有与设备信息2对应的镜像文件 |
FPGA003 | 具有与设备信息3对应的镜像文件 |
FPGA004 | 具有与设备信息4对应的镜像文件 |
由表4可以知道,以FPGA001为例,FPGA001中具有与端侧设备的设备信息1对应的镜像文件。
在实际应用中,当云侧设备接收到端侧设备的请求信息,该请求信息包括调试需求、端侧设备的设备信息1以及对应的人工智能学习任务;其中,该调试需求为功能调试,此时,云侧设备在硬件资源中选择与端侧设备的设备信息1匹配的FPGA001来提供调试服务。可以理解的是,云侧设备基于该对应关系可以在硬件资源中确定与请求信息相匹配的FPGA。
在一种情形下,当云侧设备的硬件资源中不包含有与所述端侧设备的设备信息匹配的FPGA时,所述云侧设备从硬件资源中选出一FPGA,在选出的FPGA上重新烧制所述端侧设备的设备信息对应的镜像文件,并在该FPGA上提供调试服务。
在一种情形下,所述云侧设备的硬件资源中包含人工智能处理器;端侧设备的请求信息包括调试需求和端侧设备的设备信息;所述云侧设备根据端侧设备的请求信息在所述云侧设备的硬件资源中确定与之适配的人工智能处理器,包括:
当所述调试需求为性能调试时,所述云侧设备在硬件资源中选择与所述端侧设备的设备信息匹配的人工智能处理器来提供调试服务。
在本申请实施例中,对云侧设备101来说,一种应用场景是:当硬件资源中包含有端侧设备的人工智能处理器的所有版本的硬件架构信息对应的人工智能处理器。例如:型号与硬件架构信息的版本对应,端侧设备的人工智能处理器的型号有A、B、C等。在云侧设备的硬件资源中,均包含型号为A的人工智能处理器、型号为B的人工智能处理器、型号为C的人工智能处理器。在这种情况下,由于云侧设备的存储器中存储有端侧设备的设备信息与不同型号的人工智能处理器的对应关系,云侧设备可以基于该对应关系确定与请求信息相匹配的人工智能处理器。
这里,云侧设备中存储有端侧设备的设备信息与不同型号的人工智能处理器的对应关系,例如,该对应关系可以表示为如表5所示:
表5
端侧设备的设备信息 | 云侧设备的人工智能处理器型号 |
端侧设备的设备信息A | 人工智能处理器A |
端侧设备的设备信息B | 人工智能处理器B |
端侧设备的设备信息C | 人工智能处理器C |
例如,当云侧设备接收到端侧设备的请求信息,该请求信息包括调试需求、端侧设备的设备信息A以及对应的人工智能学习任务;其中,该调试需求为性能调试,此时,云侧设备在硬件资源中选择与端侧设备的设备信息A匹配的人工智能处理器A来提供调试服务。可以理解的是,云侧设备基于上述对应关系,可以高效的在当前时刻的硬件资源中确定与请求信息相匹配的人工智能处理器。
在本申请实施例中,对云侧设备101来说,另一种应用场景是:当云侧设备的硬件资源中仅包含高配置版本的人工智能处理器。例如,硬件资源中包含型号为A的人工智能处理器(这里,型号为A的人工智能处理器为高配置版本)。在实际应用中,由于型号A的人工智能处理器的硬件架构信息可以兼容型号B的人工智能处理器和型号C的人工智能处理器的硬件架构信息,当云侧设备接收到端侧设备的请求信息,该请求信息包括调试需求和端侧设备的设备信息B;其中,该调试需求为性能调试,此时,云侧设备可以将高配置版本的人工智能处理器A的部分功能砍掉,转换为低配置版本的人工智能处理器或中配置版本的人工智能处理器来满足不同客户的需求,继而可以在该高配置版本的人工智能处理器A上提供调试服务。
在实际应用中,从云侧设备101的硬件资源中选出人工智能处理器来替代端侧设备的人工智能处理器时,将当前启用的端侧设备信息写入驱动程序中,以根据驱动程序中的设备信息从云侧设备的硬件资源中适配人工智能处理器。其中,适配出云侧设备的人工智能处理器的过程包括:
根据端侧设备的人工智能处理器的硬件架构信息筛选出云侧设备的人工智能处理器;其中,筛选出的云侧设备的人工智能处理器的硬件架构信息兼容对应端侧设备的人工智能处理器的硬件架构信息,云侧设备的人工智能处理器的指令集兼容对应端侧设备的人工智能处理器的指令集;
根据端侧设备的人工智能处理器的运行环境参数对筛选出的云侧设备的人工智能处理器进行调频调带。
在一种情形下,所述云侧设备的硬件资源中包含人工智能处理器和通用处理器;端侧设备的请求信息包括调试需求和端侧设备的设备信息;所述云侧设备根据软件开发平台的请求信息在所述云侧设备的硬件资源中确定与之相适配的人工智能处理器,包括:
当所述调试需求为性能调试时,所述云侧设备在硬件资源中选择人工智能处理器和通用处理器来提供调试服务;其中,所述人工智能处理器为与所述端侧设备的设备信息相匹配的硬件。
在本申请实施例中,对云侧设备101来说,云侧设备接收软件开发平台发送的请求信息,这里,请求信息包括调试需求和端侧设备的设备信息,其中,调试需求为精度调试,此时,云侧设备根据端侧设备的设备信息在端侧设备的设备信息与人工智能处理器的对应关系中确定与所述端侧设备的设备信息匹配的人工智能处理器,之后,在配置好的人工智能处理器中执行人工智能学习任务,得到运行结果。
这里,执行人工智能学习任务的过程具体可以描述为:在软件开发平台102上,根据端侧设备的人工智能处理器的设备信息设置人工智能学习库的编译接口对应的软件参数,结合编程框架获得的算法模型,调用已设置好的人工智能学习库的编译接口来编译,获得对应的端侧设备的人工智能处理器的二进制指令。该二进制指令经运行时库处理生成人工智能学习任务。将人工智能学习任务放入任务队列,最终由驱动器调度任务队列中的人工智能学习任务让云侧设备的人工智能处理器执行。之后,云侧设备可以根据适配出的人工智能处理器执行的人工智能学习任务,反馈运行结果至软件开发平台102上。在实际应用中,软件开发平台102可以显示运行结果。
云侧设备基于配置好的人工智能处理器执行人工智能学习任务,得到运行结果之后,云侧设备调用通用处理器再次执行人工智能学习任务,得到通用处理器执行人工智能学习任务的运行结果。
那么,在这种情况下,云侧设备可以对两次运行结果进行比较分析,得出分析结果,并基于分析结果对人工智能学习任务的二进制指令进行调整。在实际应用中,云侧设备可以根据运行结果,软件开发平台102接收用户的操作指令,调整端侧设备的人工智能处理器的硬件架构信息、调整端侧设备的人工智能处理器的运行环境参数、优化人工智能学习任务这三种方式中的至少其中之一,来实现二进制指令的调整。之后,将调整后的二进制指令转换为对应的人工智能学习任务,放入任务队列中,由驱动器调度任务队列中的人工智能学习任务让云侧人工智能处理器执行。直至筛选出的人工智能处理器反馈的运行结果符合预期。
实施本申请实施例,云侧设备可以根据请求信息以及当前时刻下云侧设备的硬件资源为用户选择一种最优的服务。由于可以根据不同的请求信息配置不同的人工智能处理器,继而可以有针对性地在与请求信息匹配的人工智能处理器上执行调试服务,可以提高调试服务的准确性,也可以避免出现调试工作无法实现的情形。
在一种可能的实现方式中,所述云侧设备根据所述端侧设备的请求信息在所述云侧设备的硬件资源中确定相适配的人工智能处理器的步骤进一步包括:当不同的请求信息对应的设备信息相同时,所述云侧设备根据不同的请求信息对应的设备信息从所述硬件资源中选用同一人工智能处理器,根据不同的请求信息对应的调试需求,所述云侧设备基于分时复用的原理、利用虚拟机技术在同一人工智能处理器执行对应的人工智能学习任务。
在本申请实施例中,人工智能处理器的硬件资源的可用能力指的是人工智能处理器的计算能力(例如,人工智能处理器核的数量)和/或存储能力。其中,计算能力与人工智能处理器的硬件架构信息相关,存储能力和人工智能处理器中对应的存储区域的存储性能相关。
应理解,云侧设备还可以根据经验值推断云侧人工智能处理器的硬件资源的可用能力,本申请实施例不作具体限定。
具体实现中,假如:云侧设备收到软件开发平台发送过来2条请求信息,且这2条请求信息对应的端侧设备的设备信息相同。所述云侧设备确定第一条请求信息需要的人工智能处理器核的数量M,如果云侧设备判断出第二条请求信息对应的人工智能学习任务所需要的人工智能处理器核的数量小于等于(N-M),其中,N是执行第一条请求信息对应的人工智能学习任务所调用的人工智能处理器的core的数量。云侧设备根据第二条请求信息对应的设备信息调用执行第一条请求信息对应的人工智能学习任务所调用的人工智能处理器。进一步详述,在实际应用中,如用户A在软件开发平台102上基于M个core构成端侧人工智能处理器生成人工智能学习任务,而适配出的云侧设备的人工智能处理器具有core的总数为N,且N个core中的P个core已经被用户B发起的人工智能学习任务所使用。若满足M+P<=N,且用户A对应的端侧人工智能处理器的设备信息与用户B对应的端侧人工智能处理器的设备信息必须相同,软件开发平台102中的人工智能运行时库对不同用户发起的人工智能学习任务在不同的core上执行不同的人工智能学习任务,达到对云侧人工智能处理器的资源更细粒度的分配。
实施本申请实施例,云侧设备可以基于同一个人工智能处理器提供不同的调试服务,可以提高云侧设备中的资源的利用率,避免云侧设备的资源的闲置浪费。
需要说明的是,在本申请实施例中,云侧设备在确定与请求信息匹配的硬件时,应该保证配置的硬件与请求信息(也即用户需求)兼容,在实际应用中,配置的硬件与服务信息兼容可以包括如下几个方面中的其中之一:
第一,云侧设备设置的硬件资源的人工智能处理器的硬件架构信息与用户需求完全一致;
第二,云侧设备设置的硬件资源的功能是用户需求的超集,例如,人工智能处理器1的计算能力为第一计算能力,人工智能处理器2的计算能力为第二计算能力,这里,第一计算能力大于或等于第二计算能力。当云侧设备的硬件资源中包含人工智能处理器1,而用户需求为需要在人工智能处理器2中执行调试服务,由于人工智能处理器1提供的功能集是人工智能处理器2的超集,此时,云侧设备可以在人工智能处理器1上执行调试服务。
还有,在本申请实施例中,针对云侧设备的硬件资源来说,可以是常规的非可重构体系结构的人工智能处理器,也可以是可重构体系结构的人工智能处理器。对于可重构体系结构的人工智能处理器来说,利用驱动程序中的设备信息去调整可重构型芯片内部的环境运行参数,并根据软件开发平台102发送过来的人工智能学习任务来调用重构型芯片内部对应的功能模块。也就是说,根据实际应用的不同,去调整可重构型芯片内部的功能模块,使得重构后的芯片来替换端侧人工智能处理器。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。
进一步需要说明的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于本申请以上描述的方法,本申请实施例还提供了一种云侧设备60,如图6所示,所述云侧设备60可以包括:
接收单元600,用于云侧设备接收请求信息;其中,所述请求信息是由软件开发平台基于调试需求、端侧设备的设备信息以及对应的人工智能学习任务生成的;
处理单元602,用于所述云侧设备根据所述端侧设备的请求信息在所述云侧设备的硬件资源中确定相适配的人工智能处理器,并在相适配的人工智能处理器上执行所述请求信息对应的人工智能学习任务;其中,所述云侧设备的硬件资源中的人工智能处理器是在当前时刻允许使用的。
在其中一个可能的实现方式中,所述云侧设备60还可以包括:统计单元;其中,
统计单元,用于统计所述请求信息对应的历史配置信息,确定一时间段内对应的所述云侧设备的硬件资源;其中,所述历史配置信息用于反映不同时间段下用户使用云侧设备的硬件资源情况,所述历史配置信息为所述云侧设备根据所述端侧设备的所有请求信息从所述硬件资源中配置与之适配的人工智能处理器的过程中产生的信息。
应该理解,上述的装置实施例仅是示意性的,本披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
在本实施例中,本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述图3所示的硬件资源配置方法。上述装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中,基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机产品存储在计算机可读存储介质中。
上述计算机可读存储介质可以是前述实施例所述的云侧设备的内部存储单元,例如硬盘或内存。上述计算机可读存储介质也可以是上述云侧设备的外部存储设备,例如配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述计算机可读存储介质还可以既包括上述云侧设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述云侧设备所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
由上可见,本申请实施例提供一种硬件资源配置方法、装置、云侧设备和存储介质,不管人工智能处理器是否流片,本技术方案就能够提前实现人工智能算法模型与人工智能处理器之间的调试工作。进一步地,在本申请实施例中,云侧设备可以根据服务信息以及当前时刻下云侧设备的硬件资源中为用户选择一种最优的服务。由于可以根据不同的请求信息配置不同的人工智能处理器,继而可以有针对性地在与服务信息匹配的人工智能处理器上执行调试服务,可以提高调试服务的准确性,也可以避免出现调试工作无法实现的情形。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。
Claims (13)
1.一种硬件资源配置方法,其特征在于,包括:
云侧设备接收请求信息;其中,所述请求信息是由软件开发平台基于调试需求、端侧设备的设备信息以及对应的人工智能学习任务生成的;
所述云侧设备根据所述端侧设备的请求信息在所述云侧设备的硬件资源中确定相适配的人工智能处理器,并在相适配的人工智能处理器上执行所述请求信息对应的人工智能学习任务;其中,所述云侧设备的硬件资源中的人工智能处理器是在当前时刻允许使用的。
2.根据权利要求1所述的方法,其特征在于,所述云侧设备接收端侧设备的请求信息之前,还包括:
统计所述请求信息对应的历史配置信息,确定一时间段内对应的所述云侧设备的硬件资源;其中,所述历史配置信息用于反映不同时间段下用户使用云侧设备的硬件资源情况,所述历史配置信息为所述云侧设备根据所述端侧设备的所有请求信息从所述硬件资源中配置与之适配的人工智能处理器的过程中产生的信息。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述云侧设备的硬件资源中包括人工智能处理器芯片、FPGA、仿真加速器以及模拟器中的至少一种。
4.根据权利要求1所述的方法,其特征在于,所述端侧设备的请求信息包括调试需求、设备信息、请求标识和人工智能学习任务。
5.如权利要求4所述的方法,其特征在于,所述调试需求包括性能调试、功能调试和精度调试。
6.如权利要求4所述的方法,其特征在于,所述设备信息包括端侧设备的人工智能处理器的硬件架构信息和运行环境参数;其中,所述运行环境参数包括所述端侧设备的人工智能处理器的运行主频率、片外存储器到所述端侧设备的人工智能处理器之间的访存带宽、片上存储大小、所述端侧设备的人工智能处理器的核数、所述端侧设备的人工智能处理器的运算器类型中的至少其中之一。
7.根据权利要求4所述的方法,其特征在于,所述云侧设备在所述硬件资源中选择FPGA来提供功能调试服务时,包括:
所述云侧设备在硬件资源中选择与所述端侧设备的设备信息匹配的FPGA来提供调试服务;其中,选择出来的所述FPGA中包含有与所述端侧设备的设备信息所对应的镜像文件。
8.根据权利要求4所述的方法,其特征在于,所述云侧设备在所述硬件资源中选择FPGA来提供功能调试服务时,还包括:
当所述云侧设备的硬件资源中不包含有与所述端侧设备的设备信息匹配的FPGA时,从所述硬件资源中选出FPGA,将所述端侧设备的设备信息对应的镜像文件烧制于选出的FPGA上,并在选出的所述FPGA上提供调试服务;其中,选择出来的所述FPGA为所述硬件资源中任意一个FPGA。
9.根据权利要求1所述的方法,其特征在于,所述云侧设备根据所述端侧设备的请求信息在所述云侧设备的硬件资源中确定相适配的人工智能处理器的步骤包括:
当不同的请求信息对应的设备信息相同时,所述云侧设备根据不同的请求信息对应的设备信息从所述硬件资源中选用同一人工智能处理器,根据不同的请求信息对应的调试需求,所述云侧设备基于分时复用的原理、利用虚拟机技术在同一人工智能处理器执行对应的人工智能学习任务。
10.一种云侧设备,其特征在于,包括:
接收单元,用于接收请求信息;其中,所述请求信息是由软件开发平台基于调试需求、端侧设备的设备信息以及对应的人工智能学习任务生成的;
处理单元,用于根据所述端侧设备的请求信息在所述云侧设备的硬件资源中确定相适配的人工智能处理器,并在相适配的人工智能处理器上执行所述请求信息对应的人工智能学习任务;其中,所述云侧设备的硬件资源中的人工智能处理器是为在当前时刻允许使用的。
11.一种云侧设备,其特征在于,包括通用处理器和存储器,所述通用处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述通用处理器被配置用于调用所述程序指令,执行如权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被通用处理器执行时使所述通用处理器执行如权利要求1-9任一项所述的方法。
13.一种计算机程序,其特征在于,所述计算机程序包括程序指令,所述程序指令当被通用处理器执行时使所述通用处理器执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910998399.XA CN110750312A (zh) | 2019-10-17 | 2019-10-17 | 硬件资源配置方法、装置、云侧设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910998399.XA CN110750312A (zh) | 2019-10-17 | 2019-10-17 | 硬件资源配置方法、装置、云侧设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110750312A true CN110750312A (zh) | 2020-02-04 |
Family
ID=69279019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910998399.XA Pending CN110750312A (zh) | 2019-10-17 | 2019-10-17 | 硬件资源配置方法、装置、云侧设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750312A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112288231A (zh) * | 2020-09-29 | 2021-01-29 | 深圳市商汤科技有限公司 | 配置生成方法、装置、电子设备及存储介质 |
CN113472830A (zh) * | 2020-03-31 | 2021-10-01 | 华为技术有限公司 | 一种通信方法及装置 |
CN113612850A (zh) * | 2021-08-11 | 2021-11-05 | 浙江宇视科技有限公司 | 云平台对接调试方法、装置、电子设备及存储介质 |
CN113746754A (zh) * | 2021-07-29 | 2021-12-03 | 广东浪潮智慧计算技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN114168186A (zh) * | 2021-12-09 | 2022-03-11 | 北京机电工程研究所 | 面向推断部署的嵌入式人工智能实施方法及硬件平台 |
CN117033247A (zh) * | 2023-10-07 | 2023-11-10 | 宜宾邦华智慧科技有限公司 | 一种手机、平板电脑搭载的验证方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375115A (zh) * | 2016-08-30 | 2017-02-01 | 东软集团股份有限公司 | 资源分配方法及装置 |
CN107992351A (zh) * | 2016-10-26 | 2018-05-04 | 阿里巴巴集团控股有限公司 | 一种硬件资源分配方法及装置、电子设备 |
CN108243216A (zh) * | 2016-12-26 | 2018-07-03 | 华为技术有限公司 | 数据处理的方法、端侧设备、云侧设备与端云协同系统 |
CN108919765A (zh) * | 2018-07-20 | 2018-11-30 | 王德权 | 一种基于数字孪生的智能制造工厂虚拟调试和虚拟监控方法及方法 |
CN109496319A (zh) * | 2018-01-15 | 2019-03-19 | 深圳鲲云信息科技有限公司 | 人工智能处理装置硬件优化方法、系统、存储介质、终端 |
CN109639446A (zh) * | 2017-10-09 | 2019-04-16 | 阿里巴巴集团控股有限公司 | Fpga设备、基于fpga设备的云系统 |
CN109857518A (zh) * | 2019-01-08 | 2019-06-07 | 平安科技(深圳)有限公司 | 一种网络资源的分配方法及设备 |
-
2019
- 2019-10-17 CN CN201910998399.XA patent/CN110750312A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375115A (zh) * | 2016-08-30 | 2017-02-01 | 东软集团股份有限公司 | 资源分配方法及装置 |
CN107992351A (zh) * | 2016-10-26 | 2018-05-04 | 阿里巴巴集团控股有限公司 | 一种硬件资源分配方法及装置、电子设备 |
CN108243216A (zh) * | 2016-12-26 | 2018-07-03 | 华为技术有限公司 | 数据处理的方法、端侧设备、云侧设备与端云协同系统 |
CN109639446A (zh) * | 2017-10-09 | 2019-04-16 | 阿里巴巴集团控股有限公司 | Fpga设备、基于fpga设备的云系统 |
CN109496319A (zh) * | 2018-01-15 | 2019-03-19 | 深圳鲲云信息科技有限公司 | 人工智能处理装置硬件优化方法、系统、存储介质、终端 |
CN108919765A (zh) * | 2018-07-20 | 2018-11-30 | 王德权 | 一种基于数字孪生的智能制造工厂虚拟调试和虚拟监控方法及方法 |
CN109857518A (zh) * | 2019-01-08 | 2019-06-07 | 平安科技(深圳)有限公司 | 一种网络资源的分配方法及设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472830A (zh) * | 2020-03-31 | 2021-10-01 | 华为技术有限公司 | 一种通信方法及装置 |
WO2021197144A1 (zh) * | 2020-03-31 | 2021-10-07 | 华为技术有限公司 | 一种通信方法及装置 |
CN113472830B (zh) * | 2020-03-31 | 2023-03-10 | 华为技术有限公司 | 一种通信方法及装置 |
CN112288231A (zh) * | 2020-09-29 | 2021-01-29 | 深圳市商汤科技有限公司 | 配置生成方法、装置、电子设备及存储介质 |
CN112288231B (zh) * | 2020-09-29 | 2022-05-31 | 深圳市商汤科技有限公司 | 人工智能产品的配置生成方法、装置、电子设备及存储介质 |
CN113746754A (zh) * | 2021-07-29 | 2021-12-03 | 广东浪潮智慧计算技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN113746754B (zh) * | 2021-07-29 | 2024-04-23 | 广东浪潮智慧计算技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN113612850A (zh) * | 2021-08-11 | 2021-11-05 | 浙江宇视科技有限公司 | 云平台对接调试方法、装置、电子设备及存储介质 |
CN114168186A (zh) * | 2021-12-09 | 2022-03-11 | 北京机电工程研究所 | 面向推断部署的嵌入式人工智能实施方法及硬件平台 |
CN117033247A (zh) * | 2023-10-07 | 2023-11-10 | 宜宾邦华智慧科技有限公司 | 一种手机、平板电脑搭载的验证方法和系统 |
CN117033247B (zh) * | 2023-10-07 | 2023-12-12 | 宜宾邦华智慧科技有限公司 | 一种手机、平板电脑搭载的验证方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3754496B1 (en) | Data processing method and related products | |
CN110750312A (zh) | 硬件资源配置方法、装置、云侧设备和存储介质 | |
US11847554B2 (en) | Data processing method and related products | |
CN110750359B (zh) | 硬件资源配置方法、装置、云侧设备和存储介质 | |
US8972958B1 (en) | Multistage development workflow for generating a custom instruction set reconfigurable processor | |
US20230153158A1 (en) | Method, apparatus, system, and storage medium for performing eda task | |
US20210158131A1 (en) | Hierarchical partitioning of operators | |
CN115698941A (zh) | 组件的高效打包 | |
CN114691188A (zh) | 兼容性评估方法、装置、设备及存储介质 | |
US10387584B1 (en) | Streaming on hardware-software platforms in model based designs | |
US7478027B2 (en) | Systems, methods, and media for simulation of integrated hardware and software designs | |
US11556342B1 (en) | Configurable delay insertion in compiled instructions | |
CN111830390A (zh) | 一种测试方法及相关产品 | |
CN107436839B (zh) | 进程负载获取方法、电子终端及计算机可读存储介质 | |
CN116661964A (zh) | 任务处理方法、装置及电子设备 | |
US10409624B1 (en) | Data array compaction in an emulation system | |
CN115454592A (zh) | 任务调度方法及装置 | |
Anuradha et al. | Efficient workload characterization technique for heterogeneous processors | |
CN112114931B (zh) | 深度学习程序配置方法、装置、电子设备及存储介质 | |
US11531578B1 (en) | Profiling and debugging for remote neural network execution | |
CN112988383A (zh) | 一种资源分配方法、装置、设备以及存储介质 | |
CN111831539A (zh) | 一种测试方法及相关产品 | |
CN118069374B (zh) | 数据中心智能训练仿真事务加速方法、装置、设备及介质 | |
CN117806883A (zh) | 一种SoC系统极限带宽的测试方法、装置及介质 | |
CN116302947A (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 |