CN110750359B - 硬件资源配置方法、装置、云侧设备和存储介质 - Google Patents

硬件资源配置方法、装置、云侧设备和存储介质 Download PDF

Info

Publication number
CN110750359B
CN110750359B CN201910998532.1A CN201910998532A CN110750359B CN 110750359 B CN110750359 B CN 110750359B CN 201910998532 A CN201910998532 A CN 201910998532A CN 110750359 B CN110750359 B CN 110750359B
Authority
CN
China
Prior art keywords
cloud
artificial intelligence
side equipment
side device
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
Application number
CN201910998532.1A
Other languages
English (en)
Other versions
CN110750359A (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.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp 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 Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN201910998532.1A priority Critical patent/CN110750359B/zh
Publication of CN110750359A publication Critical patent/CN110750359A/zh
Application granted granted Critical
Publication of CN110750359B publication Critical patent/CN110750359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

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。
仿真加速器:在本申请实施例中,仿真加速器可以为基于FPGA的硬件加速器。
模拟器:通俗的说,模拟器是指,用计算机模拟计算机的模拟器。在实际应用中,其表现形式可以为软件,也即主要透过软件模拟硬件处理器的功能和指令系统的程序使计算机或者其他多媒体平台(例如,掌上电脑,手机)能够运行其他平台上的软件。
流片:在集成电路设计领域,流片是指试生产,也即在设计完满足预设功能的集成电路之后,先生产几片或几十片供测试用,如果满足测试需求,则按照当前满足测试需求的集成电路的结构进行大规模生产。
可重构体系结构:如果某一人工智能处理器能够利用可重用的硬件资源,根据不同的应用需求,灵活的改变自身的体系结构,以便为每个特定的应用需求提供与之相匹配的体系结构,那么这一人工智能处理器就称为可重构的计算系统,其体系结构称为可重构的体系结构。
现有技术中,算法应用开发者只有在对应版本硬件实体上完成人工智能算法模型与人工智能处理器之间的适配调试工作。可以理解的是,现有技术的实现方案并不能实现未流片的芯片与算法之间的调试过程,这样就需要专门的时间去完成算法模型与芯片之间的适配工作,因而产品问市的期限就要往后拖延,很容易因时间问题错过占领市场的机会。
基于此,本申请提出一种技术方案,不管是否流片,根据端侧设备的人工智能处理器的设备信息从云侧设备的硬件资源中匹配出合适的人工智能处理器来模拟端侧设备的人工智能处理器,本技术方案中的软件开发平台对客户提供的算法模型经过一系列处理,得到对应的人工智能学习任务,该人工智能学习任务在云侧设备的硬件资源中选择出来的人工智能处理器上运行,得到运行结果。根据运行结果在软件开发平台上对人工智能学习任务进行调整,完成各种调试需求。对于本技术方案来说,不管是否调整人工智能算法模型,通过优化人工智能学习库和/或调整端侧设备的人工智能处理器的设备信息,均可以达到调整人工智能学习任务的目的,实现端侧设备的人工智能处理器与人工智能算法模型之间的适配。
参见图1所示,是本申请实施例提供的一种系统架构图,如图1所示,该系统架构包括:云侧设备101、软件开发平台102、端侧设备103。
具体实现中,软件开发平台102提供了用于应用开发、性能调优、功能调试等一系列工具包。其中,应用开发工具包括人工智能学习库、人工智能运行时库、编译器和特定领域(如视频分析)的软件开发工具。功能调试工具可以满足编程框架、人工智能学习库等不同层次的调试需求;性能调优工具包括性能剖析工具和系统监控工具等。编译器可以包括C++语言的传统编译器,还可以包括基于类C语言的机器学习编译器,也可以基于其他高级语言或者专门设计的领域专用编程语言(Domain Specific Language)的机器学习编译器。
作为一种可选的实现方式,在本申请实施例中,软件开发平台102可以运行在云侧设备101的通用处理器上。也可以运行在本地(host)的计算机设备的处理器上,该本地的计算机设备可以包括通用处理器(如CPU)和显示器等,此处不做具体限定。进一步可选地,上述软件开发平台可以以客户端的形式运行在本地的计算机设备上,或者云端设备上,本申请实施例不作具体限定。
在实际应用中,软件开发平台102维护一份用户记录,该用户记录通过数据块等工具保存,记录内容包括用户个人信息(账户信息等)、用户所需要的服务信息。其中,服务信息包括但不限于调试需求,端侧人工智能处理器的设备信息。该调试需求包括但不限于功能调试和性能调试,还可以包括精度调试。设备信息包括硬件架构信息和运行环境参数。其中,运行环境参数包括但不限于端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器的运算器类型。
具体实现中,云侧设备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用于存储数据以及各种软件程序,例如本申请实施例中根据服务信息实现本申请实施例中资源配置方法的程序等。
可选的,在本申请实施例中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如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所示的云侧设备的结构框图,参见图3,来介绍本申请实施例提供的一种资源配置方法。如图3所示,该方法包括但不限于如下步骤S301-S302:
步骤S301、云侧设备接收请求信息,并统计所述请求信息,获得历史配置信息;其中,所述请求信息是由软件开发平台基于调试需求、端侧设备的设备信息以及对应的人工智能学习任务生成的;所述历史配置信息用于反映不同时间段下用户使用云侧设备的硬件资源情况,所述历史配置信息为所述云侧设备根据所述端侧设备的所有请求信息从云侧设备的硬件资源中配置与之适配的人工智能处理器的过程中产生的信息。
在本技术方案中,软件开发平台102可以以客户端的形式运行在本地的计算机设备上,或者云端设备上。
如图4所示,用户在一台式电脑上登录软件开发平台,在软件开发平台上生成算法模型对应的人工智能学习任务,根据人工智能学习任务在云侧人工智能处理器上运行结果对人工智能学习任务进行调整。
如图5所示,在云端设备101上设置有人工智能软件开发客户端。具体地,云侧设备101是完整的计算机系统,可以包括通用处理器和至少一个人工智能处理器。
在本申请实施例中,请求信息可以包括调试需求,也可以包括端侧设备的设备信息以及对应的人工智能学习任务。这里,调试需求可以包括功能调试、性能调试、精度调试等中的至少其中一种。设备信息包括所述端侧设备103的人工智能处理器的硬件架构信息和运行环境参数。其中,所述运行环境参数包括所述端侧设备103的人工智能处理器的运行主频率、片外存储器到端侧设备103的人工智能处理器之间的访存带宽、片上存储大小、端侧设备103的人工智能处理器的核数、端侧设备103的人工智能处理器的运算器类型中的至少其中之一。
在本申请实施例中,功能调试是指,针对在执行人工智能学习任务时所涉及的算子的功能实现是否达到预期要求,根据预期要求进行调试。例如,功能调试可以包括关于人工智能学习任务时预期功能的验证性调试、关于人工智能学习任务涉及的算子的运算逻辑的正确性调试、关于特定设计规格的尚未流片的人工智能处理器的预期功能调试等等。
在本申请实施例中,性能调试是指,在具体的应用场景下观察到通用处理器和人工智能处理器的行为,便于用户对程序进行性能调优。在实际应用中,性能调试可以包括性能瓶颈分析、IO访存量测试、最大占用内存量测试等等。进一步,在性能调试过程中,可以精确获得用户程序以及部分依赖软件开发平台102中的人工智能学习库中每个函数的执行时间,可以精确获得通用处理器的内存开销和人工智能处理器的内存开销,也可以获取DDR访存带宽等等。
在本申请实施例中,精度调试是指,在执行人工智能学习任务的过程中,将实际运行结果尽可能地趋近于预定结果的调试过程。还有,精度调试也可以算是广义的功能调试的一部分。例如,采用低位宽数据进行训练时,确保低位宽计算的结果有足够的精度,保证训练能收敛。
步骤S302、所述云侧设备根据所述历史配置信息,配置云侧设备的硬件资源;其中,所述硬件资源为模拟所述端侧设备的人工智能处理器的资源集合。
在本申请实施例中,云侧设备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
Figure BDA0002237885530000111
由表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上执行不同的人工智能学习任务,达到对云侧设备的硬件资源更细粒度的分配。
综上,由上述描述可知,采用实时部署的方式,根据软件开发平台发送请求信息,云侧设备对请求信息进行统计,获得历史配置信息,根据历史配置信息动态调整云侧设备101中部署的人工智能处理器资源,达到在用户不感知的情况下,利用分时复用的方法,根据用户使用云侧设备101的硬件资源的时间段,通过配置不同的开发环境,可以将同一云侧人工智能处理器资源分配给不同时间段的人工智能学习任务,减少需要部署的云侧人工智能处理器的开发环境数量。
还有,对于本技术方案来说,软件开发平台102统计一段时间内软件开发平台在各个时间段产生的请求信息,估计得到能够满足用户需求的最小值V,该数字V是云侧设备的硬件资源对应的人工智能处理器的数量配置的最小值。在此基础上添加少量W个冗余的人工智能处理器来进行容错或防止用户量突增的情况,则(V+W)为配置的云侧设备101的硬件资源对应的人工智能处理器的数量。同时,软件开发平台102会定期统计用户量的变化情况,改变云侧设备101中部署的人工智能处理器的数量来满足用户的需求且降低云端开销。
实施本申请实施例,云侧设备可以基于同一个人工智能处理器提供不同的调试服务,可以提高云侧设备中的资源的利用率,避免云侧设备的资源的闲置浪费。
需要说明的是,在本申请实施例中,云侧设备在确定与请求信息匹配的硬件时,应该保证配置的硬件与请求信息(也即用户需求)兼容,在实际应用中,配置的硬件与服务信息兼容可以包括如下几个方面中的其中之一:
第一,云侧设备设置的硬件资源的人工智能处理器的硬件架构信息与用户需求完全一致;
第二,云侧设备设置的硬件资源的功能是用户需求的超集,例如,人工智能处理器1的计算能力为第一计算能力,人工智能处理器2的计算能力为第二计算能力,这里,第一计算能力大于或等于第二计算能力。当云侧设备的硬件资源中包含人工智能处理器1,而用户需求为需要在人工智能处理器2中执行调试服务,由于人工智能处理器1提供的功能集是人工智能处理器2的超集,此时,云侧设备可以在人工智能处理器1上执行调试服务。
还有,在本申请实施例中,针对云侧设备的硬件资源来说,可以是常规的非可重构体系结构的人工智能处理器,也可以是可重构体系结构的人工智能处理器。对于可重构体系结构的人工智能处理器来说,利用驱动程序中的设备信息去调整可重构型芯片内部的环境运行参数,并根据软件开发平台102发送过来的人工智能学习任务来调用重构型芯片内部对应的功能模块。也就是说,根据实际应用的不同,去调整可重构型芯片内部的功能模块,使得重构后的芯片来替换端侧设备的人工智能处理器。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。
进一步需要说明的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于本申请以上描述的方法,本申请实施例还提供了一种云侧设备60,如图6所示,所述云侧设备60可以包括:
统计单元600,用于云侧设备接收请求信息,并统计所述请求信息,获得历史配置信息;其中,所述请求信息是由软件开发平台基于调试需求、端侧设备的设备信息以及对应的人工智能学习任务生成的;所述历史配置信息用于反映不同时间段下用户使用云侧设备的硬件资源情况,所述历史配置信息为所述云侧设备根据所述端侧设备的所有请求信息从云侧设备的硬件资源中配置与之适配的人工智能处理器的过程中产生的信息;
配置单元602,用于所述云侧设备根据所述历史配置信息,配置云侧设备的硬件资源;其中,所述硬件资源为模拟所述端侧设备的人工智能处理器的资源集合。
应该理解,上述的装置实施例仅是示意性的,本披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
在本实施例中,本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述图3所示的硬件资源配置方法。上述装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中,基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机产品存储在计算机可读存储介质中。
上述计算机可读存储介质可以是前述实施例所述的云侧设备的内部存储单元,例如硬盘或内存。上述计算机可读存储介质也可以是上述云侧设备的外部存储设备,例如配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述计算机可读存储介质还可以既包括上述云侧设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述云侧设备所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
由上可见,本申请实施例提供一种硬件资源配置方法、装置、云侧设备和存储介质,不管人工智能处理器是否流片,本技术方案就能够提前实现人工智能算法模型与人工智能处理器之间的调试工作。进一步地,在本申请实施例中,云侧设备可以根据服务信息以及当前时刻下云侧设备的硬件资源为用户选择一种最优的服务。由于可以根据不同的服务信息配置不同的人工智能处理器,继而可以有针对性地在与服务信息匹配的人工智能处理器上执行调试服务,可以提高调试服务的准确性,也可以避免出现调试工作无法实现的情形。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。

Claims (9)

1.一种硬件资源配置方法,其特征在于,包括:
云侧设备接收端侧设备的请求信息,并统计所述端侧设备的请求信息,根据所述端侧设备的请求信息从所述云侧设备的硬件资源中配置与之适配的人工智能处理器,获得历史配置信息;其中,所述请求信息是由软件开发平台基于调试需求、所述端侧设备的设备信息以及对应的人工智能学习任务生成的;所述历史配置信息用于反映不同时间段下用户使用所述云侧设备的硬件资源情况,所述云侧设备的硬件资源是在当前时刻下允许使用的所述云侧设备处设置的人工智能处理器;
所述云侧设备根据当前接收到的所述端侧设备的请求信息和所述历史配置信息,配置所述云侧设备的硬件资源;其中,所述硬件资源为模拟所述端侧设备的人工智能处理器的资源集合。
2.根据权利要求1所述的方法,其特征在于,所述云侧设备根据当前接收到的所述端侧设备的请求信息和所述历史配置信息,配置所述云侧设备的硬件资源的步骤,包括:
所述云侧设备根据当前接收到的所述端侧设备的请求信息和所述历史配置信息确定当前时间段能够满足用户需求的所述云侧设备的硬件资源对应的人工智能处理器的数量的最小值。
3.根据权利要求2所述的方法,其特征在于,所述云侧设备根据当前接收到的所述端侧设备的请求信息和所述历史配置信息,配置所述云侧设备的硬件资源的步骤,还包括:
所述云侧设备根据所述当前时间段能够满足用户需求的所述云侧设备的硬件资源对应的人工智能处理器的数量的最小值和冗余的人工智能处理器确定所述云侧设备的硬件资源的情况。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述云侧设备的硬件资源中包括人工智能处理器芯片、FPGA、仿真加速器以及模拟器中的至少一种。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述请求信息包括调试需求、端侧设备的设备信息、请求标识和人工智能学习任务。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述设备信息包括端侧设备的人工智能处理器的硬件架构信息和运行环境参数;其中,所述运行环境参数包括所述端侧设备的人工智能处理器的运行主频率、片外存储器到所述端侧设备的人工智能处理器之间的访存带宽、片上存储大小、所述端侧设备的人工智能处理器的核数、所述端侧设备的人工智能处理器的运算器类型中的至少其中之一。
7.一种云侧设备,其特征在于,包括:
统计单元,用于接收端侧设备的请求信息,并统计所述端侧设备的请求信息,根据所述端侧设备的请求信息从云侧设备的硬件资源中配置与之适配的人工智能处理器,获得历史配置信息;其中,所述请求信息是由软件开发平台基于调试需求、所述端侧设备的设备信息以及对应的人工智能学习任务生成的;所述历史配置信息用于反映不同时间段下用户使用所述云侧设备的硬件资源情况,所述云侧设备的硬件资源是在当前时刻下允许使用的所述云侧设备处设置的人工智能处理器;
配置单元,用于根据当前接收到的所述端侧设备的请求信息和所述历史配置信息,配置所述云侧设备的硬件资源;其中,所述硬件资源为模拟所述端侧设备的人工智能处理器的资源集合。
8.一种云侧设备,其特征在于,包括通用处理器和存储器,所述通用处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述通用处理器被配置用于调用所述程序指令,执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的方法。
CN201910998532.1A 2019-10-17 2019-10-17 硬件资源配置方法、装置、云侧设备和存储介质 Active CN110750359B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910998532.1A CN110750359B (zh) 2019-10-17 2019-10-17 硬件资源配置方法、装置、云侧设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910998532.1A CN110750359B (zh) 2019-10-17 2019-10-17 硬件资源配置方法、装置、云侧设备和存储介质

Publications (2)

Publication Number Publication Date
CN110750359A CN110750359A (zh) 2020-02-04
CN110750359B true CN110750359B (zh) 2022-07-15

Family

ID=69278977

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910998532.1A Active CN110750359B (zh) 2019-10-17 2019-10-17 硬件资源配置方法、装置、云侧设备和存储介质

Country Status (1)

Country Link
CN (1) CN110750359B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472830B (zh) * 2020-03-31 2023-03-10 华为技术有限公司 一种通信方法及装置
CN111475295B (zh) * 2020-04-03 2024-02-20 上海依图网络科技有限公司 软硬件分层管理方法、装置及计算机可读存储介质
CN113612850A (zh) * 2021-08-11 2021-11-05 浙江宇视科技有限公司 云平台对接调试方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320344A (zh) * 2008-07-07 2008-12-10 中国科学院计算技术研究所 一种多核或众核处理器功能验证设备及方法
CN102541727A (zh) * 2010-12-17 2012-07-04 无锡江南计算技术研究所 一种程序调试方法及系统
CN110147251A (zh) * 2019-01-28 2019-08-20 腾讯科技(深圳)有限公司 用于计算神经网络模型的架构、芯片及计算方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152027B2 (en) * 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US7925491B2 (en) * 2007-06-29 2011-04-12 International Business Machines Corporation Simulation of installation and configuration of distributed software

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320344A (zh) * 2008-07-07 2008-12-10 中国科学院计算技术研究所 一种多核或众核处理器功能验证设备及方法
CN102541727A (zh) * 2010-12-17 2012-07-04 无锡江南计算技术研究所 一种程序调试方法及系统
CN110147251A (zh) * 2019-01-28 2019-08-20 腾讯科技(深圳)有限公司 用于计算神经网络模型的架构、芯片及计算方法

Also Published As

Publication number Publication date
CN110750359A (zh) 2020-02-04

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
CN105808328B (zh) 任务调度的方法、装置和系统
US8819685B2 (en) Method and apparatus for adjusting I/O channel on virtual platform
US20230153158A1 (en) Method, apparatus, system, and storage medium for performing eda task
EP2772854A1 (en) Regulation method and regulation device for i/o channels in virtualization platform
US20210158131A1 (en) Hierarchical partitioning of operators
CN110941934A (zh) 一种fpga原型验证开发板分割仿真系统、方法、介质及终端
US7478027B2 (en) Systems, methods, and media for simulation of integrated hardware and software designs
CN111830390A (zh) 一种测试方法及相关产品
US11556342B1 (en) Configurable delay insertion in compiled instructions
CN107436839B (zh) 进程负载获取方法、电子终端及计算机可读存储介质
CN116661964A (zh) 任务处理方法、装置及电子设备
Fan et al. Sparse-DySta: Sparsity-Aware Dynamic and Static Scheduling for Sparse Multi-DNN Workloads
Afonso et al. Heterogeneous CPU/FPGA reconfigurable computing system for avionic test application
CN112114931B (zh) 深度学习程序配置方法、装置、电子设备及存储介质
US11531578B1 (en) Profiling and debugging for remote neural network execution
CN111831539A (zh) 一种测试方法及相关产品
US10877552B1 (en) Dynamic power reduction through data transfer request limiting
CN111488216B (zh) 一种数据处理的方法、装置及电子设备
CN109800088B (zh) 基于训练的gpu配置管理方法、装置、存储介质和gpu
CN118069374A (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