CN111832737B - 一种数据处理方法及相关产品 - Google Patents

一种数据处理方法及相关产品 Download PDF

Info

Publication number
CN111832737B
CN111832737B CN201910634415.7A CN201910634415A CN111832737B CN 111832737 B CN111832737 B CN 111832737B CN 201910634415 A CN201910634415 A CN 201910634415A CN 111832737 B CN111832737 B CN 111832737B
Authority
CN
China
Prior art keywords
artificial intelligence
processor
learning task
cloud
artificial
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
CN201910634415.7A
Other languages
English (en)
Other versions
CN111832737A (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 CN201910634415.7A priority Critical patent/CN111832737B/zh
Publication of CN111832737A publication Critical patent/CN111832737A/zh
Application granted granted Critical
Publication of CN111832737B publication Critical patent/CN111832737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请实施例公开了一种数据处理方法及相关产品,其中,数据处理方法包括:所述通用处理器根据端侧人工智能处理器的设备信息生成二进制指令,并根据所述二进制指令生成人工智能学习任务;所述通用处理器发送所述人工智能学习任务至云侧人工智能处理器上运行;所述通用处理器接收所述人工智能学习任务对应的运行结果;所述通用处理器根据所述运行结果确定离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。实施本申请,可以提前实现人工智能算法模型与人工智能处理器之间的调试工作。

Description

一种数据处理方法及相关产品
技术领域
本申请涉及人工智能处理器技术领域,尤其涉及一种数据处理方法及相关产品。
背景技术
现有技术中,当人工智能处理器成功流片后,算法应用开发者才能在对应版本的人工智能处理器(硬件实体)上进行开发和测试。
从上述描述可以知道,现有技术中,只有在人工智能处理器流片之后,才能得知开发的人工智能算法在对应版本的人工智能处理器上运行的功能结果和性能结果。那么,如何实现端侧人工智能处理器未流片时算法应用开发者即可展开人工智能算法模型与人工智能处理器之间的调试工作,是急需解决的问题。
发明内容
本申请实施例提供一种数据处理方法及相关产品,不管人工智能处理器是否流片,本技术方案都能够提前实现人工智能算法模型与人工智能处理器之间的调试工作。
为实现上述目的,本申请提出一种数据处理方法,所述方法应用于云侧人工智能处理器上;包括:
接收人工智能学习任务;其中,所述人工智能学习任务是根据端侧人工智能处理器的设备信息生成的二进制指令确定的;
执行所述人工智能学习任务,生成运行结果。
可选地,所述运行结果包括所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
可选地,所述云侧人工智能处理器包括人工智能处理器硬件实体、现场可编程门阵列、模拟器中的至少其中之一。
可选地,所述人工智能处理器硬件实体是可重构体系结构的人工智能处理器。
为实现上述目的,本申请提出一种人工智能处理器,包括:
接收模块,用于接收人工智能学习任务;其中,所述人工智能学习任务是根据端侧人工智能处理器的设备信息生成的二进制指令确定的;
执行模块,用于执行所述人工智能学习任务,生成运行结果。
可选地,所述执行模块生成的运行结果包括所述人工智能学习任务在所述云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
可选地,所述云侧人工智能处理器包括人工智能处理器硬件实体、现场可编程门阵列、模拟器中的至少其中之一。
可选地,所述人工智能处理器硬件实体是可重构体系结构的人工智能处理器。
本技术方案的技术效果为:本技术方案提供一软件开发平台,客户可以在该软件开发平台上完成算法与人工智能处理器之间的功能、性能、精度调试,调试完成后生成的离线运行文件可以在使用兼容架构上的多种SoC芯片上部署,带来的好处是客户无需拿到硬件实体就可提前对算法与人工智能处理器之间功能、性能、精度调试,大大缩短了产品开发周期。并且,无需为每个SoC芯片单独开发或者适配一套开发环境。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1是本技术方案的架构示意图;
图2是人工智能处理器的软件栈结构示意图;
图3是本技术方案的应用场景示意图之一;
图4是本技术方案的应用场景示意图之二;
图5是本申请提出的一种数据处理方法流程图之一;
图6是人工智能学习库支持的多种类型的基本算子的示意图;
图7是本申请提出的一种数据处理方法流程图之二;
图8是本申请提出的一种数据处理方法流程图之三;
图9是本申请提出的一种数据处理方法流程图之四;
图10是本申请提出的一种数据处理装置功能框图;
图11是本申请提出的一种人工智能处理器功能框图之一;
图12是本申请提出的一种人工智能处理器功能框图之二;
图13是本申请提出的一种数据处理系统的结构示意图。
具体实施方式
下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述参考在附图中示出并在以下描述中详述的非限制性示例实施例,更加全面地说明本公开的示例实施例和它们的多种特征及有利细节。应注意的是,图中示出的特征不是必须按照比例绘制。本公开省略了已知材料、组件和工艺技术的描述,从而不使本公开的示例实施例模糊。所给出的示例仅旨在有利于理解本公开示例实施例的实施,以及进一步使本领域技术人员能够实施示例实施例。因而,这些示例不应被理解为对本公开的实施例的范围的限制。
除非另外特别定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。此外,在本公开各个实施例中,相同或类似的参考标号表示相同或类似的构件。
为了便于更好的理解本技术方案,下面先解释本申请实施例所涉及的技术术语:
流片:在集成电路设计领域,流片是指试生产,也即在设计完满足预设功能的集成电路之后,先生产几片或几十片供测试用,如果满足测试需求,则按照当前满足测试需求的集成电路的结构进行大规模生产。
人工智能处理器的软件栈:参见图2,该软件栈结构20包括人工智能应用200、人工智能框架202、人工智能学习库204、人工智能运行时库206以及驱动208。接下来对其进行具体阐述:
人工智能应用200对应不同的应用场景,提供对应的人工智能算法模型。该算法模型可以直接被人工智能框架202的编程接口解析,在其中一个可能的实现方式中,通过人工智能学习库204将人工智能算法模型转换为二进制指令,调用人工智能运行时库206对二进制指令转换为人工智能学习任务,将该人工智能学习任务放在任务队列中,由驱动208调度任务队列中的人工智能学习任务让底层的人工智能处理器执行。在其中另一个可能的实现方式中,也可以直接调用人工智能运行时库206,运行先前已固化生成的离线运行文件,减少软件架构的中间开销,提高运行效率。
二进制指令:是底层的人工智能处理器可以识别的信息。
人工智能处理器:也称之为专用处理器,针对特定应用或者领域的处理器。例如:图形处理器(Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的专用处理器。又例如:神经网络处理器(Neural Processing Unit,缩写:NPU),是一种在人工智能领域的应用中针对矩阵乘法运算的专用处理器,采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。
可重构体系结构:如果某一人工智能处理器能够利用可重用的硬件资源,根据不同的应用需求,灵活的改变自身的体系结构,以便为每个特定的应用需求提供与之相匹配的体系结构,那么这一人工智能处理器就称为可重构的计算系统,其体系结构称为可重构的体系结构。
专用编程语言:基于特定的硬件开发的高级编程语言。例如:Cuda C。
下面结合附图,对本公开实施例提供的一种数据处理方法及相关产品的具体实施方式进行详细说明。
现有技术中,算法应用开发者只有在对应版本硬件实体上完成人工智能算法模型与人工智能处理器之间的适配调试工作。可以理解的是,现有技术的实现方案并不能实现未流片的芯片与算法之间的调试过程,这样就需要专门的时间去完成算法模型与芯片之间的适配工作,因而产品问市的期限就要往后拖延,很容易因时间问题错过占领市场的机会。
基于此,本申请提出一种技术方案,不管是否流片,根据端侧人工智能处理器的设备信息从云侧中匹配出合适的人工智能处理器来模拟端侧人工智能处理器,本技术方案中的软件开发平台对客户提供的算法模型经过一系列处理,得到对应的人工智能学习任务,该人工智能学习任务在云侧人工智能处理器上运行,得到运行结果。根据运行结果在软件开发平台上对人工智能学习任务进行调整,对于本技术方案来说,不管是否调整人工智能算法模型,通过优化人工智能学习库和/或调整端侧人工智能处理器的设备信息,均可以达到调整人工智能学习任务的目的,实现端侧人工智能处理器与人工智能算法模型之间的适配。
参见图1所示,是本技术方案的系统架构图,如图1所示,该系统架构包括:云侧设备101、软件开发平台102、端侧设备103。
具体实现中,软件开发平台102提供了用于应用开发、性能调优、功能调试等一系列工具包。其中,应用开发工具包括人工智能学习库、人工智能运行时库、编译器和特定领域(如视频分析)的软件开发工具。功能调试工具可以满足编程框架、人工智能学习库等不同层次的调试需求;性能调优工具包括性能剖析工具和系统监控工具等。编译器可以包括C++语言的传统编译器,还可以包括基于类C语言的机器学习编译器,也可以基于其他高级语言或者专门设计的领域专用编程语言(Domain Specific Language)的机器学习编译器。可选地,该软件开发平台可以运行在云侧设备101的处理器上运行,也可以运行在本地(host)的计算机设备的处理器上,该本地的计算机设备可以包括通用处理器(如CPU)和显示器等,此处不做具体限定。进一步可选地,上述软件开发平台可以以客户端的形式运行在本地的计算机设备上,或者云端设备上,本申请实施例不作具体限定。如图3所示,该图示意性给出本技术方案的应用场景之一。用户在一台式电脑上登录软件开发平台,在软件开发平台上生成算法模型对应的人工智能学习任务,根据人工智能学习任务在云侧人工智能处理器上运行结果对人工智能学习任务进行调整。如图4所示,该图示意性给出本技术方案的应用场景之二。在云端设备101上设置有人工智能软件开发客户端。具体地,云侧设备是完整的计算机系统,可以包括通用处理器和至少一个人工智能处理器。例如:人工智能处理器可以包括8个集群(cluster),每个cluster中包括4个人工智能处理器核。在实际中,软件开发平台102维护一份用户记录,该用户记录通过数据块等工具保存,记录内容包括用户个人信息(账户信息等)、用户所需要的服务信息。其中,服务信息包括但不限于调试需求,端侧人工智能处理器的设备信息。该调试需求包括但不限于功能调试和性能调试。设备信息包括硬件架构信息和运行环境参数。运行环境参数包括但不限于端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器的运算器类型。
具体实现中,云侧设备101上设置有人工智能处理器,该人工智能处理器称为云侧人工智能处理器。云侧人工智能处理器包括但不限于人工智能处理器芯片、现场可编程门阵列、模拟器。其中,人工智能处理器芯片可以可重构型芯片,也可以是非重构型芯片。云侧设备101是服务器板卡或服务器板卡集群。
具体实现中,端侧设备103上设置有人工智能处理器,该人工智能处理器称为端侧人工智能处理器。端侧设备可以是终端设备,比如:平板电脑、移动电话。端侧设备也可以是边缘端设备,比如:摄像头。需要说明的是,在本申请实施例中,端侧设备103可以是未流片状态的设备,也可以是已流片的设备。
本技术方案的工作原理为:在软件开发平台102上,驱动程序根据端侧人工智能处理器的设备信息从云侧设备101中筛选与端侧设备103相适配的人工智能处理器。筛选出的云侧人工智能处理器的硬件架构信息兼容对应的端侧人工智能处理器的硬件架构信息,且云侧人工智能处理器的指令集兼容对应的端侧人工智能处理器的指令集。这里,云侧人工智能处理器的硬件架构信息兼容对应的端侧人工智能处理器的硬件架构信息可以包括:云侧人工智能处理器的计算能力大于或等于端侧人工智能处理器的计算能力。
在软件开发平台102上,根据端侧人工智能处理器的设备信息设置人工智能学习库的编译接口对应的软件参数,结合编程框架获得的算法模型,调用已设置好的人工智能学习库的编译接口来编译,获得对应的端侧人工智能处理器的二进制指令。该二进制指令经运行时库处理生成人工智能学习任务。将人工智能学习任务放入任务队列,最终由驱动器调度任务队列中的人工智能学习任务让云侧人工智能处理器执行。
根据云侧人工智能处理器执行的人工智能学习任务,反馈运行结果至软件开发平台102上。可选地,软件开发平台102可以显示运行结果。根据运行结果,软件开发平台102接收用户的操作指令,调整所述端侧人工智能处理器的硬件架构信息、调整所述端侧人工智能处理器的运行环境参数、优化人工智能学习任务这三种方式中的至少其中之一,均可实现二进制指令的调整。将调整后的二进制指令转换为对应的人工智能学习任务,放入任务队列中,由驱动器调度任务队列中的人工智能学习任务让云侧人工智能处理器执行。直至云侧人工智能处理器反馈的运行结果符合预期。
在本技术方案中,端侧人工智能处理器的设备信息与人工智能学习库的编译接口的软件参数相对应,该软件参数包含更多信息,比如:Ram size、Cache大小、是否通过Cache缓存等。这些信息关系到生成二进制指令时分配的操作域,因此,在人工智能算法模型不改变的情况下,更改端侧人工智能处理器的设备信息,就可以调整二进制指令,从而调整人工智能学习任务。不管端侧人工智能处理器是否流片,根据端侧人工智能处理器的设备信息从云侧设备101中适配出可以替代端侧人工智能处理器,在云侧人工智能处理器上执行对应的人工智能学习任务。根据运行结果,在该软件开发平台上完成算法模型与人工智能处理器之间的功能、性能、精度调试,调试完成后生成的离线运行文件可以在使用兼容架构上的多种端侧的SoC芯片上部署,带来的好处是客户无需拿到硬件实体就可提前对算法模型与人工智能处理器之间功能、性能、精度调试,大大缩短了产品开发周期。并且,无需为每个端侧的SoC芯片单独开发或者适配一套开发环境。
更进一步地,本技术方案中,云侧人工智能处理器的设备信息对应的当前运行环境参数可以与其实际运行环境参数相同,也可以与其实际运行参数不同。根据云侧人工智能处理器对特定人工智能学习任务的执行结果,确定端侧人工智能处理器的设备信息是否符合预期条件。当端侧人工智能处理器的设备信息不符合预期条件时,可以进一步调整端侧人工智能处理器的设备信息,直至该端侧人工智能处理器的设备信息符合预期条件。因此,对于本技术方案来说,端侧人工智能处理器的架构在设计阶段时,还可以基于应用来评定端侧的SoC芯片设计规格。
基于上述描述,如图5所示,为本申请提出的一种数据处理方法流程图之一。所述方法应用于通用处理器,对应图1中的软件开发平台。正如前文所述,该通用处理器可以是云侧设备101的通用处理器,也可以是本地(host)的计算机设备的通用处理器。包括:
步骤501):所述通用处理器根据端侧人工智能处理器的设备信息生成二进制指令,并根据所述二进制指令生成人工智能学习任务。
在本技术方案中,软件开发平台102中集成了多种编程框架,例如,谷歌张量流图人工智能学习系统TensorFlow、深度学习框架Caffe、Caffe2、MXNet等等。以Caffe为例,Caffe的核心模块有三个,分别是Blobs、Layers和Nets。其中,Blobs用来进行数据存储、数据交互和处理,通过Blobs,统一制定了数据内存的接口。Layers是神经网络的核心,定义了许多层级结构,它将Blobs视为输入输出。Nets是一系列Layers的集合,并且这些层结构通过连接形成一个网图。
对于本步骤来说,根据端侧人工智能处理器的设备信息设置人工智能学习库的编译接口对应的软件参数,结合编程框架获得的算法模型,调用已设置好的人工智能学习库的编译接口来编译,获得对应的端侧人工智能处理器的二进制指令。该二进制指令经运行时库处理生成人工智能学习任务。将人工智能学习任务放入任务队列,最终由驱动器调度任务队列中的人工智能学习任务让云侧人工智能处理器执行。
在实际应用中,人工智能学习库用于在人工智能处理器上加速各种人工智能学习算法。这里,人工智能学习算法包括但不限于深度学习算法,例如,卷积神经网络算法、循环神经网络算法等。具体地,人工智能学习库主要包括以下几个特性:
(1)支持多种类型的基本算子
具体实现中,通过基本算子的组合,可以实现多样的机器学习算法,从而满足通用性、灵活性、可扩展性需求。
具体地,这里所涉及的多种类型的基本算子可以包括:常见的神经网络算子1、矩阵、向量、标量算子2、循环神经网络算子3。参见图6,是本申请实施例提供的一种人工智能学习库支持的多种类型的基本算子的示意图,如图6所示,人工智能学习库支持的多种类型的基本算子包括常见的神经网络算子1包括卷积/反卷积算子11,池化算子12,激活算子13、LRN/批规范化算子14,Softmax算子15,全连接算子16。其中,激活算子13可以包括但不限于ReLU、Sigmoid、Tanh以及其他可以用插值方式实现的算子。矩阵、向量、标量算子2包括矩阵乘算子21、张量加、减算子22、张量逻辑运算算子23、Tensor变换算子24、ROIPooling算子25、Proposal算子26。其中,Tensor变换算子24可以包括但不限于Crop、Reshape、Slice、Concat等;循环神经网络算子3包括LSTM算子31、基本循环神经网络RNN(Recurrent NeuralNetwork,RNN)、循环神经网络RNN算子32、SVDF算子33。在实际应用中,用户还可以根据自身需求自由在人工智能学习库中添加新算子或更改不同版本的人工智能学习库,这里不再详述,会在调试人工智能学习任务时详细描述在软件开发平台上如何基于人工智能学习库优化人工智能学习任务。
(2)支持对基本算子进行融合
具体实现中,融合后的算子在编译期间会采用内存复用、访存优化、指令流水、数据类型优化(例如,针对可以适用的不同的数据类型进行选择)等编译优化手段,从而显著提升融合算子的整体性能。
(3)支持生成离线运行文件
这里,生成离线运行文件可以包含人工智能算法模型中各个计算节点的网络权值以及指令等必要的网络结构信息,指令可以用于表明该计算节点用于执行何种计算功能,其具体可以包括人工智能学习模型中各个计算节点的计算属性以及各个计算节点之间的连接关系等信息。
具体实现中,离线运行文件可以脱离人工智能学习库,基于人工智能运行时库单独运行。在实际应用中,由于离线运行文件脱离了上层软件栈,使得离线运行文件的执行具有更好的性能和通用性。
步骤502):所述通用处理器发送所述人工智能学习任务。
对于本技术方案来说,根据端侧人工智能处理器的设备信息从云侧设备101中适配出可以替代端侧人工智能处理器。那么,在软件开发平台102上生成的人工智能学习任务发送至云侧人工智能处理器上运行。
步骤503):所述通用处理器接收所述人工智能学习任务对应的运行结果。
云侧人工智能处理器在执行人工智能学习任务时,生成运行结果,该运行结果反馈至软件开发平台102上显示。对于本技术方案来说,运行结果可以包括但不限于所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的一种或多种。在本技术方案中,云侧人工智能处理系统包括通用处理器和云侧人工智能处理器。在执行所述人工智能学习任务时,不仅需要获知执行所述人工智能学习任务时占用云侧人工智能处理器的负载信息,还要获知执行过程中占用内存信息以及通用处理器占用率等。运行结果中包含负载信息的原因在于:如果一个人工智能学习任务在通用处理器上所需的资源过多,很有可能在端侧设备上运行时会效果很差或者运行不起来。
步骤504):所述通用处理器根据所述运行结果确定离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。
应该清楚地,离线运行文件包括:离线运行文件版本信息、人工智能处理器版本信息、二进制指令、常数表、输入/输出数据规模、数据布局描述信息和参数信息。具体来说,离线运行文件的版本信息是指离线运行文件的版本信息;人工智能处理器版本信息是指端侧人工智能处理器的硬件架构信息。比如:可以通过芯片架构版本号来表示硬件架构信息,也可以通过功能描述来表示架构信息。数据布局描述信息是指基于硬件特性对输入/输出数据布局及类型等进行预处理;常数表、输入/输出数据规模和参数信息基于开发好的人工智能算法模型确定。其中,参数信息可以为人工智能算法模型中的权值数据。在常数表中,存储有执行二进制指令运算过程中需要使用的数据。
端侧人工智能处理器的设备信息包括所述端侧人工智能处理器的硬件架构信息和运行环境参数。其中,所述运行环境参数包括所述端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小,端侧人工智能处理器的核数以及端侧人工智能处理器的运算器类型中的至少其中之一。
在本技术方案中,若所述运行结果满足预设要求,则根据满足所述预设要求的二进制指令生成对应的离线运行文件。若所述运行结果不满足预设要求,通过功能调试工具和/或性能调优工具执行如下过程中的至少一种优化方式,直至运行结果满足所述预设要求,并根据满足所述预设要求的二进制指令生成对应的离线运行文件;其中,所述优化方式包括:调整所述端侧人工智能处理器的硬件架构信息;调整所述端侧人工智能处理器的运行环境参数;优化人工智能学习任务。
具体来说,云侧人工智能处理器反馈的运行结果若符合预设要求,当前执行人工智能学习任务对应的二进制指令通过离线方式固化成离线运行文件。
云侧人工智能处理器反馈的运行结果若不符合预设要求,调试人工智能学习任务分为两种应用场景。第一种应用场景为:在芯片设计阶段,基于应用,利用本技术方案来评定芯片设计规格。这种情况下,芯片的硬件架构信息和运行环境参数均可以更改。那么,在软件开发平台上,执行包括:调整所述端侧人工智能处理器的硬件架构信息;调整所述端侧人工智能处理器的运行环境参数;优化人工智能学习任务这三种优化方式中的至少一种优化方式,均可相应调整人工智能学习任务对应的二进制指令。每一次调整后,由驱动调度任务队列中调整后的人工智能学习任务,让对应的云侧人工智能处理器执行,获得新的运行结果。如果新的运行结果还是不符合预期,用户可以重复上述步骤,直至运行结果符合预期。最终调试获得的二进制指令通过离线方式固化成离线运行文件。
第二种应用场景为:不管端侧人工智能处理器是否流片,客户基于软件开发平台就可以展开设计开发,实现端侧人工智能处理器与人工智能算法模型之间的适配。这种情况下,在实际中,除非重新购买其他架构版本的芯片使用权,否则,芯片的硬件架构信息不会轻易发生变化。假设芯片的硬件架构信息不发生变化,那么,在软件开发平台上,执行包括:在当前硬件架构信息对应的芯片所支持的运行环境参数范围内调整运行环境参数、优化人工智能学习任务这两种优化方式中的至少一种优化方式,均可相应调整人工智能学习任务对应的二进制指令。每一次调整后,由驱动调度任务队列中调整后的人工智能学习任务,让对应的云侧人工智能处理器执行,获得新的运行结果。如果新的运行结果还是不符合预期,用户可以重复上述步骤,直至运行结果符合预期。最终调试获得的二进制指令通过离线方式固化成离线运行文件。
关键地,为了能够实现离线运行文件即可以运行在云侧人工智能处理器上,也可以运行在端侧人工智能处理器上,且人工智能学习任务在云侧人工智能处理器上执行时生成的运行结果与在端侧人工智能处理器上执行时生成的运行结果完全一致或在一定的允许误差范围之内,在本技术方案中,根据端侧人工智能处理器的设备信息从云侧人工智能处理器集合中筛选出能够替代对应端侧人工智能处理器的人工智能处理器,筛选出的云侧人工智能处理器的硬件架构信息兼容对应端侧人工智能处理器的硬件架构信息,云侧人工智能处理器的指令集兼容对应端侧人工智能处理器的指令集,从而可以实现离线运行文件的无缝迁移。
在本技术方案中,可以在软件开发平台102上预先存储不同类型的端侧人工智能处理器的设备信息。根据实际需要,从预选存储的设备信息中选取目标信息,依据目标信息从云侧设备101中确定替代端侧人工智能处理器的人工智能处理器。对于本技术方案来说,另一种可行的方案是,根据实际需要,每一次调整设备信息时,用户在软件开发平台102设置不同的设备信息,软件开发平台102接收端侧人工智能处理器的设备信息,依据当前接收到的端侧人工智能处理器的设备信息,从云侧设备101中选出云侧人工智能处理器来替代端侧人工智能处理器的人工智能处理器。需要说明的是,上述获取端侧人工智能处理器的设备信息的方式仅仅是例举的部分情况,而不是穷举,本领域技术人员在理解本申请技术方案的精髓的情况下,可能会在本申请技术方案的基础上产生其它的变形或者变换,比如:端侧设备103发送请求信息至软件开发平台102,软件开发平台102对请求信息进行解析,获得端侧人工智能处理器的设备信息。但只要其实现的功能以及达到的技术效果与本申请类似,那么均应当属于本申请的保护范围。
在实际应用中,从云侧设备101中选出云侧人工智能处理来替代端侧人工智能处理器时,将当前启用的端侧设备信息写入驱动程序中,以根据驱动程序中的设备信息适配云侧人工智能处理器。其中,适配云侧人工智能处理器的过程包括:
根据端侧人工智能处理器的硬件架构信息筛选出云侧人工智能处理器;其中,筛选出的云侧人工智能处理器的硬件架构信息兼容对应端侧人工智能处理器的硬件架构信息,云侧人工智能处理器的指令集兼容对应端侧人工智能处理器的指令集;
根据端侧人工智能处理器的运行环境参数对筛选出的云侧人工智能处理器进行调频调带。
另外,针对优化人工智能学习任务来说,可以有四种方式。第一种方式:用户可以在软件开发平台上基于编程语言实现文件编译成动态链接库,在框架中调用该动态链接库。
第二种方式:用户可以在软件开发平台上基于编程语言开发新的算子,结合本地已拥有的人工智能学习库,以得到新的离线运行文件。比如:以proposal算子为例。我们将Faster-R-Cnn中Proposal算子,替换为PluginOp算子,调用专用编程语言编写的proposal_kernel.mlu算子,Cambricon-Caffe框架中的Proposal算子就通过PluginOp替换成了专用编程语言实现的ProposalKernel,从而将专用编程语言与现有的人工智能学习库联系到一起,支持了人工智能学习库中的各种特性及在线、离线、逐层、融合等运行模式。
由第一种方式和第二种方式可知,在框架中已经支持了大量层和算子,一般的模型都可以全部放到云的服务器板卡上运行。但算法更新变化快,个人或组织可能也积累了一些自定义的算子、算法,一来不希望暴露自定义的算法,二来通过底层库直接对实际应用进行支持效率不能满足需求,所以提供了专用编程语言来帮助开发者进行自主的算法开发,满足之前的开发模式中不够灵活的痛点。
第三种方式:用户可以在软件开发平台上从当前本地已拥有人工智能学习库的版本中选择其中之一,并匹配对应的人工智能运行时库,如果当前本地已拥有的人工智能学习库无法满足需求,通过软件开发平台发送请求,以达到升级本地人工智能学习库的版本的目的。软件开发平台运营方根据请求给软件开发平台提供相应的新版本的人工智能学习库以及对应的人工智能运行时库,用户在软件开发平台上选用最新版本的人工智能学习库以及对应的人工智能运行时库,基于最新版本的人工智能学习库获得调试后的二进制指令。
第四种方式:用户可以调整人工智能算法模型来达到优化人工智能学习任务的目的。
在实际应用中,上述四种优化人工智能学习任务的方式中采用至少其中一种方式均达到优化人工智能学习任务的目的。不管是否调整人工智能算法模型,通过优化人工智能学习库和/或调整端侧人工智能处理器的设备信息,均可以达到调整人工智能学习任务的目的,实现端侧人工智能处理器与人工智能算法模型之间的适配。
图5所示的方案提供一软件开发平台,客户可以在该软件开发平台上完成算法与人工智能处理器之间的功能、性能、精度调试,调试完成后生成的离线运行文件可以在使用兼容架构上的多种端侧的SoC芯片上部署,带来的好处是客户无需拿到硬件实体就可提前对算法与人工智能处理器之间功能、性能、精度调试,大大缩短了产品开发周期。并且,无需为每个端侧的SoC芯片单独开发或者适配一套开发环境。
如图7所示,为本申请提供的一种数据处理方法流程图之二。所述方法应用于云侧人工智能处理器上;包括:
步骤701):接收人工智能学习任务;其中,所述人工智能学习任务是根据端侧人工智能处理器的设备信息生成的二进制指令确定的;
步骤702):执行所述人工智能学习任务,生成运行结果。
在本步骤中,所述运行结果包括所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
需要强调的是,图5所示的所有相关技术方案内容均适用于图7所示的技术方案,这里不再赘述。
这里需要明确的是,对云侧设备101来说,一种应用场景是:在云侧人工智能处理器集合中,尽可能涵盖端侧人工智能处理器的所有版本的硬件架构信息。例如:型号与硬件架构信息的版本对应,端侧人工智能处理器的型号有A、B、C等。在云侧人工智能处理器集合中,均包含型号为A的人工智能处理器、型号为B的人工智能处理器、型号为C的人工智能处理器。另一种应用场景是:在云侧人工智能处理器集合中,人工智能处理器均具有高配置版本的硬件架构信息。例如:针对不同的应用场景和实际需求,将高配置版本的人工智能处理器的部分功能砍掉,转换为低配置版本的人工智能处理器或中配置版本的人工智能处理器来满足不同客户的需求。这种情况下,本技术方案中的软件开发平台102在生成二进制指令时是基于端侧人工智能处理器的设备信息,并且,通过驱动程序更改筛选出的云侧人工智能处理器所支持的不同的运行环境参数,使得高配置版本的人工智能处理器中的部分功能被屏蔽,仅仅在实现的功能上与对应的端侧人工智能处理器的功能相适配。因此,高配置版本的人工智能处理器的运行环境参数的取值范围包含端侧人工智能处理器所支持的所有运行环境参数。比如:云侧人工智能处理器的片上内存大小为100M,端侧人工智能处理器的片上内存大小为小于100M的某个值均可。
进一步地,利用分时复用的方法,通过虚拟机技术,根据用户使用云侧设备101的人工智能处理器的资源的时间段,合理分配云侧设备101的人工智能处理器,可以将资源分配给不同时间段的人工智能学习任务,减少需要部署的云侧人工智能处理器的开发环境数量。
更进一步地,在云侧设备101的人工智能处理器集合中,并不一定必须都是芯片实体,可以是FPGA。参考现代IC设计验证的技术主流,以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上。对于本技术方案来说,若在云侧人工智能处理器中不存在适配的芯片实体,可以使用FPGA来为用户提供服务。根据端侧人工智能处理器的设备信息筛选出符合需求的FPGA,该FPGA具有与端侧人工智能处理器的硬件架构信息所对应的镜像文件。若不存在符合需求的FPGA,软件开发平台102可以将端侧人工智能处理器的硬件架构信息对应的镜像文件烧录至一空闲的FPGA上,该FPGA去执行软件开发平台发送过来的人工智能学习任务。
对于云侧人工智能处理器来说,可以提供更细粒度的资源配置。如用户A在软件开发平台102上基于M个core构成端侧人工智能处理器生成人工智能学习任务,而适配出的云侧人工智能处理器具有core的总数为N,且N个core中的P个core已经被用户B发起的人工智能学习任务所使用。若满足M+P<=N,且用户A对应的端侧人工智能处理器的设备信息与用户B对应的端侧人工智能处理器的设备信息必须相同,软件开发平台102中的人工智能运行时库对不同用户发起的人工智能学习任务在不同的core上执行不同的人工智能学习任务,达到对云侧人工智能处理器的资源更细粒度的分配。
还有,针对云侧人工智能处理器来说,可以是常规的非可重构体系结构的人工智能处理器,也可以是可重构体系结构的人工智能处理器。对于可重构体系结构的人工智能处理器来说,利用驱动程序中的设备信息去调整可重构型芯片内部的环境运行参数,并根据软件开发平台102发送过来的人工智能学习任务来调用重构型芯片内部对应的功能模块。也就是说,根据实际应用的不同,去调整可重构型芯片内部的功能模块,使得重构后的芯片来替换端侧人工智能处理器。
基于上述关于云端人工智能处理器的描述,对于本技术方案来说,软件开发平台102统计一段时间内各个时间段使用不同硬件架构信息的云侧人工智能处理器的用户量,估计得到能够满足用户需求的最小值V,该数字V是云侧人工智能处理器的数量配置的最小值。在此基础上添加少量W个冗余的人工智能处理器来进行容错或防止用户量突增的情况,则(V+W)为云侧设备101需要配置的人工智能处理器的数量。同时,软件开发平台102会定期统计用户量的变化情况,改变云侧设备101中部署的人工智能处理器的数量来满足用户的需求且降低云端开销。
综上,由上述描述可知,采用实时部署的方式,根据软件开发平台发送过来的人工智能学习任务,动态调整云侧设备101中部署的人工智能处理器资源,达到在用户不感知的情况下,同一云侧人工智能处理器资源,利用分时复用的方法,根据用户使用云侧设备101的人工智能处理器的资源的时间段,通过配置不同的开发环境,可以将资源分配给不同时间段的人工智能学习任务,减少需要部署的云侧人工智能处理器的开发环境数量。
如图8所示,为本申请提出的一种数据处理方法流程图之三。所述方法应用于端侧人工智能处理器上;包括:
步骤801):读取离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令确定。
需要强调的是,图5、图7所示的所有相关技术方案内容均适用于图8所示的技术方案,这里不再赘述。
针对端侧人工智能处理器生成的人工智能学习任务,在软件开发平台102上根据云侧人工智能处理器反馈的运行结果对人工智能学习任务进行优化调试,在运行结果达到预期要求后,调试后的人工智能学习任务的二进制指令经固化处理转换为离线运行文件,实现之前的调试和性能成果的固化。之后需要编写离线的应用程序,脱离编程框架保证实际应用场景下精度正常,就可以交叉编译到端侧设备103上进行实地部署了。
如图9所示,为本申请提出的一种数据处理流程图之四。所述系统包括通用处理器和云侧人工智能处理器;包括:
步骤a:所述通用处理器根据端侧人工智能处理器的设备信息生成二进制指令,并根据所述二进制指令生成人工智能学习任务;将所述人工智能学习任务发送至云侧人工智能处理器上运行;
步骤b:所述云侧人工智能处理器接收人工智能学习任务,执行所述人工智能学习任务,生成运行结果;
步骤c:所述通用处理器接收所述人工智能学习任务对应的运行结果,根据所述运行结果确定离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。
需要强调的是,图5、图7所示的所有相关技术方案内容均适用于图9所示的技术方案,这里不再赘述。
如图10所示,为一种数据处理装置功能框图之一。所述装置包括:存储器及通用处理器,所述存储器上存储有可在所述通用处理器上运行的计算机程序,所述通用处理器执行所述计算机程序时实现数据处理流程包括:
根据端侧人工智能处理器的设备信息生成二进制指令,并根据所述二进制指令生成人工智能学习任务;
发送所述人工智能学习任务至云侧人工智能处理器上运行;
接收所述人工智能学习任务对应的运行结果;
根据所述运行结果确定离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。
可选地,所述设备信息包括所述端侧人工智能处理器的硬件架构信息和运行环境参数。
可选地,所述运行环境参数包括所述端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器中的运算器类型中的至少其中之一。
可选地,所述通用处理器执行所述计算机程序时实现数据处理流程还包括:
接收所述端侧人工智能处理器的设备信息。
可选地,所述通用处理器执行所述计算机程序时实现数据处理流程还包括:
将设备信息写入驱动程序中,以根据所述驱动程序中的设备信息适配云侧人工智能处理器。
可选地,所述通用处理器根据所述运行结果确定所述离线运行文件时执行所述计算机程序时实现数据处理流程包括:
若所述运行结果满足预设要求,则根据满足所述预设要求的二进制指令生成对应的离线运行文件。
可选地,所述通用处理器根据所述运行结果确定所述离线运行文件时执行所述计算机程序时实现数据处理流程还包括:
若所述运行结果不满足预设要求,执行如下过程中的至少一种优化方式,直至运行结果满足所述预设要求,并根据满足所述预设要求的二进制指令生成对应的离线运行文件;其中,所述优化方式包括:
调整所述端侧人工智能处理器的硬件架构信息;
调整所述端侧人工智能处理器的运行环境参数;
或优化人工智能学习任务。
可选地,所述通用处理器优化人工智能学习任务时实现数据处理流程包括:
通过专用编程语言来优化人工智能学习任务。
可选地,所述通用处理器优化人工智能学习任务时实现数据处理流程还包括:
更新人工智能学习库的版本来优化人工智能学习任务。
可选地,所述通用处理器优化人工智能学习任务时实现数据处理流程还包括:
调整人工智能算法模型。
可选地,所述运行结果包括所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧的人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
其存储器和通用处理器实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。
在本实施方式中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如RAM、ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。
在本实施方式中,所述通用处理器可以按任何适当的方式实现。例如,所述通用处理器可以采取例如微处理器或通用处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
如图11所示,为一种人工智能处理器功能框图之一。包括:
接收模块1101,用于接收人工智能学习任务;其中,所述人工智能学习任务是根据端侧人工智能处理器的设备信息生成的二进制指令确定的;
执行模块1102,用于执行所述人工智能学习任务,生成运行结果。
可选地,所述执行模块生成的运行结果包括所述人工智能学习任务在所述云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
可选地,所述云侧人工智能处理器包括人工智能处理器硬件实体、现场可编程门阵列、模拟器中的至少其中之一。
可选地,所述人工智能处理器硬件实体是可重构体系结构的人工智能处理器。
如图12所示,为一种人工智能处理器功能框图之二。包括:
获取模块1201,用于获取离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令确定的。
可选地,还包括:
发送模块,用于发送请求信息,其中,所述请求信息包括所述端侧人工智能处理器的设备信息。
可选地,所述设备信息包括所述端侧人工智能处理器的硬件架构信息和运行环境参数。
可选地,所述运行环境参数包括所述端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器的运算器类型中的至少其中之一。
如图13所示,为一种数据处理系统。包括:通用处理器1310和云侧人工智能处理器1320。可以理解的是,在本实施例中,关于通用处理器1310以及云侧人工智能处理器1320的具体实现请参考前述描述,此处不多加赘述。
在本实施例中,本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述图5、图7、图8、图9所示的数据处理方法。
由上可见,本申请实施例提供一种数据处理方法及相关产品,不管人工智能处理器是否流片,本技术方案就能够提前实现人工智能算法模型与人工智能处理器之间的调试工作。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端和服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端和服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端和服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对客户端和服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
A1.一种数据处理方法,所述方法应用于数据处理系统,所述数据系统包括通用处理器和云侧人工智能处理器;其中,
所述通用处理器根据端侧人工智能处理器的设备信息生成二进制指令,并根据所述二进制指令生成人工智能学习任务;将所述人工智能学习任务发送至云侧人工智能处理器上运行;
所述云侧人工智能处理器接收人工智能学习任务,执行所述人工智能学习任务,生成运行结果;
所述通用处理器接收所述人工智能学习任务对应的运行结果,根据所述运行结果确定离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。
A2.根据A1所述的方法,所述设备信息包括所述端侧人工智能处理器的硬件架构信息和运行环境参数。
A3.根据A2所述的方法,所述运行环境参数包括所述端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器的运算器类型中的至少其中之一。
A4.根据A1所述的方法,还包括:
所述通用处理器接收所述端侧人工智能处理器的设备信息。
A5.根据A4所述的方法,还包括:
所述通用处理器将设备信息写入驱动程序中,以根据所述驱动程序中的设备信息适配云侧人工智能处理器。
A6.根据A1所述的方法,所述根据所述运行结果确定所述离线运行文件,包括:
若所述运行结果满足预设要求,则根据满足所述预设要求的二进制指令生成对应的离线运行文件。
A7.根据A1所述的方法,所述根据所述运行结果确定所述离线运行文件,还包括:
若所述运行结果不满足预设要求,执行如下过程中的至少一种优化方式,直至运行结果满足所述预设要求,并根据满足所述预设要求的二进制指令生成对应的离线运行文件;其中,所述优化方式包括:
调整所述端侧人工智能处理器的硬件架构信息;
调整所述端侧人工智能处理器的运行环境参数;
或优化人工智能学习任务。
A8.根据A7所述的方法,所述优化人工智能学习任务的步骤包括:
通过专用编程语言来优化人工智能学习任务。
A9.根据A7或A8所述的方法,所述优化人工智能学习任务的步骤还包括:
更新人工智能学习库的版本来优化人工智能学习任务。
A10.根据A7-A9任一项所述的方法,所述优化人工智能学习任务的步骤还包括:
调整人工智能算法模型。
A11.根据权利要求A1-A10任一项所述的方法,所述运行结果包括所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
A12.根据A1所述的方法,所述云侧人工智能处理器包括人工智能处理器硬件实体、现场可编程门阵列、模拟器中至少其中之一。
A13.根据A12所述的方法,所述人工智能处理器硬件实体是可重构体系结构的人工智能处理器。
B14.一种数据处理装置,所述装置包括:存储器、通用处理器以及云侧人工智能处理器;所述存储器上存储有可在所述通用处理器和/或所述云侧人工智能处理器上运行的计算机程序,其中,
所述通用处理器,用于根据端侧人工智能处理器的设备信息生成二进制指令,并根据所述二进制指令生成人工智能学习任务;将所述人工智能学习任务发送至云侧人工智能处理器上运行;
所述云侧人工智能处理器,用于接收人工智能学习任务,执行所述人工智能学习任务,生成运行结果;
所述通用处理器,还用于接收所述人工智能学习任务对应的运行结果,根据所述运行结果确定离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。
B15.根据B14所述的装置,所述设备信息包括所述端侧人工智能处理器的硬件架构信息和运行环境参数。
B16.根据B15所述的装置,所述运行环境参数包括所述端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器的运算器类型中的至少其中之一。
B17.根据B14所述的装置,所述通用处理器,还用于:
接收所述端侧人工智能处理器的设备信息。
B18.根据B17所述的装置,所述通用处理器,还用于:
将设备信息写入驱动程序中,以根据所述驱动程序中的设备信息适配云侧人工智能处理器。
B19.根据B14所述的装置,所述通用处理器,还用于根据所述运行结果确定所述离线运行文件,包括:
若所述运行结果满足预设要求,则根据满足所述预设要求的二进制指令生成对应的离线运行文件。
B20.根据B14所述的装置,所述通用处理器,还用于根据所述运行结果确定所述离线运行文件,包括:
若所述运行结果不满足预设要求,执行如下过程中的至少一种优化方式,直至运行结果满足所述预设要求,并根据满足所述预设要求的二进制指令生成对应的离线运行文件;其中,所述优化方式包括:
调整所述端侧人工智能处理器的硬件架构信息;
调整所述端侧人工智能处理器的运行环境参数;
或优化人工智能学习任务。
B21.根据B20所述的装置,所述优化人工智能学习任务的步骤包括:
通过专用编程语言来优化人工智能学习任务。
B22.根据B20或B21所述的装置,所述优化人工智能学习任务的步骤还包括:
更新人工智能学习库的版本来优化人工智能学习任务。
B23.根据B20-B22任一项所述的装置,所述优化人工智能学习任务的步骤还包括:
调整人工智能算法模型。
B24.根据B14-B23任一项所述的装置,所述运行结果包括所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
B25.根据B14所述的装置,所述云侧人工智能处理器包括人工智能处理器硬件实体、现场可编程门阵列、模拟器中的至少其中之一。
B26.根据B25所述的装置,所述人工智能处理器硬件实体是可重构体系结构的人工智能处理器。
C1.一种数据处理方法,所述方法应用于通用处理器,包括:
所述通用处理器根据端侧人工智能处理器的设备信息生成二进制指令,并根据所述二进制指令生成人工智能学习任务;
所述通用处理器发送所述人工智能学习任务至云侧人工智能处理器上运行;
所述通用处理器接收所述人工智能学习任务对应的运行结果;
所述通用处理器根据所述运行结果确定离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。
C2.根据C1所述的方法,所述设备信息包括所述端侧人工智能处理器的硬件架构信息和运行环境参数。
C3.根据C2所述的方法,所述运行环境参数包括所述端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器的运算器类型中的至少其中之一。
C4.根据C1所述的方法,还包括:
所述通用处理器接收所述端侧人工智能处理器的设备信息。
C5.根据C4所述的方法,还包括:
所述通用处理器将设备信息写入驱动程序中,以根据所述驱动程序中的设备信息适配云侧人工智能处理器。
C6.根据C1所述的方法,所述根据所述运行结果确定所述离线运行文件,包括:
若所述运行结果满足预设要求,则根据满足所述预设要求的二进制指令生成对应的离线运行文件。
C7.根据C1所述的方法,所述根据所述运行结果确定所述离线运行文件,还包括:
若所述运行结果不满足预设要求,执行如下过程中的至少一种优化方式,直至运行结果满足所述预设要求,并根据满足所述预设要求的二进制指令生成对应的离线运行文件;其中,所述优化方式包括:
调整所述端侧人工智能处理器的硬件架构信息;
调整所述端侧人工智能处理器的运行环境参数;
或优化人工智能学习任务。
C8.根据C7所述的方法,所述优化人工智能学习任务的步骤包括:
通过专用编程语言来优化人工智能学习任务。
C9.根据C7或C8所述的方法,所述优化人工智能学习任务的步骤还包括:
更新人工智能学习库的版本来优化人工智能学习任务。
C10.根据C7-C9任一项所述的方法,所述优化人工智能学习任务的步骤还包括:
调整人工智能算法模型。
C11.根据C1-C10任一项所述的方法,所述运行结果包括所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
D12.一种数据处理装置,所述装置包括:存储器及通用处理器,所述存储器上存储有可在所述通用处理器上运行的计算机程序,所述通用处理器执行所述计算机程序时实现数据处理流程包括:
根据端侧人工智能处理器的设备信息生成二进制指令,并根据所述二进制指令生成人工智能学习任务;
发送所述人工智能学习任务至云侧人工智能处理器上运行;
接收所述人工智能学习任务对应的运行结果;
根据所述运行结果确定离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。
D13.根据D12所述的装置,所述设备信息包括所述端侧人工智能处理器的硬件架构信息和运行环境参数。
D14.根据D13所述的装置,所述运行环境参数包括所述端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器中的运算器类型中的至少其中之一。
D15.根据D12所述的装置,所述通用处理器执行所述计算机程序时实现数据处理流程还包括:
接收所述端侧人工智能处理器的设备信息。
D16.根据D12或D15所述的装置,所述通用处理器执行所述计算机程序时实现数据处理流程还包括:
将设备信息写入驱动程序中,以根据所述驱动程序中的设备信息适配云侧人工智能处理器。
D17.根据D12所述的装置,所述通用处理器根据所述运行结果确定所述离线运行文件时执行所述计算机程序时实现数据处理流程包括:
若所述运行结果满足预设要求,则根据满足所述预设要求的二进制指令生成对应的离线运行文件。
D18.根据D12所述的装置,所述通用处理器根据所述运行结果确定所述离线运行文件时执行所述计算机程序时实现数据处理流程还包括:
若所述运行结果不满足预设要求,执行如下过程中的至少一种优化方式,直至运行结果满足所述预设要求,并根据满足所述预设要求的二进制指令生成对应的离线运行文件;其中,所述优化方式包括:
调整所述端侧人工智能处理器的硬件架构信息;
调整所述端侧人工智能处理器的运行环境参数;
或优化人工智能学习任务。
D19.根据D18所述的装置,所述通用处理器优化人工智能学习任务时实现数据处理流程包括:
通过专用编程语言来优化人工智能学习任务。
D20.根据D18或D19所述的装置,所述通用处理器优化人工智能学习任务时实现数据处理流程还包括:
更新人工智能学习库的版本来优化人工智能学习任务。
D21.根据D18-D20任一项所述的装置,所述通用处理器优化人工智能学习任务时实现数据处理流程还包括:
调整人工智能算法模型。
D22.根据权利要求D12-D21任一项所述的装置,所述运行结果包括所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧的人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
E23.一种数据处理方法,所述方法应用于云侧人工智能处理器上;包括:
接收人工智能学习任务;其中,所述人工智能学习任务是根据端侧人工智能处理器的设备信息生成的二进制指令确定的;
执行所述人工智能学习任务,生成运行结果。
E24.根据E23所述的方法,所述运行结果包括所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
E25.根据E23所述的方法,所述云侧人工智能处理器包括人工智能处理器硬件实体、现场可编程门阵列、模拟器中的至少其中之一。
E26.根据E25所述的方法,所述云侧人工智能处理器硬件实体是可重构体系结构的人工智能处理器。
F27.一种人工智能处理器,包括:
接收模块,用于接收人工智能学习任务;其中,所述人工智能学习任务是根据端侧人工智能处理器的设备信息生成的二进制指令确定的;
执行模块,用于执行所述人工智能学习任务,生成运行结果。
F28.根据F27所述的人工智能处理器,所述执行模块生成的运行结果包括所述人工智能学习任务在所述云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一。
F29.根据F27所述的人工智能处理器,所述云侧人工智能处理器包括人工智能处理器硬件实体、现场可编程门阵列、模拟器种的至少其中之一。
F30.根据F29所述的人工智能处理器,所述云侧人工智能处理器硬件实体是可重构体系结构的人工智能处理器。
G31.一种数据处理方法,所述方法应用于端侧人工智能处理器上;包括:
获取离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。
G32.根据G31所述的方法,所述方法还包括:
发送请求信息;其中,所述请求信息包括所述端侧人工智能处理器的设备信息。
G33.根据G31所述的方法,所述设备信息包括所述端侧人工智能处理器的硬件架构信息和运行环境参数。
G34.根据G33所述的方法,所述运行环境参数包括所述端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器中的运算器的类型中的至少其中之一。
H35.一种人工智能处理器,包括:
获取模块,用于获取离线运行文件;其中,所述离线运行文件是根据运行结果满足预设要求时对应的所述端侧人工智能处理器的设备信息和二进制指令生成的。
H36.根据H35所述的人工智能处理器,还包括:
发送模块,用于发送请求信息,其中,所述请求信息包括所述端侧人工智能处理器的设备信息。
H37.根据H36所述的人工智能处理器,所述设备信息包括所述端侧人工智能处理器的硬件架构信息和运行环境参数。
H38.根据H37所述的人工智能处理器,所述运行环境参数包括所述端侧人工智能处理器的运行主频率、片外存储器到端侧人工智能处理器之间的访存带宽、片上存储大小、端侧人工智能处理器的核数、端侧人工智能处理器中的运算器的类型中的至少其中之一。

Claims (7)

1.一种数据处理方法,其特征在于,所述方法应用于云侧人工智能处理器上;包括:
接收人工智能学习任务;其中,所述人工智能学习任务是根据端侧人工智能处理器的设备信息生成的二进制指令确定的;
执行所述人工智能学习任务,生成运行结果;
所述运行结果包括所述人工智能学习任务在云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一;所述运行结果用于调整端侧人工智能处理器的设备信息。
2.根据权利要求1所述的方法,其特征在于,所述云侧人工智能处理器包括人工智能处理器硬件实体、现场可编程门阵列、模拟器中的至少其中之一。
3.根据权利要求2所述的方法,其特征在于,所述人工智能处理器硬件实体是可重构体系结构的人工智能处理器。
4.一种云侧人工智能处理器,其特征在于,包括:
接收模块,用于接收人工智能学习任务;其中,所述人工智能学习任务是根据端侧人工智能处理器的设备信息生成的二进制指令确定的;
执行模块,用于执行所述人工智能学习任务,生成运行结果;
所述执行模块生成的运行结果包括所述人工智能学习任务在所述云侧人工智能处理器上的运行时间、执行所述人工智能学习任务时占用云侧人工智能处理系统的负载信息、执行人工智能学习任务的结果是否符合预期要求中的至少其中之一;所述运行结果用于调整端侧人工智能处理器的设备信息。
5.根据权利要求4所述的人工智能处理器,其特征在于,所述云侧人工智能处理器包括人工智能处理器芯片、现场可编程门阵列、模拟器中的至少其中之一。
6.根据权利要求5所述的人工智能处理器,其特征在于,所述人工智能处理器硬件实体是可重构体系结构的人工智能处理器。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于云侧人工智能处理器执行的程序代码,所述程序代码包括如权利要求1-3任一项所述的数据处理方法。
CN201910634415.7A 2019-04-18 2019-05-23 一种数据处理方法及相关产品 Active CN111832737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910634415.7A CN111832737B (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201910315962 2019-04-18
CN2019103159629 2019-04-18
CN201910436801.5A CN111831543A (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品
CN201910634415.7A CN111832737B (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910436801.5A Division CN111831543A (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品

Publications (2)

Publication Number Publication Date
CN111832737A CN111832737A (zh) 2020-10-27
CN111832737B true CN111832737B (zh) 2024-01-09

Family

ID=70878367

Family Applications (6)

Application Number Title Priority Date Filing Date
CN201910634415.7A Active CN111832737B (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品
CN201910634539.5A Active CN111832739B (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品
CN201910634441.XA Active CN111832738B (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品
CN201910436801.5A Pending CN111831543A (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品
CN202010120608.3A Active CN111242321B (zh) 2019-04-18 2020-02-26 一种数据处理方法及相关产品
CN202010120441.0A Active CN111626430B (zh) 2019-04-18 2020-02-26 一种数据处理方法及相关产品

Family Applications After (5)

Application Number Title Priority Date Filing Date
CN201910634539.5A Active CN111832739B (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品
CN201910634441.XA Active CN111832738B (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品
CN201910436801.5A Pending CN111831543A (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品
CN202010120608.3A Active CN111242321B (zh) 2019-04-18 2020-02-26 一种数据处理方法及相关产品
CN202010120441.0A Active CN111626430B (zh) 2019-04-18 2020-02-26 一种数据处理方法及相关产品

Country Status (8)

Country Link
US (1) US11762690B2 (zh)
EP (4) EP3754495B1 (zh)
JP (4) JP7044808B2 (zh)
KR (4) KR102323378B1 (zh)
CN (6) CN111832737B (zh)
AU (4) AU2019283890B2 (zh)
CA (1) CA3065651A1 (zh)
WO (1) WO2020211205A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
EP3651075B1 (en) 2018-02-13 2021-10-27 Shanghai Cambricon Information Technology Co., Ltd Computation device and method
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11663002B2 (en) 2018-02-13 2023-05-30 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
CN116991226A (zh) 2018-02-14 2023-11-03 上海寒武纪信息科技有限公司 处理器的控制装置、方法及设备
EP3624020A4 (en) 2018-05-18 2021-05-05 Shanghai Cambricon Information Technology Co., Ltd CALCULATION PROCEDURES AND RELATED PRODUCTS
WO2020001438A1 (zh) 2018-06-27 2020-01-02 上海寒武纪信息科技有限公司 片上代码断点调试方法、片上处理器及芯片断点调试系统
WO2020062392A1 (zh) 2018-09-28 2020-04-02 上海寒武纪信息科技有限公司 信号处理装置、信号处理方法及相关产品
CN111385462A (zh) 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 信号处理装置、信号处理方法及相关产品
CN111694617B (zh) * 2018-12-29 2023-05-02 中科寒武纪科技股份有限公司 网络离线模型的处理方法、人工智能处理装置及相关产品
CN111832737B (zh) 2019-04-18 2024-01-09 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
US20200334522A1 (en) 2019-04-18 2020-10-22 Cambricon Technologies Corporation Limited Data processing method and related products
CN112085184B (zh) 2019-06-12 2024-03-29 上海寒武纪信息科技有限公司 量化参数调整方法、装置及相关产品
US11676029B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
CN110727633A (zh) * 2019-09-17 2020-01-24 广东高云半导体科技股份有限公司 基于SoC FPGA的边缘人工智能计算系统构架
CN113867797A (zh) * 2020-06-30 2021-12-31 上海寒武纪信息科技有限公司 计算装置、集成电路芯片、板卡、电子设备和计算方法
CN111784000A (zh) * 2020-07-16 2020-10-16 矩阵元技术(深圳)有限公司 数据处理方法、装置和服务器
CN111860650A (zh) * 2020-07-21 2020-10-30 苏州浪潮智能科技有限公司 一种基于tvm的并行卷积融合的方法和设备
CN116134446A (zh) * 2020-07-28 2023-05-16 嘉楠明芯(北京)科技有限公司 神经网络模型的多算子运算方法以及装置
CN113159290B (zh) * 2021-04-26 2022-08-09 青岛本原微电子有限公司 一种神经网络模型网络推理的优化方法
CN114936631B (zh) * 2021-04-26 2023-06-09 华为技术有限公司 一种模型处理方法及装置
CN113190351B (zh) * 2021-05-06 2022-06-21 天津大学 一种面向分布式深度学习训练任务的高效资源分配系统
CN113435126B (zh) * 2021-07-07 2024-02-02 魏天骐 知识分享处理方法、智能机器人设备、知识分享系统、任务学习系统
US20230053820A1 (en) * 2021-08-19 2023-02-23 Red Hat, Inc. Generating a build process for building software in a target environment
CN114490116B (zh) * 2021-12-27 2023-03-24 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及存储介质
CN114172908B (zh) * 2022-02-10 2022-08-05 浙江大学 一种端云协同处理方法及设备
CN117061505A (zh) * 2022-05-05 2023-11-14 中国移动通信集团广东有限公司 移动视频ai平台及视频流处理方法
CN116501594B (zh) * 2023-06-27 2023-09-08 上海燧原科技有限公司 系统建模评估方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268272A (zh) * 2013-05-07 2013-08-28 中国人民解放军国防科学技术大学 基于场景的处理器系统级验证完备性度量方法
JP2014016830A (ja) * 2012-07-09 2014-01-30 Fujitsu Ltd 電力見積支援プログラム、電力見積支援装置および電力見積支援方法
JP2015011363A (ja) * 2013-06-26 2015-01-19 株式会社リコー 協調検証装置及び協調検証方法
WO2017138220A1 (ja) * 2016-02-12 2017-08-17 ソニー株式会社 情報処理方法および情報処理装置
CN107942240A (zh) * 2017-11-15 2018-04-20 深圳市紫光同创电子有限公司 Fpga芯片中dsp模块的功能测试方法及装置

Family Cites Families (211)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0375860A (ja) 1989-08-18 1991-03-29 Hitachi Ltd パーソナライズド端末
US5052043A (en) 1990-05-07 1991-09-24 Eastman Kodak Company Neural network with back propagation controlled through an output confidence measure
US6144977A (en) 1995-07-10 2000-11-07 Motorola, Inc. Circuit and method of converting a floating point number to a programmable fixed point number
JPH0934698A (ja) * 1995-07-20 1997-02-07 Hitachi Ltd ソフトウェア生成方法及び開発支援方法
GB9602701D0 (en) 1996-02-09 1996-04-10 Canon Kk Image manipulation
US6167155A (en) 1997-07-28 2000-12-26 Physical Optics Corporation Method of isomorphic singular manifold projection and still/video imagery compression
US6223144B1 (en) * 1998-03-24 2001-04-24 Advanced Technology Materials, Inc. Method and apparatus for evaluating software programs for semiconductor circuits
JP2003518280A (ja) 1999-02-05 2003-06-03 テンシリカ インコーポレイテッド 構成可能なプロセッサを設計するための自動プロセッサ生成システムおよび生成方法
US7242414B1 (en) 1999-07-30 2007-07-10 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
JP2000293371A (ja) 1999-04-09 2000-10-20 Hitachi Ltd マイクロプログラム制御方法及び装置
US6671796B1 (en) 2000-02-25 2003-12-30 Sun Microsystems, Inc. Converting an arbitrary fixed point value to a floating point value
US6931639B1 (en) 2000-08-24 2005-08-16 International Business Machines Corporation Method for implementing a variable-partitioned queue for simultaneous multithreaded processors
US7153348B2 (en) 2000-09-07 2006-12-26 Nippon Steel Corporation Hexavalent chromium-free surface-treating agent for Sn or Al-based coated steel sheet, and surface treated steel sheet
US20020138714A1 (en) 2001-03-22 2002-09-26 Sun Microsystems, Inc. Scoreboard for scheduling of instructions in a microprocessor that provides out of order execution
WO2002086817A1 (en) 2001-04-19 2002-10-31 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive memory allocation
US20030167460A1 (en) 2002-02-26 2003-09-04 Desai Vipul Anil Processor instruction set simulation power estimation method
US7236995B2 (en) 2002-12-27 2007-06-26 Arm Limited Data processing apparatus and method for converting a number between fixed-point and floating-point representations
DE10316381A1 (de) 2003-04-10 2004-10-28 Bayer Technology Services Gmbh Verfahren zum Training von neuronalen Netzen
JP4202244B2 (ja) 2003-12-22 2008-12-24 Necエレクトロニクス株式会社 Vliw型dsp,及びその動作方法
US20060161375A1 (en) 2004-12-30 2006-07-20 Allen Duberstein Optimizing processing speed based on measured temperatures
US7721128B2 (en) 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
CN1851668A (zh) 2006-06-01 2006-10-25 北京天碁科技有限公司 片上系统芯片、片上系统芯片的跟踪调试系统及方法
DE102006059156B4 (de) 2006-12-14 2008-11-06 Advanced Micro Devices, Inc., Sunnyvale Verfahren zum Testen eines integrierten Schaltkreischips mit zumindest zwei Schaltungskernen sowie integrierter Schaltkreischip und Testsystem
US20110060587A1 (en) 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application
US8560591B2 (en) 2007-04-25 2013-10-15 International Business Machines Corporation Detection of potential need to use a larger data format in performing floating point operations
US8190664B2 (en) 2007-04-26 2012-05-29 International Business Machines Corporation Employing a mask field of an instruction to encode a sign of a result of the instruction
US8051118B2 (en) 2007-04-26 2011-11-01 International Business Machines Corporation Composition of decimal floating point data
US8051117B2 (en) 2007-04-26 2011-11-01 International Business Machines Corporation Shift significand of decimal floating point data
JP5184824B2 (ja) 2007-06-15 2013-04-17 キヤノン株式会社 演算処理装置及び方法
JP2009110353A (ja) 2007-10-31 2009-05-21 Hitachi Ltd マイクロコントローラ及び制御システム
US7904287B2 (en) 2007-11-13 2011-03-08 International Business Machines Corporation Method and system for real-time prediction of power usage for a change to another performance state
JP4998794B2 (ja) 2007-11-29 2012-08-15 Nkワークス株式会社 画像補正方法と画像補正装置
US20100073068A1 (en) 2008-09-22 2010-03-25 Hanwoo Cho Functional block level thermal control
CN101572829B (zh) 2009-06-10 2011-02-02 中国联合网络通信集团有限公司 Iptv视频质量监测方法、装置和系统
EP2336882A1 (en) * 2009-12-18 2011-06-22 Telefonaktiebolaget L M Ericsson (PUBL) Technique for run-time provision of executable code using off-device services
WO2011076972A1 (en) * 2009-12-21 2011-06-30 Nokia Corporation A method, apparatuses and a system for compilation
JP5168419B2 (ja) 2010-04-21 2013-03-21 トヨタ自動車株式会社 内燃機関の制御装置
JP2011253374A (ja) 2010-06-02 2011-12-15 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
US8452463B2 (en) 2010-06-04 2013-05-28 Apple Inc. Adjusting the thermal behavior of a computing system using indirect information about ambient temperature
US8694572B2 (en) 2010-07-06 2014-04-08 Silminds, Llc, Egypt Decimal floating-point fused multiply-add unit
US8924455B1 (en) 2011-02-25 2014-12-30 Xilinx, Inc. Multiplication of matrices using systolic arrays
CN102761509B (zh) 2011-04-27 2016-01-06 联芯科技有限公司 Ofdm系统的接收系统及降低接收系统内存的方法
KR101660215B1 (ko) 2011-05-12 2016-09-26 애플 인크. 존재 감지
CN102789413B (zh) 2011-05-23 2016-02-17 同济大学 一种并行程序的调试系统及方法
US8594982B2 (en) 2011-06-09 2013-11-26 Pulsar Informatics, Inc. Systems and methods for distributed calculation of fatigue-risk prediction and optimization
CN102404673B (zh) 2011-11-24 2013-12-18 苏州上声电子有限公司 数字化扬声器系统通道均衡与声场控制方法和装置
CN103152673B (zh) 2011-12-07 2015-07-08 中国科学院声学研究所 基于四元码动态失配整形的数字扬声器驱动方法和装置
CN102684701B (zh) 2012-04-27 2014-07-09 苏州上声电子有限公司 基于编码转换的数字扬声器驱动方法和装置
DE102012009502A1 (de) 2012-05-14 2013-11-14 Kisters Ag Verfahren zum Trainieren eines künstlichen neuronalen Netzes
US9417891B2 (en) 2012-06-11 2016-08-16 Vmware, Inc. Unified storage/VDI provisioning methodology
US9063731B2 (en) 2012-08-27 2015-06-23 Samsung Electronics Co., Ltd. Ultra low power apparatus and method to wake up a main processor
CN102903089B (zh) 2012-09-07 2014-12-17 山东大学 一种Linux环境下生成遥感图像快视图的方法
US9412366B2 (en) 2012-09-18 2016-08-09 Adobe Systems Incorporated Natural language image spatial and tonal localization
CN102981854A (zh) 2012-11-16 2013-03-20 天津市天祥世联网络科技有限公司 基于浮点数运算内联函数库的神经网络优化方法
JP5706040B2 (ja) 2012-11-22 2015-04-22 学校法人慶應義塾 アクリル系共重合体、光学フィルム、偏光板および液晶表示装置
US9851977B2 (en) 2012-12-06 2017-12-26 Kalray Apparatus and method for combining thread warps with compatible execution masks for simultaneous execution and increased lane utilization
US9720732B1 (en) 2013-02-11 2017-08-01 Amazon Technologies, Inc. Parameter selection for optimization of task execution based on execution history for prior tasks
JP2014170295A (ja) 2013-03-01 2014-09-18 Honda Motor Co Ltd 物体認識システム及び物体認識方法
US20190138372A1 (en) 2013-04-29 2019-05-09 Moogsoft, Inc. System for managing an instructure with security
DE112013007160T5 (de) * 2013-06-12 2016-03-03 Mitsubishi Electric Corporation Entwicklungsumgebungssystem, Entwicklungsumgebungsvorrichtung, Entwicklungsumgebungsbereitstellungsverfahren und Programm
JP6184891B2 (ja) 2014-03-12 2017-08-23 東芝メモリ株式会社 情報処理装置、半導体チップ、情報処理方法およびプログラム
WO2015179632A1 (en) * 2014-05-22 2015-11-26 Scheffler Lee J Methods and systems for neural and cognitive processing
US9507405B2 (en) 2014-06-18 2016-11-29 Oracle International Corporation System and method for managing power in a chip multiprocessor using a proportional feedback mechanism
US9575537B2 (en) 2014-07-25 2017-02-21 Intel Corporation Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states
US10282100B2 (en) 2014-08-19 2019-05-07 Samsung Electronics Co., Ltd. Data management scheme in virtualized hyperscale environments
GB2524126B (en) 2014-08-28 2016-07-27 Imagination Tech Ltd Combining paths
US9916130B2 (en) 2014-11-03 2018-03-13 Arm Limited Apparatus and method for vector processing
FR3030077B1 (fr) 2014-12-10 2016-12-02 Arnault Ioualalen Procede d'ajustement de la precision d'un programme d'ordinateur manipulant au moins un nombre a virgule.
EP3035204B1 (en) 2014-12-19 2018-08-15 Intel Corporation Storage device and method for performing convolution operations
US20170061279A1 (en) 2015-01-14 2017-03-02 Intel Corporation Updating an artificial neural network using flexible fixed point representation
US20160328645A1 (en) 2015-05-08 2016-11-10 Qualcomm Incorporated Reduced computational complexity for fixed point neural network
US10083395B2 (en) 2015-05-21 2018-09-25 Google Llc Batch processing in a neural network processor
CN104899641B (zh) 2015-05-25 2018-07-13 杭州朗和科技有限公司 深度神经网络学习方法、处理器和深度神经网络学习系统
US11294815B2 (en) 2015-06-10 2022-04-05 Mobileye Vision Technologies Ltd. Multiple multithreaded processors with shared data cache
CN106250981B (zh) 2015-06-10 2022-04-01 三星电子株式会社 减少存储器访问和网络内带宽消耗的脉冲神经网络
CN104978303B (zh) 2015-06-19 2019-06-04 上海兆芯集成电路有限公司 单芯片整合的传感器集线器和多传感器管理方法
CN106469291A (zh) 2015-08-19 2017-03-01 中兴通讯股份有限公司 图像处理方法及终端
CN106528489A (zh) * 2015-09-14 2017-03-22 上海羽视澄蓝信息科技有限公司 基于云计算的车辆检测机器学习系统
US10031765B2 (en) 2015-09-24 2018-07-24 Intel Corporation Instruction and logic for programmable fabric hierarchy and cache
WO2017055609A1 (en) 2015-09-30 2017-04-06 Piksel, Inc Improved video stream delivery via adaptive quality enhancement using error correction models
US11061672B2 (en) 2015-10-02 2021-07-13 Via Alliance Semiconductor Co., Ltd. Chained split execution of fused compound arithmetic operations
CN106570559A (zh) 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 一种基于神经网络的数据处理方法和装置
JP2019505149A (ja) 2015-11-17 2019-02-21 バヤニ, エマンBAYANI, Eman デジタル画像撮影装置システム及び方法
CN106814639A (zh) 2015-11-27 2017-06-09 富泰华工业(深圳)有限公司 语音控制系统及方法
CN105893419A (zh) 2015-11-30 2016-08-24 乐视致新电子科技(天津)有限公司 一种多媒体照片生成方法、装置、设备及手机
US10699186B2 (en) 2015-12-02 2020-06-30 Google Llc Determining orders of execution of a neural network
CN105550222B (zh) 2015-12-07 2019-04-05 中国电子科技网络信息安全有限公司 一种基于分布式存储的图像服务系统及方法
CN105653790B (zh) 2015-12-29 2019-03-29 东南大学—无锡集成电路技术研究所 一种基于人工神经网络的乱序处理器Cache访存性能评估方法
CN111353588B (zh) 2016-01-20 2024-03-05 中科寒武纪科技股份有限公司 用于执行人工神经网络反向训练的装置和方法
CN106997236B (zh) 2016-01-25 2018-07-13 亮风台(上海)信息科技有限公司 基于多模态输入进行交互的方法和设备
US10803401B2 (en) * 2016-01-27 2020-10-13 Microsoft Technology Licensing, Llc Artificial intelligence engine having multiple independent processes on a cloud based platform configured to scale
US10497089B2 (en) 2016-01-29 2019-12-03 Fotonation Limited Convolutional neural network
JP2017156511A (ja) 2016-03-01 2017-09-07 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10103714B2 (en) 2016-03-01 2018-10-16 Qualcomm Incorporated Adjust voltage for thermal mitigation
US10019779B2 (en) 2016-03-08 2018-07-10 Amazon Technologies, Inc. Browsing interface for item counterparts having different scales and lengths
US10552119B2 (en) 2016-04-29 2020-02-04 Intel Corporation Dynamic management of numerical representation in a distributed matrix processor architecture
CN109934331B (zh) 2016-04-29 2020-06-19 中科寒武纪科技股份有限公司 用于执行人工神经网络正向运算的装置和方法
US11055063B2 (en) 2016-05-02 2021-07-06 Marvell Asia Pte, Ltd. Systems and methods for deep learning processor
US10187568B1 (en) 2016-05-02 2019-01-22 Bao Tran Video smart phone
CN105978611B (zh) 2016-05-12 2019-09-17 京信通信系统(中国)有限公司 一种频域信号压缩方法及装置
AU2016203619A1 (en) 2016-05-31 2017-12-14 Canon Kabushiki Kaisha Layer-based operations scheduling to optimise memory for CNN applications
EP3252949B1 (en) 2016-06-01 2020-03-18 Intel IP Corporation Methods and devices for predistortion of signals
US20170357910A1 (en) * 2016-06-10 2017-12-14 Apple Inc. System for iteratively training an artificial intelligence using cloud-based metrics
US11328206B2 (en) 2016-06-16 2022-05-10 SRI Inlernational Systems and methods for optimizing operations of computing devices using deep neural networks
CN107545889B (zh) 2016-06-23 2020-10-23 华为终端有限公司 适用于模式识别的模型的优化方法、装置及终端设备
CN106156310A (zh) 2016-06-30 2016-11-23 努比亚技术有限公司 一种图片处理装置和方法
US10372588B2 (en) * 2016-07-08 2019-08-06 International Business Machines Corporation Providing debug information on production containers using debug containers
WO2018015963A1 (en) * 2016-07-21 2018-01-25 Ramot At Tel-Aviv University Ltd. Method and system for comparing sequences
DE102016214786A1 (de) * 2016-08-09 2018-02-15 Fujitsu Limited Anwendungsprofiling-Jobmanagement-System, -Programm und -Verfahren
CN107657316B (zh) 2016-08-12 2020-04-07 北京深鉴智能科技有限公司 通用处理器与神经网络处理器的协同系统设计
US20180046903A1 (en) 2016-08-12 2018-02-15 DeePhi Technology Co., Ltd. Deep processing unit (dpu) for implementing an artificial neural network (ann)
CN106354568A (zh) 2016-08-23 2017-01-25 京信通信技术(广州)有限公司 一种不同进程间的通信方法及通信装置
CN107797913A (zh) 2016-09-07 2018-03-13 大陆汽车电子(连云港)有限公司 一种实时系统的软件分析系统与方法
US11907760B2 (en) 2016-09-23 2024-02-20 Apple Inc. Systems and methods of memory allocation for neural networks
CN106650922B (zh) * 2016-09-29 2019-05-03 清华大学 硬件神经网络转换方法、计算装置、软硬件协作系统
US20180096243A1 (en) 2016-09-30 2018-04-05 General Electric Company Deep learning for data driven feature representation and anomaly detection
WO2018071546A1 (en) 2016-10-11 2018-04-19 The Research Foundation For The State University Of New York System, method, and accelerator to process convolutional neural network layers
CN106485316B (zh) 2016-10-31 2019-04-02 北京百度网讯科技有限公司 神经网络模型压缩方法以及装置
CN106502626A (zh) 2016-11-03 2017-03-15 北京百度网讯科技有限公司 数据处理方法和装置
US10157045B2 (en) * 2016-11-17 2018-12-18 The Mathworks, Inc. Systems and methods for automatically generating code for deep learning systems
US10877547B2 (en) 2016-11-18 2020-12-29 Ati Technologies Ulc Application profiling for power-performance management
US10216479B2 (en) 2016-12-06 2019-02-26 Arm Limited Apparatus and method for performing arithmetic operations to accumulate floating-point numbers
US10997492B2 (en) 2017-01-20 2021-05-04 Nvidia Corporation Automated methods for conversions to a lower precision data format
CN106951587A (zh) 2017-02-15 2017-07-14 芯启源(南京)半导体科技有限公司 Fpga调试系统及方法
CN106951962B (zh) 2017-03-22 2020-09-01 南京地平线机器人技术有限公司 用于神经网络的复合运算单元、方法和电子设备
CN108664266B (zh) 2017-04-01 2022-04-15 深圳森若科技有限公司 一种便携式人工智能装置及其配置方法
US10402932B2 (en) 2017-04-17 2019-09-03 Intel Corporation Power-based and target-based graphics quality adjustment
US10332302B2 (en) 2017-04-17 2019-06-25 Intel Corporation Scatter gather engine
CN108734288B (zh) 2017-04-21 2021-01-29 上海寒武纪信息科技有限公司 一种运算方法及装置
CN107025629B (zh) 2017-04-27 2021-03-26 维沃移动通信有限公司 一种图像处理方法及移动终端
US11592817B2 (en) 2017-04-28 2023-02-28 Intel Corporation Storage management for machine learning at autonomous machines
US11842280B2 (en) 2017-05-05 2023-12-12 Nvidia Corporation Loss-scaling for deep neural network training with reduced precision
US10019668B1 (en) 2017-05-19 2018-07-10 Google Llc Scheduling neural network processing
CN109478251B (zh) 2017-05-23 2021-01-05 安徽寒武纪信息科技有限公司 处理方法及加速装置
CN109146069B (zh) 2017-06-16 2020-10-13 上海寒武纪信息科技有限公司 运算装置、运算方法和芯片
US11144828B2 (en) 2017-06-09 2021-10-12 Htc Corporation Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same
US10944902B2 (en) 2017-06-20 2021-03-09 Adobe Inc. Digital image generation using capture support data
EP3646164A4 (en) 2017-06-30 2021-01-20 INTEL Corporation HETEROGENIC MULTIPLIER
CN107451654B (zh) 2017-07-05 2021-05-18 深圳市自行科技有限公司 卷积神经网络的加速运算方法、服务器及存储介质
CN107578014B (zh) 2017-09-06 2020-11-03 上海寒武纪信息科技有限公司 信息处理装置及方法
CN109478144B (zh) 2017-07-05 2021-12-14 上海寒武纪信息科技有限公司 一种数据处理装置和方法
US10427306B1 (en) 2017-07-06 2019-10-01 X Development Llc Multimodal object identification
CN109284130B (zh) 2017-07-20 2021-03-23 上海寒武纪信息科技有限公司 神经网络运算装置及方法
CN107451658B (zh) 2017-07-24 2020-12-15 杭州菲数科技有限公司 浮点运算定点化方法及系统
CN107688849B (zh) 2017-07-28 2021-04-13 赛灵思电子科技(北京)有限公司 一种动态策略定点化训练方法及装置
WO2019023984A1 (en) 2017-08-02 2019-02-07 Intel Corporation SYSTEM AND METHOD FOR INCLUSION OF NEURAL NETWORKS 1 AMONG N ON AN AUTOMATIC LEARNING COMPUTER PLATFORM
US11593644B2 (en) 2017-08-08 2023-02-28 Samsung Electronics Co., Ltd. Method and apparatus for determining memory requirement in a network
US20190050710A1 (en) 2017-08-14 2019-02-14 Midea Group Co., Ltd. Adaptive bit-width reduction for neural networks
CN107577008A (zh) * 2017-09-01 2018-01-12 昆山龙腾光电有限公司 显示装置及显示装置的制作方法
CN107644254A (zh) 2017-09-09 2018-01-30 复旦大学 一种卷积神经网络权重参数量化训练方法及系统
CN107577608A (zh) * 2017-09-26 2018-01-12 上海市信息网络有限公司 带有随机uid的处理器芯片仿真器
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
EP3667488B1 (en) 2017-09-29 2023-06-28 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
US11450319B2 (en) 2017-09-29 2022-09-20 Cambricon (Xi'an) Semiconductor Co., Ltd. Image processing apparatus and method
US10224954B1 (en) 2017-09-29 2019-03-05 Intel Corporation Floating point to fixed point conversion
US10223114B1 (en) 2017-09-29 2019-03-05 Intel Corporation Fixed point to floating point conversion
US10438118B2 (en) * 2017-10-09 2019-10-08 Accenture Global Solutions Limited Verification by metamorphic testing of applications that utilize artificial intelligence
JP6540770B2 (ja) 2017-10-17 2019-07-10 富士通株式会社 演算処理回路、演算処理回路を含む演算処理装置、演算処理装置を含む情報処理装置、および方法
US10360214B2 (en) * 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US10410121B2 (en) 2017-10-25 2019-09-10 SparkCognition, Inc. Adjusting automated neural network generation based on evaluation of candidate neural networks
US20210061028A1 (en) 2017-10-26 2021-03-04 Applied Mechatronic Products Apparatus and method for vehicular monitoring, analysis, and control
US10783634B2 (en) * 2017-11-22 2020-09-22 General Electric Company Systems and methods to deliver point of care alerts for radiological findings
CN108023952B (zh) * 2017-12-04 2020-08-18 西安电子科技大学 一种基于云雾结合的模块化物联网应用快速构建平台
US10803379B2 (en) 2017-12-12 2020-10-13 Amazon Technologies, Inc. Multi-memory on-chip computational network
CN108009126B (zh) * 2017-12-15 2021-02-09 安徽寒武纪信息科技有限公司 一种计算方法及相关产品
CN108053028B (zh) 2017-12-21 2021-09-14 深圳励飞科技有限公司 数据定点化处理方法、装置、电子设备及计算机存储介质
US11636327B2 (en) 2017-12-29 2023-04-25 Intel Corporation Machine learning sparse computation mechanism for arbitrary neural networks, arithmetic compute microarchitecture, and sparsity for training mechanism
US11373088B2 (en) 2017-12-30 2022-06-28 Intel Corporation Machine learning accelerator mechanism
WO2019136758A1 (zh) * 2018-01-15 2019-07-18 深圳鲲云信息科技有限公司 人工智能处理装置硬件优化方法、系统、存储介质、终端
CN108052934A (zh) * 2018-01-29 2018-05-18 安徽云塔电子科技有限公司 一种智能传感器系统架构及其实现方法、装置
US20190251429A1 (en) 2018-02-12 2019-08-15 Kneron, Inc. Convolution operation device and method of scaling convolution input for convolution neural network
US11663002B2 (en) 2018-02-13 2023-05-30 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11106598B2 (en) 2018-02-13 2021-08-31 Shanghai Cambricon Information Technology Co., Ltd. Computing device and method
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
CN116991226A (zh) 2018-02-14 2023-11-03 上海寒武纪信息科技有限公司 处理器的控制装置、方法及设备
JP7056225B2 (ja) 2018-02-26 2022-04-19 富士通株式会社 演算処理装置、情報処理装置、情報処理方法、およびプログラム
US10628275B2 (en) 2018-03-07 2020-04-21 Nxp B.V. Runtime software-based self-test with mutual inter-core checking
US11475306B2 (en) 2018-03-22 2022-10-18 Amazon Technologies, Inc. Processing for multiple input data sets
CN108510067B (zh) 2018-04-11 2021-11-09 西安电子科技大学 基于工程化实现的卷积神经网络量化方法
US11562213B2 (en) 2018-04-17 2023-01-24 Intel Corporation Methods and arrangements to manage memory in cascaded neural networks
CN108712630A (zh) 2018-04-19 2018-10-26 安凯(广州)微电子技术有限公司 一种基于深度学习的互联网摄像系统及其实现方法
EP3624020A4 (en) 2018-05-18 2021-05-05 Shanghai Cambricon Information Technology Co., Ltd CALCULATION PROCEDURES AND RELATED PRODUCTS
CN108717570A (zh) 2018-05-23 2018-10-30 电子科技大学 一种脉冲神经网络参数量化方法
CN110554500B (zh) 2018-05-31 2022-09-16 中强光电股份有限公司 头戴式显示装置
US10360304B1 (en) 2018-06-04 2019-07-23 Imageous, Inc. Natural language processing interface-enabled building conditions control system
CN109062540B (zh) 2018-06-06 2022-11-25 北京理工大学 一种基于cordic算法的可重构浮点运算装置
CN109063820A (zh) 2018-06-07 2018-12-21 中国科学技术大学 利用时频联合长时循环神经网络的数据处理方法
WO2020001438A1 (zh) 2018-06-27 2020-01-02 上海寒武纪信息科技有限公司 片上代码断点调试方法、片上处理器及芯片断点调试系统
CN110728364A (zh) 2018-07-17 2020-01-24 上海寒武纪信息科技有限公司 一种运算装置和运算方法
CN109214281A (zh) 2018-07-30 2019-01-15 苏州神指微电子有限公司 一种用于ai芯片人脸识别的cnn硬件加速装置
CN109492241B (zh) * 2018-08-10 2020-03-10 中科寒武纪科技股份有限公司 转换方法、装置、计算机设备和存储介质
CN109343857B (zh) * 2018-08-22 2023-07-21 中国平安人寿保险股份有限公司 线上部署机器学习模型的方法、设备和存储介质
WO2020042739A1 (zh) 2018-08-28 2020-03-05 中科寒武纪科技股份有限公司 数据预处理方法、装置、计算机设备和存储介质
US11468338B2 (en) * 2018-09-11 2022-10-11 Apple Inc. Compiling models for dedicated hardware
CN109344065B (zh) * 2018-09-27 2022-06-21 迈普通信技术股份有限公司 远程调试方法、调试服务器及目标机
WO2020062392A1 (zh) 2018-09-28 2020-04-02 上海寒武纪信息科技有限公司 信号处理装置、信号处理方法及相关产品
CN109408500B (zh) * 2018-11-06 2020-11-17 北京深度奇点科技有限公司 人工智能运行平台
CN109450705B (zh) * 2018-12-11 2020-12-01 电子科技大学 一种基于fpga的面向映射的片上网络验证方法及系统
CN109685202B (zh) 2018-12-17 2023-03-21 腾讯科技(深圳)有限公司 数据处理方法及装置、存储介质和电子装置
CN111385462A (zh) 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 信号处理装置、信号处理方法及相关产品
CN109902745A (zh) 2019-03-01 2019-06-18 成都康乔电子有限责任公司 一种基于cnn的低精度训练与8位整型量化推理方法
CN110059733A (zh) 2019-04-01 2019-07-26 苏州科达科技股份有限公司 卷积神经网络的优化及快速目标检测方法、装置
CN109993296B (zh) 2019-04-01 2020-12-29 安徽寒武纪信息科技有限公司 量化实现方法及相关产品
CN111832737B (zh) 2019-04-18 2024-01-09 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
US20200334522A1 (en) 2019-04-18 2020-10-22 Cambricon Technologies Corporation Limited Data processing method and related products
US11676029B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US20210374511A1 (en) 2019-08-23 2021-12-02 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium
WO2021036904A1 (zh) 2019-08-23 2021-03-04 安徽寒武纪信息科技有限公司 数据处理方法、装置、计算机设备和存储介质
US20210374510A1 (en) 2019-08-23 2021-12-02 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium
JP7146953B2 (ja) 2019-08-27 2022-10-04 安徽寒武紀信息科技有限公司 データ処理方法、装置、コンピュータデバイス、及び記憶媒体
CN110780845B (zh) 2019-10-17 2021-11-30 浙江大学 一种用于量化卷积神经网络的可配置近似乘法器及其实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014016830A (ja) * 2012-07-09 2014-01-30 Fujitsu Ltd 電力見積支援プログラム、電力見積支援装置および電力見積支援方法
CN103268272A (zh) * 2013-05-07 2013-08-28 中国人民解放军国防科学技术大学 基于场景的处理器系统级验证完备性度量方法
JP2015011363A (ja) * 2013-06-26 2015-01-19 株式会社リコー 協調検証装置及び協調検証方法
WO2017138220A1 (ja) * 2016-02-12 2017-08-17 ソニー株式会社 情報処理方法および情報処理装置
CN107942240A (zh) * 2017-11-15 2018-04-20 深圳市紫光同创电子有限公司 Fpga芯片中dsp模块的功能测试方法及装置

Also Published As

Publication number Publication date
EP3754497A8 (en) 2021-06-30
US11762690B2 (en) 2023-09-19
JP7044808B2 (ja) 2022-03-30
KR102430739B1 (ko) 2022-08-08
AU2019284011B2 (en) 2021-08-12
CN111832739B (zh) 2024-01-09
CN111832738A (zh) 2020-10-27
CN111832739A (zh) 2020-10-27
AU2019284012B2 (en) 2021-11-25
US20210334137A1 (en) 2021-10-28
CA3065651A1 (en) 2020-10-18
CN111832737A (zh) 2020-10-27
JP6937357B2 (ja) 2021-09-22
CN111626430B (zh) 2023-09-26
CN111242321B (zh) 2023-09-26
EP3751475A4 (en) 2021-03-17
EP3754496A8 (en) 2021-06-30
WO2020211205A1 (zh) 2020-10-22
JP2021121879A (ja) 2021-08-26
AU2019283890A1 (en) 2020-11-05
JP7045357B2 (ja) 2022-03-31
KR20210142786A (ko) 2021-11-26
KR20200122985A (ko) 2020-10-28
JP2021182176A (ja) 2021-11-25
JP2021521500A (ja) 2021-08-26
EP3754495A1 (en) 2020-12-23
CN111832738B (zh) 2024-01-09
EP3754495B1 (en) 2024-04-10
KR102544522B1 (ko) 2023-06-15
JP7106513B2 (ja) 2022-07-26
EP3754496B1 (en) 2024-04-10
EP3754495A8 (en) 2021-06-30
AU2019284011A1 (en) 2020-11-05
KR20210142784A (ko) 2021-11-26
AU2019284002A1 (en) 2020-11-05
JP2021165867A (ja) 2021-10-14
EP3754496A1 (en) 2020-12-23
AU2019283890B2 (en) 2021-08-12
KR102501992B1 (ko) 2023-02-20
EP3754497A1 (en) 2020-12-23
AU2019284002B2 (en) 2021-12-23
CN111626430A (zh) 2020-09-04
KR102323378B1 (ko) 2021-11-05
EP3751475A1 (en) 2020-12-16
CN111831543A (zh) 2020-10-27
AU2019284012A1 (en) 2020-11-05
CN111242321A (zh) 2020-06-05
KR20210142785A (ko) 2021-11-26

Similar Documents

Publication Publication Date Title
CN111832737B (zh) 一种数据处理方法及相关产品
US11934940B2 (en) AI processor simulation
US10613909B2 (en) Method and apparatus for generating an optimized streaming graph using an adjacency operator combination on at least one streaming subgraph

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