CN110275859A - 游戏引擎以及芯片上的人工智能引擎 - Google Patents

游戏引擎以及芯片上的人工智能引擎 Download PDF

Info

Publication number
CN110275859A
CN110275859A CN201910199239.9A CN201910199239A CN110275859A CN 110275859 A CN110275859 A CN 110275859A CN 201910199239 A CN201910199239 A CN 201910199239A CN 110275859 A CN110275859 A CN 110275859A
Authority
CN
China
Prior art keywords
engine
data
chip
artificial intelligence
game
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
Application number
CN201910199239.9A
Other languages
English (en)
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.)
Tomorrow Entertainment Europe
Original Assignee
Tomorrow Entertainment Europe
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 Tomorrow Entertainment Europe filed Critical Tomorrow Entertainment Europe
Publication of CN110275859A publication Critical patent/CN110275859A/zh
Pending legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8038Associative processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Geometry (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Processing Or Creating Images (AREA)

Abstract

描述了一个电子芯片,一个芯片组件,一个计算设备以及一个方法。电子芯片包括多个处理核以及至少一个与一个或以上的处理核的一个进行耦接的硬件界面。至少一个处理核实行一个游戏引擎以及/或者一个模拟引擎,以及一个或以上的处理核实行一个人工智能引擎,其中是在硬件中通过专用的电子电路在芯片上实行。一个或以上的游戏以及/或者模拟引擎在传感数据上执行任务,生成数据集,其通过机器学习算法由硬连线的人工智能引擎进行处理。由硬连线的人工智能引擎所处理的数据集包括至少上下文数据以及目标数据,其中结合两种数据,通过专用的硬件进行处理,从而增强了机器学习处理能力。

Description

游戏引擎以及芯片上的人工智能引擎
相关申请的交叉引用
本申请要求2018年3月15日提交的临时申请No.62/643524的权益,其全部公开内容通过引用结合于此用于所有目的。
背景技术
游戏引擎与模拟引擎在图形应用中扮演了越来越重要的角色。磁力引擎的其中一个主要的任务是在实时性能中提供最真实以及最高质量的图形,包括其它例如模拟能力的特点。一个软件引擎通常是以在CPU里执行的计算机可执行代码的形式。例如,引擎通常可以在一个处理器上运行,或者在一个计算设备的微观处理器上进行,例如一台个人电脑的CPU,一台游戏机,一台手提电话,或者一台平板电脑。因此,CPU的性能可以决定一个软件引擎的功能。软件引擎也可以进入一个图形处理单位GPU。例如,GPU可以将具有非常高性能的单个对象列表呈现给图形存储器或视频存储器。计算机图形场景可以包括大量具有与其3D位置和3D取向,行为,材料属性等相关的特征的对象。为了实现高度逼真的场景,引擎需要考虑整个场景,其通常可能包含数百万个要渲染到屏幕的对象。例如,引擎可以考虑光与单个对象以及场景对象之间的行为和交互。
这些引擎提供专门用于执行特定于3D视频游戏和实时模拟的功能的环境。因此,引擎启用诸如动画模型的管理,对象之间的碰撞以及玩家和游戏之间的交互的功能。许多最近的游戏,模拟和严肃游戏都使用超出视觉和交互方面的引擎。例如,程序员可以依靠软件物理引擎来模拟虚拟环境中的物理定律,软件音频引擎以添加音乐和复杂的声学效果,以及软件人工智能(AI)引擎来编程非人类玩家的行为。3D界面的预期属性非常接近3D视频游戏的属性。因此,游戏引擎可以用于需要以实时性能渲染3D图形的任何类型的应用,包括虚拟现实(VR),增强现实(AR),混合现实(MR)或其组合中的应用。
通过增加计算能力和可用于机器学习的大数据集的可用性,已经实现了在游戏和非游戏应用中使用AI的特定发展。在机器学习的一种可能的应用中,称为监督学习,程序员向计算机提供一组样本数据和所期望的结果,同时计算机基于可以应用于任何未来数据的那些数据生成其自己的模型。其他机器学习方法包括无监督学习和强化学习。在这些广泛的方法中,可以应用许多技术,包括特征学习,异常检测,决策树,人工神经网络,贝叶斯网络和遗传算法。
用于游戏和非游戏应用的人工智能功能已经通过诸如CPU和GPU的处理单元在计算设备中执行。但是,由于CPU是通用处理器,执行人工智能任务效率低下。相比之下,一些GPU是实现AI应用程序的良好候选者,因为它们通常包含更多处理核心并且可以同时执行更多软件线程。因此,GPU已扩展到图形和视频领域之外,并进入深度学习领域,其中GPU功能提供优于CPU的性能。
进一步的研究已经导致智能处理单元(IPU)的发展,例如谷歌的张量处理单元(TPU),它们是专用于执行人工智能任务的计算单元。IPU主要用于位于数据中心的服务器,这在某些情况下可能有效,但更新应用程序和收集构成培训所需机器学习数据集的反馈所需的来回数据传输是消耗时间和浪费资源。除此之外,仅在服务器中配置的IPU不会为用户提供高级别的隐私保护,因为公司必须在其服务器上存储用户应用程序数据。其他技术涉及将专用AI处理器放置在用户设备上,或者将本地AI处理的能力与基于服务器的AI处理相结合,以实现期望的安全性和性能水平。但是,仍然需要增强AI和图形处理速度。
因此,需要改进能够处理机器学习所需的大型数据集的AI处理器领域,同时保持高水平的安全性并且能够以高速处理数据。
发明内容
提供本发明的总结是为了以简化的形式介绍一些概念,这些概念将在下面的进行进一步的具体描述。本发明内容不旨在标识所要求保护的主题的关键特征,也不旨在用于帮助确定所要求保护的主题的范围。
如本文所述,通过电子芯片,芯片组件,计算设备和方法的实施例解决了一个或以上问题。
本公开的第一方面包括多个处理核和至少一个耦合到多个处理核的硬件界面,其中至少一个处理核通过专用电子电路在硬件上实施第一个引擎(例如,一个或以上的游戏引擎和/或模拟引擎),其中至少一个处理核通过专用电子电路在硬件中实现一个或多个人工智能引擎,其中第一引擎耦合到人工智能引擎,并且实施是在芯片上的实施。硬件接口可以作为电子芯片的至少一个集成电路的一部分,然而,硬件接口也可以作为一个或多个另外的集成电路,其提供连接处理核心的功能,包括硬连线的第一引擎和硬连线的人工智能引擎。第一引擎和人工智能引擎可以直接耦合到公共处理单元上,芯片可以使用缓冲器或存储器来在游戏引擎和/或模拟引擎和人工智能引擎之间交换数据。
贯穿本申请使用的动词“实行”是针对硬件的实行。因此,处理核心可以包括:多个被配置为实现游戏和/或模拟引擎的功能电子电路以及多个被配置为实现人工智能引擎的功能电子电路。一个或多个处理核心是专用电子电路,用于实行或实现硬件中的游戏和/或模拟引擎和人工智能引擎的功能。因此,游戏和/或模拟引擎也可以被称为硬件游戏和/或模拟引擎,或者被称为硬连线游戏和/或模拟引擎,或者被称为芯片上游戏和/或模拟引擎,并且同样地,人工智能引擎也被称为硬件人工智能引擎,硬连线人工智能引擎,或者作为芯片上人工智能引擎。因此,电子芯片可以被称为芯片上引擎(EOC)或引擎处理单元(EPU)。处理核心可以将游戏和/或模拟引擎和人工智能引擎实行为多个硬连线电子电路,用于实行游戏和/或模拟引擎以及人工智能引擎的各自功能,其可以根据任何合适的生产工艺进行安排或组装。此外,配置的现场可编程门阵列(FPGA)可用于在硬件里实行游戏和/或模拟引擎,人工智能引擎或两者。电子芯片可以被提供为集成电路,其将硬连线游戏和/或模拟引擎和硬连线人工智能引擎的所有组件和功能集成到单个芯片或多个芯片中。
电子芯片的处理核可以被视为电子芯片的电子电路的功能单元或模块。例如,至少一个或多个处理核中可以实现为FPGA或实行一个特定功能的任何其他形式的集成电路。因此,电子芯片包括至少一个实现一个或多个处理核心中的集成电路,其中至少一个处理核实行硬连线游戏和/或模拟引擎,并且其中至少一个处理核实行人工智能引擎。
至少一个硬件界面实行与一个或多个处理核心直接交互。硬件界面可以实现为电子芯片的至少一个集成电路的一部分。然而,硬件界面也可以实现为一个或多个其他集成电路,其提供连接处理核心的功能,包括硬连线游戏和/或模拟引擎和人工智能引擎。
硬连线游戏以及/或者模拟引擎被设置以在输入数据,即所衍生的数据组上执行一个或以上的任务。硬连线游戏以及/或者模拟引擎可以在一个核上执行,执行硬连线运算以及代码功能,此运算及代码可以应用在数据上。从而在2D,3D或者4D(3D+time)里实现较快的图形或模拟结果,甚至立体显示。输入数据可以通过一个合适的程序界面由一个用户进行输入,通过至少一个硬件界面或者其任何组合被一个或以上与电子芯片进行通讯连接的外部感应机制所捕捉。感应机制可以包括光学传感器,惯性传感器或者其任何组合。输入数据可以包括一个或以上的图形数据,3D几何图形,视像数据,音频数据,文本数据,触觉数据,时间数据,位置以及方向数据,或者其中的任何组合。
在另外的实施例中,电子芯片可以包括一个设置用作储存数据并向一个或以上的处理核提供数据的内存。例如,游戏以及/或者模拟引擎可以在内存里储存预先经过处理的数据,同时向在芯片上的人工智能引擎发送一个读取以及进一步处理数据的请求。人工智能引擎可以使用内存或者不同的沟通渠道向硬连线的游戏以及/或者模拟引擎汇报结果。使用一个寄存器或者寄存器组来控制内存的属性,表明所存储数据的特点,以及/或者控制芯片上的人工智能引擎的运作。输入数据可以被存储在内存里,同时可以由硬连线游戏以及/或者模拟引擎进行读取,以在其上执行一个或以上的任务来衍生出数据集。在另外的实施例中,数据可以存储在一个主机系统的外部主要内存当中,其可以由一个或以上的芯片上的内存控制器端口进行访问。
在一些实施例中,在输入数据上由硬连接的游戏以及/或者模拟引擎所执行的一个或以上的任务可以由游戏以及/或者模拟引擎的功能进行定义。电子芯片可以根据其功能,暴露一个用于控制游戏以及/或者模拟引擎的界面。在一些实施例中,一个或以上的任务可以通过在芯片上的游戏以及/或者模拟引擎开始。在编视频游戏或者其它应用的程序的过程中,一个或以上的任务可以实时进行,但也可以在应用执行的过程中进行(例如用户实际执行应用的时间),其中游戏以及/或者模拟引擎可以在实时处理用于为人工智能引擎衍生数据组的数据。然而,在另外一个实施例中,一个或以上的任务包括一个或以上用于确定对象如何在另外对象上投射阴影,确定对象如何反映在其它对象里,或者确定落在一个对象上的光如何照亮其它附近的对象。另外,游戏以及/或者模拟引擎将执行其它另外的任务,包括与在模拟以及/或者渲染图形场景有关的任务,例如模拟图形场景的个别对象,确定图形场景的对象的特征,渲染图形场景的一个或以上的对象等。另外,游戏和/或模拟引擎可以执行视口剔除和覆盖(z-)缓冲区剔除中的一个或多个以确定对象的可见性,场景的体素化作为全局照明计算的准备步骤,用于全局的基于稀疏体素的锥体跟踪光照,肌肉纤维力学和肌肉骨骼皮肤,生物力学肌肉建模的有限元方法,使用SPH(平滑粒子流体动力学)的流体动力学,涉及水体积,火山熔岩体积和天体物理效应的真实效应,这可能与恒星表面有关,实时欧拉水模拟,或现实植被动态等的任意组合。在本公开的另一方面,一个或多个任务可以包括将输入数据分类为第一和第二数据集以供人工智能引擎处理。
在输入数据上所执行的一个或以上的任务衍生的数据组可以储存在内存里并由人工智能引擎读取。数据组包括至少第一数据组,包括上下文数据,第二数据组包括目标数据。在本公开里所使用的术语“上下文”或者“上下文数据”指与使用包括本公开的EPU在内的计算设备的用户环境有关的数据。例如,上下文数据可以包括用户附近环境的3D图形数据,3D几何数据,3D实体,3D感应数据,3D动态对象,视频数据,音频数据,文本数据,时间数据,位置与方向数据,光数据等。在本公开里所使用的术语“目标”或者“目标数据”指与本用户或者其它实体相关的数据(例如动物,对象,人,地方等),其可以通过机器学习运算由人工智能引擎进行识别。例如,目标数据可以包括目标脸部的3D图形数据(例如一个人或动物脸部),3D几何数据,视频数据,音频数据(例如一个用户或者相关的人的声音),以及文本数据等。
机器学习算法可以包括训练阶段和推理阶段。机器学习算法的训练以及推理阶段可以涉及所谓的“张量操作”,或多维张量的计算操作。多维张量指的是实数的多维数组。机器学习算法中涉及的一些张量操作属于称为“张量收缩”的类别,其将两个张量作为输入并且将诸如乘法和累加的操作应用于两个张量,从而产生输出张量。尽管这些张量收缩操作可以由通用CPU或GPU执行,但是用于机器学习的张量收缩操作的某些特性,例如一致的数据流,大量的乘法和非乘法运算的特殊性质,导致其不适合在CPU和GPU中执行。对于与用户接口并且需要实时,快速处理的推理要求的自主应用尤其如此。因此,本公开的芯片上硬连线人工智能引擎可以被设计为专门用于执行用于机器学习的这种张量收缩操作。更具体地,本公开的硬连线人工智能引擎涉及半导体硬连线处理核心,其包含用于针对张量操作和机器学习专用的其他操作进行最佳执行操作的专用电子电路。例如,在GPU可以包括特定于四元数操作的硬件的情况下,这些操作虽然与线性代数相关,但通常不用于机器学习张量操作。相反,置换和噪声生成通常不在GPU中实行,而是通常用于机器学习。
根据一个实施例,人工智能引擎被设置用于在通过内存读取的数据组上执行机器学习算法。机器学习算法可以被用于人工智能引擎训练中,以及用于对新数据的随后推断中。机器学习算法可以包括朴素贝叶斯分类器算法,最近邻算法,K均值聚类算法,支持向量算法,Apriori算法,线性回归算法,Logistic回归算法,神经网络算法,随机森林算法和决策树算法,以及其他任何组合。另外,机器学习算法可以包括一个或以上的受监管的学习,不受监管的学习以及强化学习。
在一个优先的实施例中,人工智能引擎在内存读取的数据组上执行神经网络算法。某些可以被使用的神经网络算法包括例如多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)。
因此,本公开通过在硬件中实现游戏和/或模拟引擎以及在机器学习期间使用的张量收缩操作的加速处理以及推断数据识别和其他自主任务来提供对高效,实时,高度逼真的渲染的支持。本公开的电子芯片可以适用于需要高度和高速度的数据处理和识别的应用,尤其是可以用于无人机,自动驾驶,机器人,机器和计算机视觉,个人助理,视频的3D应用。游戏等。通过提供专用3D图形硬件和专用人工智能训练和推理硬件,电子芯片可用于支持主机系统的CPU,例如控制台,移动设备或头戴式显示器。然而,由于硬件实现游戏和/或模拟引擎以及人工智能引擎,由于可以使用游戏和/或模拟引擎以及人工智能引擎的界面,因此可以简化对硬件的控制。因此,需要编写高性能和高度逼真的应用程序的普通图形程序员可以使用硬连线游戏和/或模拟引擎和人工智能引擎,它一方面可以保持简单的界面,同时为程序员提供高度逼真的实时渲染和机器学习和推理选项。
另外,把上下文数据与本公开的目标数据相结合,由于上下文数据可以向人工智能引擎提供额外的信息层,可以通过机器学习算法提高由人工智能引擎执行的识别任务的速度。可以在训练以及数据推断的过程中,根据目标所在位置的上下文,使用额外的信息层来提高识别某一个目标的可能性,这样可以提高计算速度以及减低任何一个或以上的处理核所需要的计算能力。例如,如果一个个别的目标在一个特定的地方的大部分情况下出现,通过使用上下文数据,人工智能引擎可以减低在其它地方找到此个别目标的可能性,从而减低执行所需要的处理的计算能力与时间。另外,由于处理是直接通过EPU进行,其中包括经耦合的硬连线游戏以及/或者模拟引擎和硬连线的人工智能引擎,由于经耦合的硬连线游戏以及/或者模拟引擎以及硬连线的人工智能引擎可以在不需要传输以及处理数据到CPU或者GPU的情况下,直接从软件游戏以及/或者模拟引擎以及软件人工智能引擎上处理原始数据,因此可以加快处理时间。另外,把游戏以及/或者模拟引擎直接与人工智能引擎直接进行耦合,由于数据交换可以通过简短的数据链接,数据交换速度以及吞吐量可以大大地改善与优化,同时不需要实行复杂的数据交换协议。
根据一个实施例,天线可以被设置用于传输以及接收无线波,从而实现与EPU的移动通讯。天线可以通过有线或无线的方式与计算中心进行连接。在另外的实施例中,在计算中心范围内以及/或者由计算中心提供服务的区域提供天线。在一些实施例中,为了服务位于户外的主机系统,天线可以包括基于毫米波的天线系统或者基于毫米波的天线系统与亚6GHz天线系统的结合。在另外的实施例中,天线可以包括其它类型的天线,例如4G天线,或者用于支持毫米波/亚GHz天线系统的天线。在天线用于服务位于室内的主机系统的天线的实施例中,天线可以优先使用无线局域网(WiFi)来提供在16GHz的数据。
根据一个实施例,芯片上的游戏以及/或者模拟引擎包括一个由在至少一个通用处理核上的专用电子电路所实行的专用芯片上的人工智能引擎,在这里是指引擎核。引擎核可以在游戏硬件以及/或者模拟引擎以及一个人工智能引擎的硬件里提供功能。在一个单一的通用的硬件处理核上提供游戏以及/或者模拟引擎以及人工智能引擎可以通过简短的数据链接实现快速的通讯而减少处理时间。另外,由于人工智能引擎可能只需要处理由游戏以及/或者模拟引擎所发送的专用数据,实行一个专用于单一游戏以及/或者模拟引擎的人工智能引擎可以改善效率。
根据一个实施例,游戏以及/或者模拟引擎可以被分开,变成个别的,专用的硬连线组建,包括一个3D结构处理器,一个物理处理器,一个通讯单元,以及一个可选的渲染引擎,每一个都通过在一个通用的引擎核以及一个人工智能引擎里的专用电路在硬件里实行。3D结构处理器可以被设置,用于执行3D数据算法,目的是要确定给定表面几何的忠实近似值并将图像处理成合适的数据结构(例如八叉树,四叉树,BSP树,稀疏体素八叉树,3D阵列和k-d树)。物理处理器可以提供某些物理系统的近似模拟的算法例如刚体动力学(包括碰撞检测和人群转向),软体动力学,质量粒子动力学和流体动力学。通讯单元可以包括一个或以上的专用收发器,用于接收从天线,WiFi或者其组合来的通讯信号以及把此类信号发送到天线,WiFi或者其组合。一个或以上的专用收发器最好是毫米波收发器。渲染引擎可以在数据上执行渲染算法,目的是合成图像以生成逼真的3D模型。
根据一个实施例,通用的引擎核包括3D结构处理器,一个人工智能引擎,一个模拟引擎,一个通讯单位,一个定位引擎,以及一个渲染引擎。每一个都由专用的电路在硬件里实行。一个包括通用引擎核的芯片可以作为一个基于位置的游戏以及/或者模拟引擎以及人工智能引擎,提供可以驱动多个应用的精确的定位与方向。在一些实施例中,3D结构处理器要求相应的客户端设备的位置与方向,在定位引擎上采用一个包括通用引擎核的芯片,目的是提高客户端设备相对于用户周围的其他元素的位置和方向的准确性。在一些实施例中,定位引擎可以在从3D结构处理器接收位置以及方向请求的同时,请求以及接收全球卫星导航系统(GNSS)无线波信号,它集中指多个基于卫星的导航系统,如GPS,BDS,Glonass,Galileo,QZSS和IRNSS,从而通过三角测量或三边测量等技术,执行基于硬件的算法来计算各个客户端设备的位置。在其它实施例中,定位引擎可以进一步与通讯单元进行通讯,同时使用4G天线,毫米波或者厘米波天线(例如通过5G网络)或者其组合,使用通过采用天线三角测量方法,例如TOA以及AOA,通过蜂窝网络定位技术获取相应的客户端设备的位置数据;可以使用例如WiFide的室内跟踪技术;或者可以使用本领域已知的其他跟踪技术。在另外的实施例中,定位引擎可以进一步从一个或以上通过硬件界面与芯片连接的传感机制获取位置与方向相关的传感数据,例如一个或以上的惯性测量单元(IMU),加速度计,陀螺仪,摄像机,眼动跟踪传感器等。在另外的实施例中,定位引擎可以进一步从3D结构处理器请求以及获取相应的客户端设备的位置与方向数据,其中用户周边的3D结构实体以及一个用户的3D结构(例如一个3D用户头像的3D结构)可以向定位引擎提供另外的信息,以计算相应的客户端设备的位置与方向。在另外的实施例中,定位引擎可以通过结合以上所描述的方法计算相应的客户端设备的位置与方向。
在一些实施例中,模拟引擎包括专用硬件电路,其被配置为实现用于将真实世界对象的行为,功能和抽象或物理属性模拟到虚拟世界中的虚拟副本中的算法,并预测这些特征。模拟引擎可以通过各种方法获得与每个现实世界对象相关的多个数据,例如通过虚拟副本编辑器输入数据集,该虚拟副本编辑器可以是计算机辅助绘图(CAD)软件或其他类似系统的一部分,输入可用于丰富和/或补充输入数据的每个真实世界对象的感官数据,或者通过使用它们的组合。例如,现实世界的对象数据可以通过输入一个建筑信息模型(BIM)来获取,其可以提供与建筑物的外观以及运作相关的多个特点。在另外一个例子里,现实世界的对象数据可以通过数据一个车的虚拟模型来获取,提供与车的外观以及操作相关的多个特点。在另一个示例中,诸如合成孔径雷达,实孔径雷达,AVTIS雷达,光检测和测距(LIDAR),反孔径雷达,单脉冲雷达和其他类型的成像技术的雷达成像可以用于映射和在将它们集成到虚拟世界之前为真实世界实体建模。
模拟引擎还可以从定位引擎获得客户端设备位置和方向数据,以便将所述位置和方向数据模拟到虚拟副本中,或者进一步预测客户端设备的位置和方向。举例来说,模拟引擎可以用在自动驾驶车辆或无人机中所采用的芯片中,以便预测它们的直接路径。可以通过获得自动驾驶车辆或无人机的当前位置,方向,速度和加速度并使用这些数据来内插预测它们的直接路径。
在一些实施例中,通讯单位包括设置用于从天线接收无线波信号并把此信号发送回天线的硬件,其也可以用于对主机系统实行精确的追踪。在一些实施例中,使用毫米波收发器,其可以被设置用于从天线接收毫米波信号并将此信号发送回天线。在一些实施例中,追踪可以通过本领域所熟悉的几个技术来进行,例如达到时间(TOA),达到角度(AOA),或者本领域所熟悉的追踪技术(例如视觉成像,雷达技术等)。
在另外的实施例中,通讯单位在硬件里,在托管设备的用户之间采用一个基于分布式总帐的通信管道,包括一个电子芯片。使用加密技术,使用加密“密钥”和加密签名,通过以一个安全精确的方式允许信息储存,基于分布式总账的通讯管道可以通过一个分散的网络在用户之间实现直接通讯。存储信息后,数据将成为不可变数据库,并受网络规则的约束。
在另外一个实施例中,多个处理核实现多个游戏和/或模拟引擎以及多个人工智能引擎,其中多个游戏和/或模拟引擎中的每一个与单一的或至少多个人工智能引擎中的一个相关联。
在另外一个实施例中,至少一个处理核采用一个中央处理器。因此,此至少一个处理核可以是一个电子电路,通过执行基本的计算,逻辑,控制以及输入/输出操作来执行计算机程序的指示。中央处理器的功能可以与现存的CPU的功能相同或相似。中央处理器可以根据指令集架构直接在电子芯片上运行软件。软件可以是为游戏以及/或者模拟引擎以及人工智能引擎所专用。然而,应该指出的是中央处理器不仅限制于游戏以及/或者模拟引擎以及人工智能引擎的处理,而且也可以运行任何类型的利用电子芯片功能的软件。电子电路可以以任何组合在单个电子芯片上包括至少一个相应的微控制器,微处理器或数字信号处理器(DSP)。为了实现中央处理器的操作,电子芯片可以进一步包括内存块,例如选择ROM,RAM,EEPROM和/或闪存,定时源包括任意组合的振荡器和锁相环,外设包括计数器定时器,实时定时器和上电复位发生器,外部接口,如USB,Firewire,以太网,SPI等,包括ADC和DAC的模拟接口,电子芯片上的电压调节器和电源管理电路。这些组件的一部分可以形成电子电路的一部分,实现至少一个处理核采用中央处理器,同时其它的组件可以是分开的以及电子芯片的专用组件,这由一个或以上的电子电路来实现,采用其所期待的功能。游戏以及/或者模拟引擎以及人工智能引擎可以直接地与中央处理器耦接,同时/或者可以采用一个缓冲区或者内存在中央处理器以及游戏以及/或模拟引擎之间进行数据交换。中央处理器也可以包括直接与硬连线游戏以及/或者模拟引擎以及硬连线的人工智能引擎耦接的界面。通过使用专用的数据链接以及/或者缓冲区,将游戏以及/或者模拟引擎以及人工智能引擎与中央处理器进行耦接,由于数据交换可以通过简短地数据链接而不需要采取复杂的数据交换协议,数据交换的速度以及吞吐量可以大大地改善以及得到优化。
在另外的实施例中,多个处理核采用多个中央处理器,每一个中央处理器被设置,用于执行不同指令集架构的指令。因此,电子芯片可以在个别的中央处理器上运行软件,其可以为不同的系统编译,包括但不限制于通常用于个人电脑系统的Intel's x86架构,以及通常用于手提电话以及平板电脑的基于ARM指令集的系统。因此,电子芯片可以用于异构环境,对用于广泛软件上具有明确定义的游戏和/或模拟引擎接口提供统一的访问,而无需将软件适配到特定的指令集架构中。
根据一个实施例,一个适用于由EPU所使用的软件的指令集架构包括一个可延伸的指令集计算机架构(EISC),其专门为芯片上的游戏以及/或者模拟引擎以及芯片上的人工智能所要求的高水平的操作所设计。在其他实施例中,诸如复杂指令集架构(CISC),精简指令集架构(RISC)或本领域中已知的其他合适的指令集架构可以由EPU使用的软件使用。
在另外的一个实施例中,游戏以及/或者模拟引擎以及人工智能引擎被设置,用于通过硬件界面与一个外部的GPU进行数据通讯。游戏以及/或者模拟引擎以及人工智能引擎可以从外部实体,例如CPU或者GPU通过至少一个硬件界面接收数据。游戏以及/或者模拟引擎以及人工智能引擎可以通过硬件界面把经过处理的数据发送到外部实体或者另外的外部实体。硬件界面最好是一个总线界面或者一个外部界面。经过处理的数据可以提供给外部的GPU,进行进一步的处理以及/或者在目标现实上进行渲染,或者提供补充的机器学习算法处理。
在另外一个实施例中,至少一个处理核采用图形处理器(GPU)(在硬件里)。因此,GPU可以被看作是在电子芯片上的一个硬连线的图像处理器。至少一个硬件界面可以包括一个媒体界面,例如HDMI等,其可以向一个显示或屏幕提供由经在芯片上的图形处理器渲染的数据。然而,可以指出的是图形处理器也可以通过硬件界面与一个主机系统的一个总线或者其它互联进行接口从而提供可以显示的经过渲染的数据。
在另外一个实施例中,游戏以及/或者模拟引擎以及人工智能引擎可以被设置,从而为GPU生成数据。游戏以及/或者模拟引擎以及人工智能引起可以预先处理输入数据,其可以适用于GPU的专用硬件上的处理,其中包括SIMD处理或者本领域所熟悉的矢量处理。可以向芯片上的GPU提供预先处理的数据,其可以进一步处理数据以及/或者根据预先处理的数据生成图形场景的最后渲染,或者提供补充的机器学习算法处理。图形处理器也可以向游戏以及/或者模拟引擎以及人工智能引擎提供结果从而进行进一步的处理。因此,游戏以及/或者模拟引擎以及人工智能引擎可以预备数据或者数据集,并向GPU卸载某些特定的任务,目的是利用GPU的功能或者GPU特定的硬件。
在一些实施例中,游戏以及/或者模拟引擎以及人工智能引擎可以在内存里储存预先处理的数据,同时向芯片上的GPU发送读取以及进一步处理数据的指令。芯片上的图形处理器可以使用内存或者不同的通讯渠道把结果发送到硬连线的游戏以及/或者模拟引擎以及/或者人工智能引擎。使用注册器或者注册器集来控制内存的属性,从而指明所存储数据的特点以及/或者控制芯片上的GPU的操作。
在另外一个实施例中,图形处理器与视频存储器相连接,同时游戏以及/或者模拟引擎以及人工智能引擎被设置,用于通过视频存储器向GPU提供数据。芯片上的GPU可以与专用的视频存储器相连接,其可以在内部被图形处理器所使用,用于在图形处理器处理过程中装载,储存或者缓冲数据。视频存储器可以作为一堆存储器芯片安置于插入器上。视频存储器可以进一步地例如通过至少一个硬件界面与至少一个采用游戏以及/或者模拟引擎地一个处理核进行耦接,或者与至少一个采用人工智能引擎的处理核耦接,从而实现游戏以及/或者模拟引擎以及人工智能引擎直接地向视频存储器装载以及储存数据。这可以在没有离开GPU标准设计的前提下,进一步改善硬连线地游戏以及/或者模拟引擎,人工智能引擎以及芯片上地GPU之间的数据交换的速度与吞吐量,这样可以简化芯片的设计与生产。
在另外一个实施例中,电子芯片可以包括另外的视频编码器,解码器以及显示器。视频编码器和解码器可以执行针对视频序列的编码和解码的各种专用功能。显示器可以是被配置用于显示一个或多个处理核心(例如,游戏和/或模拟引擎,人工智能引擎或可选GPU)的至少一些输出数据,或者可以被配置用于显示状芯片的状态,例如,通过使用多个状态指示器。此外,显示器还可以被配置为用于向外部显示器提供数据的界面。
根据一个实施例,至少一个硬件界面可以为芯片的个别组件提供数据,例如,游戏以及/或者模拟引擎,人工智能引擎,GPU,CPU,视频编码器与解码器,以及/或者由个别组件所产生的输出数据,例如由游戏以及/或者模拟引擎,人工智能引擎,GPU或者CPU所产生的数据。硬件界面可以被设置,符合一个或以上的标准,例如USB,HDMI等相似。
根据一个另外的实施例,提供根据本公开的实施例包括至少一个芯片的芯片组件。芯片最好包括一个或以上的处理核以及至少一个与至少一个或以上这样的处理核耦接的硬件界面,其中至少一个或以上的处理核采用一个游戏以及/或者模拟引擎,同时其中至少一个这样的处理核采用一个人工智能引擎。芯片组件可包括硅中介层或载体,板或基板,以安装芯片组件的至少一个芯片和其他组件。
如贯穿本公开,芯片可以被视为晶体管层,其可以进一步包括在晶体管层顶部上的多个金属互连层。晶体管层可能难以制造,特别是对于非常小的晶体管。此外,也可能难以制造金属互连的第一层,其可包括非常细的金属线。技术人员可以理解,大多数故障可能发生在这些层的生产当中。上层可以具有较粗的线,并且相比之下更容易生产并且很少导致生产失败。因此,它们可用于将芯片的主要区域连接在一起。
贯穿本公开内容中所使用的(硅)中介层可以是通常非常大的芯片,其仅具有可以使用较粗的线的上层互连。因此,(硅)中介层可以用现有的芯片制造设备更便宜地进行设计和生产。尽管导线可能相对较厚,但(硅)插入器可包括数万根导线。
正如贯穿本公开内容,芯片组件是指在一个硅中介层的多个(亚)芯片的组合。因此,芯片组件可以在功能上与单一的非常大的芯片相当。这将具有特别的优势,例如如果在生产或制造过程中,单一的芯片变成非常大,而导致生产费用高,例如由于更高的缺陷率。相应地,单一芯片的设计可以在细分为多个更小的分开的(亚)芯片。更小的芯片可以首先被测试,同时那些通过测试的可以在一个芯片的组件里在硅中介层上进行连接。此外,通过在适当尺寸的硅中介层上放置几个相同的小芯片,可以以很少的额外成本在整个设计中制造不同尺寸的芯片。因此,根据本公开的实施例,芯片组件的至少一个芯片可以被细分为多个单独的较小(子)芯片,其可以在芯片组件的硅中介层或载体上连接在一起。
硅中介层可用于在芯片组件上的多个芯片之间建立数万个连接。可以理解的是,硅中介层可以建立比由载体,板或基板所提供更多的互连,从而可以安装至少一个芯片。硅中介层可以覆盖由硅中介层互连的所有(子)芯片的整个区域。
然而,在另外一个实施例中,一个芯片组件可以使用包括互连层的微桥梁进行互连。微桥梁仅仅可以覆盖相邻的(亚)芯片,在这些相邻的(亚)芯片之间提供互连。
在一个实施例中,芯片组件可以进一步包括至少一个中央处理器,其中此中央处理器与芯片的硬件界面相连接。中央处理器可以通过总线界面或者任何适合的界面或者芯片组件的互连连接到硬件界面。
在另外一个实施例中,芯片组件可以进一步包括至少一个图形处理器,其中至少一个图形处理器与芯片的硬件界面相连接。
在另外一个实施例中,芯片组件可以进一步包括一个内存控制器,其被设置,用于与游戏以及/或者模拟引擎以及芯片的人工智能引擎进行数据交换。
因此,芯片组件可以采用硬连接的游戏以及/或者模拟引擎以及人工智能游戏以及/或者模拟引擎与电子芯片集成,同时可以进一步包括一个或以上的专用组件,包括一个中央处理器,一个图形处理器以及/或者一个内存控制器,这些将形成芯片组件的一部分,但对于实现硬连线游戏和/或模拟引擎和人工智能引擎的芯片而言,这可能是芯片外的。然而,这些芯片可以与一个主机系统的组件以及采用游戏以及/或者模拟引擎以及人工智能引擎的电子芯片组件区分开来,例如芯片上的中央处理器,芯片上的GPU以及/或者一个芯片上的内存控制器。通过在芯片组件里在芯片外使用以及集成这些组件,可以使用用于中央处理器,GPU以及内存控制器的标准组件,这样可以简化芯片组件的设计,处理以及制造,同时减低相应的开支。芯片组件以及其组件可以安置在一个包括用于芯片组件的个别组件的互连的在载体,板或基板上。
在一个实施例中,芯片组件可以包括多个叠加的集成电路,其中一个集成电路叠加在另外一个集成电路上或者叠加在一个内插芯片上。垂直的叠加集成电路可以通过硅穿孔来进行连接。硅穿孔是穿过硅晶片或模具的垂直电连接。另外,垂直的叠加的集成电路可以通过使用电感耦接技术进行连接,实现在垂直叠加集成电路之间的近场无线通讯。集成电路可以在一个或以上的电子芯片上的硬件实现或者执行,包括一个或以上采用硬连接的游戏以及/或者模拟引擎,人工智能引擎,中央处理器,图形处理器,内存控制器以及芯片组件的组件以及界面的任何组合的处理核。一个叠加设计可以认为是内插器的一种变体。
应该清楚的是在“硅中介层”或者“硅穿孔”中所使用的硅是从硅是用作芯片生产中的晶片衬底的主要材料而来的。然而,被公开的实施例不应该被限制在这种特别的材料。其它适用于本公开的实施例的材料包括锗,砷化镓,砷化铟等的任何组合。因此,在相应的实施例中可以使用相应的插入器或通孔。
在一个实施例中,芯片组件可以包括在封装里。芯片组件可以最好包括在一个图形处理器封装里或者一个游戏以及/或者模拟引擎处理器封装。芯片组件最好包括在系统级封装里或者封装里的封装。包括芯片组件的包可以简单地集成各种各样的目标环境,目的是实现高性能以及计算机图形的真实渲染以及高效准确的机器学习处理。
在一个系统级封装里,几个集成电路可以包括在一个单一的模块(封装)中。系统级封装可以执行所有或者大部分的电子系统的功能,同时可以使用在例如手提电话,数字媒体播放器等。包含集成电路的模具可以垂直堆叠在基板,载体或板上。它们可以通过与粘合到封装的电线进行内部连接。另外,可以使用一个倒装芯片技术,其中焊料凸块用于将堆叠芯片连接在一起。系统级封装模具可以垂直进行叠加或者水平平铺,从而生产出密集的多芯片封装。系统级封装可以将模具与标准的片外引线粘合或焊料凸点进行连接,或者可以至少部分地使用类似于三维集成电路的技术,该三维集成电路通过模具将叠加的硅管模具与穿过模具的导体进行连接。系统级封装可以包括一个或以上的特制的处理器,DRAM,闪存以及其它活跃的组件,此组件可以与例如安装在同样的板,载体或基板上的电阻器以及电容器相结合。系统级封装代表一个功能单元,其可以在不需要外部组件的条件下在多芯片封装里进行组建。这在空间受限的环境中是有利的,例如移动设备或头戴式显示器。因此可以大大降低印刷电路板的复杂性和整体设计。
根据一个实施例,根据本公开的一个系统可以包括一个具有引擎协处理器的CPU协处理器。游戏以及/或者模拟引擎协处理器可以看作是一个独立的芯片,也可以具有其自己的封装,其可以通过一个界面总连线与CPU连接,例如PCI快速总连线,或者其它总连线界面或者互连。使用包括一个具有一个引擎协处理器的CPU协处理器的系统,例如,在一个服务器中,同时其可以被设置,用于支持边缘处理(例如由客户端设备进行的处理,例如移动电话或者头戴显示)。然而,在一个客户端设备里使用包括一个具有一个引擎协处理器的CPU的系统是可以理解的。引擎协处理器可以包括一个或以上的硬连线的游戏以及/或者模拟引擎以及一个或以上的人工智能引擎的芯片。引擎协处理器可以包括一个内存控制器以及一个与CPU通讯的硬件界面。CPU可以包括一个或以上的CPU核,一个内存控制器,以及一个硬件界面。在其它的实施例中,引擎协处理器可以包括一个采用3D结构处理器,一个人工智能引擎,一个物理处理器,一个通讯单元,以及一个渲染引擎的引擎核,其中在硬件里的实行是通过专用的电路。在另外的实施例中,没有渲染引擎包括在游戏以及/或者模拟引擎协处理器的引擎核里。CPU可以向引擎协处理器发出指令,其可以准备可以发回到CPU的数据集以及指令。一个更高的性能可以通过把CPU任务卸载到游戏以及/或者模拟引擎协处理器的方式达到。在引擎协处理器上的专用内存控制器可以允许引擎协处理器使用其本地的内存来执行特定的游戏以及/或者模拟引擎以及机器学习的任务。这样可以通过增加I/O速度以及带宽来改善性能。
根据另外一个方面,根据本公开的实施例,提供一个包括至少一个芯片或者芯片组件,一个托管CPU以及GPU,一个电源,一个内存,以及I/O模,以及传感机制的计算设备。通过执行所公开的游戏以及/或者模拟引擎任务以及机器学习算法,使用芯片或者芯片组件来支持托管CPU以及GPU。计算设备可以是移动设备,头戴显示器,个人电脑,游戏控制台,服务器计算机等。
根据一个实施例,提供一个加快图形处理以及机器学习算法计算的方法。此方法包括在一个计算设备提供至少一个包括至少一个硬件界面,以及包括一个或以上的游戏以及/或者模拟引擎以及一个或以上的经耦接的人工智能引擎的电子芯片;提供一个与外部内存进行通讯连接的内存或内存控制器;获取输入数据,同时通过内存把数据传输到游戏以及/或者模拟引擎;通过游戏以及/或者模拟引擎在传感数据上执行一个或以上的任务,目的是衍生出至少一个第一或者一个第二的数据集,同时通过内存把数据集传输到人工智能引擎;通过人工智能引擎在数据集上应用机器学习算法;检测是否存在更多的输入数据,在这种情况下,可以倒回去方法以获得新的输入数据,如果是否否定的话,方法会结束。
根据另外一个实施例,提供一个计算机可读中介,其中计算机可读中介在其上储存指令,在安装在一个计算设备以及由其执行指令的时候,根据本公开的实施例,可以导致计算设备执行一个方法。根据本公开的实施例,此方法最好包括制造一个电子芯片以及/或者进行芯片操作。
附图说明
本公开所具有的特定特征,方面以及优势可以通过以下的说明以及其相应的附图进行刚好的说明,其中:
图1A-1E根据一个实施例,示出了包括一个或多个硬连线游戏和/或模拟引擎以及一个或多个人工智能引擎的电子芯片的示意图;
图2A-2C根据一个实施例,示出了包括一个或多个硬连线游戏和/或模拟引擎,一个或多个人工智能引擎,GPU和CPU的电子芯片的示意图;
图3A-3C根据一个实施例,示出了包括一个或多个硬连线游戏和/或模拟引擎,一个或多个人工智能引擎和GPU的电子芯片的示意图;
图4A-4C根据一个实施例,示出了包括一个或多个硬连线游戏和/或模拟引擎,一个或多个人工智能引擎,GPU和多个CPU的电子芯片的实现方式;
图5A-5C根据一个实施例,示出了当前公开的电子芯片作为协处理器芯片的实现;
图6A-6C根据一个实施例,示出了当前公开的电子芯片作为基于位置的游戏和/或模拟和人工智能引擎
图7A-7C根据本公开的一个实施例,示出了多个芯片组件的例子;
图8A-8B示出了采用本公开的电子芯片的计算设备;
图9根据一个实施例,示出了一个可以加快图形处理以及机器学习算法计算的方法。
具体实施方式
在以下的描述中,参考通过图示的方式来示出了各种实施例的附图。此外,下面将通过参考若干示例来描述各种实施例。在不脱离所要求保护的主题的范围的条件下,实施例可以包括设计和结构的改变是可以理解的。
图1A-1E根据本公开的一个实施例,示出了一个电子芯片的示意图。电子芯片可以包括多个硬连线的游戏以及/或者模拟引擎以及多个人工智能引擎,这些可以实际地包括在芯片上,其可以代表在芯片上的一个系统。相应地,贯穿本公开的电子芯片可以指EOC或者引擎处理单元(EPU)。
正如在图1A所示,芯片100可以包括多个处理核,每一个通过专用的电子电路,一个(硬连线的)游戏以及/或者模拟引擎102以及一个人工智能引起(AI)104在硬件上采用。尽管每个处理核被示为在硬件中采用专用组件,但是应该理解的是,多个处理核可以以任何组合采用一个组件,或者一个处理核可以采用多个组件,例如游戏和/或模拟引擎102和AI引擎104。芯片100可包括多个游戏和/或模拟引擎102和多个AI引擎104。
芯片100可以体现为具有增强的图形以及机器学习处理性能的一个游戏以及/或者模拟引擎处理器,同时可以在硬件里作为一个游戏以及/或者模拟引擎处理器芯片或者一个游戏以及/或者模拟引擎处理器封装来实现,其中封装可以包括一个单一的或者多个集成电路,在硬件中实现个别组件的功能。硬连线的游戏以及/或者模拟引擎102可以包括在一个硬件组件中,例如芯片100,其可以是一个单独的游戏以及/或者模拟引擎处理芯片或者一个游戏以及/或者模拟引擎处理器封装。具有增强的机器学习处理性能的游戏以及/或者模拟处理器在高端3D图形或者游戏计算机上特别有用,但是在其它要求图形或者声音识别,快速行为学习以及自动决策的3D应用中也是非常有用。这些计算机系统通常分开的托管CPU以及具有一个或以上的GPU的分开的3D显卡,来执行图形处理以及机器学习处理。独立的游戏以及/或者模拟引擎处理器可以放置在例如一个与一个或以上的GPU一起的3D显卡里,但是不需要这样的限制。
芯片100可以包括在一个作为SOC的主机系统里(为显示)。硬连线的游戏以及/或者模拟引擎102可以直接处理位于内存106里专门构建的数据集。如图1A所示,内存106可以位于芯片100所专门指定的区域。然而,内存也可以指主机系统的外部内存,其可以通过一个或以上的芯片内存控制器关口进行访问。游戏以及/或者模拟引擎102可以在内存106里存储预先处理的数据,同时向芯片上的人工智能引擎104发送读取以及进一步处理数据的指令。人工智能引擎可以用内存106或其它通讯渠道向硬连线的游戏以及/或者模拟引擎102发送有关的结果。使用一个注册器或者一个注册器集来控制内存106的属性,表明所储存的数据的特性,以及/或者控制芯片上的人工智能引擎104的操作。
在另外一个实施例中,电子芯片100可以包括另外的视频编码器以及解码器108以及显示器110,以及一个硬件界面112。视频编码器和解码器108可以执行针对视频序列的编码和解码的各种专用功能。显示器110可以是被配置用于显示一个或多个处理核心(例如,游戏和/或模拟引擎,人工智能引擎或可选GPU)的至少一些输出数据,或者可以被配置用于显示芯片100的状态,显示器还可以被配置为用于向外部显示器提供数据的界面。硬件界面112可以包括或者代表一个或以上的界面,其可以被配置以向芯片100的个别组件提供数据。例如,硬件界面112可以与一个或以上的传感机制进行连接。硬件界面112可以被设置,从而符合一个或以上例如USB,HDMI等的标准。
人工智能引擎104可以根据游戏以及/或者模拟引擎102的工作量或者根据预先确定的任务,分配到个别的游戏以及/或者模拟引擎102。根据内部情况以及对通过芯片100的硬件界面112所接收的指令的回应,可以通过游戏以及/或者模拟引擎102对任务进行控制。
由游戏以及/或者模拟引擎102所获取的数据可以通过游戏以及/或者模拟引擎102的硬件界面112直接由主机系统上的一个或以上的用户直接输入或者由传感机制获取。在一些实施例中,用户可以包括人类用户或者人工智能用户。例如,在应用的编程过程中,一个用户可以包括一个通过游戏以及/或者模拟引擎102的编程界面开发应用的程序员,同时输入数据可以通过编程界面进行输入。程序员也可以通过不涉及通过编程界面的数据输入的传感机制来输入数据。然而,可以使用人工智能中介来测试或者甚至编程,同时也可以输入数据。在另外一个例子中,在执行应用的过程中,游戏以及/或者模拟引擎102的用户可以包括应用的最终用户。由传感机制所捕捉的传感数据包括一个或以上的图形数据,3D几何图形,视频数据,音频数据,文本数据,触觉数据,时间数据,位置与方向数据或者其组合。
在一些实施例中,由游戏以及/或者模拟引擎102在输入数据上所执行的任务可以由游戏以及/或者模拟引擎102来定义,同反映此引擎的功能。电子芯片100根据其功能公开了一个用于控制游戏以及/或者模拟引擎102的界面。在一些实施例中,一个或以上的任务可以通过芯片上的游戏以及/或者模拟引擎102的界面开始。一个或以上的任务可以在对视频游戏或者其它应用进行编程的过程中进行实时执行,但也可以在应用的运行过程中执行(例如由用户对应用进行实际的实时操作),其中游戏以及/或者模拟引擎102可以在实时处理除了由最终用户通过主机系统里的一个I/O模块所输入的数据,也处理用于为人工智能引擎104产生数据集的传感数据。例如,硬连线的游戏以及/或者模拟引擎102可以确定对象如何在计算机图形场景的其他对象上投射阴影,对象如何在其他对象中反射,或者如何落在一个对象上的光可以照亮其他周围的对象。然而,游戏以及/或者模拟引擎102可以被设置,用于执行其它任务以及/或者可以提供其它功能,例如管理,模拟以及渲染计算机图形情景的对象。在本公开的另外一个方面,一个或以上的任务包括把输入数据分类为第一以及第二数据集。
在输入数据上执行一个或以上的任务来生成数据集可以储存在内存106里,同时由人工智能引擎104进行读取。数据集可以包括至少一个包括上下文数据的第一数据集,以及包括目标数据的第二数据集。上下文数据可以包括包围在包括一个或以上的芯片100的托管设备周围的环境的3D图形数据,3D几何数据,3D实体,3D传感数据,3D动态数据,视频数据,音频数据,文本数据,时间数据,位置以及方向数据,光数据等。目标数据包括包括目标脸部(例如人脸或者动物脸)的3D图形数据,3D几何数据,视频数据,音频数据(例如另外一个有兴趣的用户的声音),以及文本数据等。
根据一个实施例,人工智能引擎104被设置,用以在通过内存106所读取的数据集上执行机器学习算法。机器学习算法可以用于培训人工智能引擎104,同时用于新数据过后的推断。由于上下文数据可以向人工智能引擎104提供额外的信息层,与本公开的目标数据结合来执行机器学习算法可以提高由人工智能引擎104所执行的任务识别的速度。此额外的信息层可以在培训以及推断数据的过程中使用,从而提高根据目标所处位置的上下文定位特定目标的可能性,这样可以提高计算速度并监督由任何一个或以上的处理核所要求的计算性能。由于处理是通过电子芯片100由经过耦接的硬连线游戏以及/或模拟引擎102以及硬连线的人工智能引擎104来直接完成,处理时间可以加快,因为经耦接的硬连线游戏以及/或者模拟引擎102以及硬连线的人工智能引擎104在不需要要求向CPU或者GPU进行数据传输以及处理的条件下,从软件游戏以及/或者模拟引擎102以及软件人工智能引擎104处理原始数据。
通过在硬件上采用一个游戏以及/或者模拟引擎102,加上加速处理在机器学习期间使用的张量收缩操作并推断数据识别和其他自主任务,本公开提供了一个有效的实时以及高真实度的渲染。因此,本公开的电子芯片可以适用于要求高度以及高速度的数据处理与识别的应用中,特别是用于无人机,无人驾车,机器人,机器以及计算机视觉,个人助理,视频游戏等的3D应用中。
根据一个实施例,天线(未显示)可以被设置,用于传播以及接收无线波,实现与芯片100进行移动通讯。天线可以通过有线或无线的方式与计算中心连接。在另外的实施例中,天线在计算中心以及/或者由计算中心提供服务的范围提供。在一些实施例中,为了服务室外的主机系统,天线可以包括基于毫米波的天线系统或者基于毫米波的天线以及亚6GHz的天线系统的组合。在其它实施例中,天线可以包括其它类型的天线,例如4G天线,或者用于毫米波/子GHz天线系统的支持天线。在天线用于服务室内主机系统的天线的实施例中,天线最好可以使用但不限制与无线局域网(WiFi)来提供具有16GHz的数据。
图1B-1E可以包括那些与图1A相类似的元素,因此包括同样或类似的参考号码。
图1B描述了一个实施例,其中芯片100采用一个具有专用人工智能引擎104的游戏以及/或者模拟引擎102,其中在至少一个通用的处理核或者引擎核114上由专用的电子电路来执行。在一个单一的,通用的硬件处理核上提供游戏以及/或者模拟引擎102以及人工智能引擎104可以通过在简短的数据链接实现快速通讯来减低处理时间。另外,使用专用于单个游戏和/或模拟引擎102的人工智能引擎104可以提高效率,因为人工智能引擎104可能仅需要处理来自人工智能引擎104专用的游戏和/或模拟引擎102的数据。每一个游戏以及/或者模拟引擎102以及芯片100b的人工智能引擎104的额外功能与在图1A所描述的功能相似。芯片100b额外包括一个内存106或者内存控制器(未显示),一个视频编码器和解码器108,显示器110和硬件接口112,被配置为具有与参考图1描述的功能类似的功能。
图1C描述了一个芯片100c的实施例,其中游戏以及/或者模拟引擎102被分开未独立的,专用的硬连线组件,其包括一个3D结构处理器116,一个物理处理器118,一个通讯单元120,以及一个渲染引擎122,每个都由硬件通过公共引擎核114中的专用电路与人工智能引擎104一起实现。通过在每一个个别的3D结构处理器116,人工智能引擎104,物理处理器118,通讯单元120以及在单一引擎核114上的渲染引擎122采用专用的电路,这些组件的功能可以由于被分配到根据其特定的功能的专用的硬件上而被提高。这将会导致在一个引擎核114里提供一个游戏以及/或者模拟引擎强化的功能以及加快人工智能的处理。芯片100c可以另外包括一个内存106或者内存控制器(未显示),一个视频编码器和解码器108,一个显示110,以及一个硬件界面112,被设置,具有与在图1A.所描述的功能类似的功能。
3D结构处理器116可以被设置,用于执行3D数据算法,目的是确定给定表面几何的忠实近似值并将图像处理成合适的数据结构(例如,八叉树,四叉树,BSP树,稀疏体素八叉树,3D阵列和k-d树)。物理处理器118可以执行提供某些物理系统的近似模拟的算法,例如刚体动力学(包括碰撞检测和人群转向),软体动力学,质量粒子动力学和流体动力学。通信单元120可以包括专用收发器,用于从天线接收和向天线发送通信信号。收发器最好是毫米波(mmW)收发器。渲染引擎122可以对数据执行渲染算法,以便合成图像以生成逼真的3D模型。
在一些实施例中,通信单元120包括配置成从天线接收无线电波并将数据发送回天线的硬件,其也可用于实现对主机系统的准确跟踪。在一些实施例中,可以采用mmW收发器,其可以被配置为从天线接收mmW波信号并将数据发送回天线。在一些实施例中,可以使用本领域已知的若干技术来执行跟踪,诸如到达时间(TOA),到达角(AOA)或本领域已知的其他跟踪技术(例如,视觉成像,雷达技术等)。
在另一实施例中,通信单元120在硬件里实现根据本公开的实施例的包括电子芯片100c的主机设备的用户之间的基于分布式总帐的通信管线。基于分布式总帐的通信管道可以通过允许使用加密技术以加密“密钥”和加密签名的安全和准确的方式来存储信息,从而通过分散网络实现用户之间的直接通信。信息一旦被储存以后,数据变成不可变的数据库并由网络规则进行管理。
图1D描绘了采用3D结构处理器116,人工智能引擎104,模拟引擎124,通信单元120,定位引擎126和渲染引擎122的芯片100d的实施例,每个都通过专用电路在硬件中实现。通过为每个3D结构处理器116,单个引擎核心上的人工智能引擎104,模拟引擎124,通信单元120,定位引擎126和渲染引擎122实现专用电路,由于为其特定功能分配了专用硬件,因此增强了这些组件中的每一个的功能。芯片100d可以另外包括存储器106或存储器控制器(未示出),视频编码器和解码器108,显示器110和硬件接口112,硬件接口112被配置为具有与图1A中描述的功能类似的功能。这里未描述的3D结构处理器116,人工智能引擎104,通信单元120和渲染引擎122的附加功能可以类似于参考图图1C中所描述的功能。
芯片100d可以充当基于位置的游戏和/或模拟引擎和人工智能引擎104,提供可以驱动多个应用的精确位置和方向。在一些实施例中,3D结构处理器116向定位引擎126请求实现芯片100d的客户端设备的位置和方向,以便提高相对于用户周围的其他元素的客户端设备的位置和取向的准确性。在一些实施例中,定位引擎126可以被配置为执行基于硬件的算法来计算基于全球卫星导航系统(GNSS)无线电信号计算各个设备的位置和方向,其总体上指代诸如GPS的多个基于卫星的导航系统,BDS,Glonass,Galileo,QZSS和IRNSS,从而通过三角测量或三边测量等技术,执行基于硬件的算法来计算各个客户端设备的位置。在另外的实施例中,定位引擎可以进一步与通讯单元120进行通讯,同时通过使用天线三角测量方法,例如到达时间和到达角度,使用4G天线,mmW或cmW(例如通过5G网络)天线的蜂窝网络定位技术或者其结合来获得相应的客户端设备的位置数据;使用例如WiFi的室内追踪技术;或者使用在本领域里已经知道的追踪技术,例如视觉成像以及雷达技术。在其它的实施例中,定位引擎126可以进一步从一个或以上与芯片100d连接的传感机制通过硬件界面112,例如一个或以上的惯性测量单元(IMU),加速度计,陀螺仪,照相机,眼睛跟踪传感器等获取与位置以及方向相关的传感数据。在另外的实施例中,定位引擎126可以要求并获取从3D结构处理器116而来的相应的客户端设备的位置以及方向数据,其中用户周围的3D结构主体以及用户的3D结构(例如一个3D用户复制品的3D结构)可以向定位引擎126提供进一步的信息,用以计算相应的客户端设备的位置与方向。在另外的实施例中,定位引擎126可以通过结合以上所描述的方法计算相应的客户端设备的位置与方向。
模拟引擎124可以包括专用的硬件电路,被设置用于采用算法,在虚拟世界里将现实世界的对象行为,功能,以及其抽象或具体的属性模拟成虚拟复制品,并同时预测此特点。模拟引擎124可以通过多种方式来获取多个与每一个现实世界对象相关的数据,例如通过作为计算机辅助作图软件或者其它相似的系统的一部分的虚拟复制品编辑器(未示出)输入数据集,通过输入可用于丰富和/或补充输入数据的每个真实世界对象的感官数据,或通过使用其组合。例如,可以通过输入建筑物信息模型(BIM)来获得真实世界物体数据,该建筑物信息模型提供与建筑物的外观和操作相关的多个特征。在另一示例中,可以通过输入提供与汽车的外观和操作相关的多个特征的汽车的虚拟模型来获得现实世界的对象数据。在另一个示例中,诸如合成孔径雷达,实孔径雷达,AVTIS雷达,光检测和测距(LIDAR),反孔径雷达,单脉冲雷达和其他类型的成像技术的雷达成像可以用于映射和在将它们集成到虚拟世界之前模拟真实世界实体。
模拟引擎124还可以从定位引擎126获得客户端设备位置和方向数据,以便将所述位置和方向数据模拟到虚拟副本中,或者进一步预测客户端设备的位置和方向。举例来说,模拟引擎124可以用在自动驾驶车辆或无人机中实现的芯片100d中,目的是通过获得自动驾驶车辆当前位置,方向,速度以及加速度来预测自动驾驶车辆或无人机的直接路径,并使用这些数据来插入车辆的直接路径。
图1E描绘了实现3D结构处理器116,人工智能引擎104,模拟引擎124,通信单元120,位置引擎126和渲染引擎122的芯片100e的实施例,每个芯片在共同的发动机核心114由硬件中的专用电路实现。通过为单个引擎核114上的每个3D结构处理器116,人工智能引擎104,模拟引擎124,通信单元120,位置引擎126和渲染引擎122实现专用电路,每个组件的功能由于为其特定功能分配了专用硬件得到了增强。芯片100d可以另外包括存储器106或存储器控制器(未示出),视频编码器和解码器108,显示器110和硬件界面112,硬件界面112被配置为具有与图1A中描述的功能类似的功能。这里未描述的3D结构处理器116,人工智能引擎104和通信单元120的附加功能可以类似于图1C所描述的功能。
芯片100e与芯片100d有区别,区别在于芯片100e没有包括一个渲染引擎。因此芯片100e可以实现基于位置的游戏以及/或者模拟引擎以及人工智能引擎,通过提供基于位置的3D结构处理,机器学习处理,以及模拟处理来支持一个客户端设备,但是需要在客户端设备里或者在包括本公开的EPU的云服务器里进行渲染,这在提供个人化渲染方面所期待的。
图2A-2C描述了本公开的一个电子芯片的另外一个实施例。图2A-2C的芯片200,200b,200c包括与图1A-1C向类似的元素,因此包括相同或类似的参考号码。
在图2A里描述的芯片200包括一个或以上的硬连线的游戏以及/或者模拟引擎102,一个或一个的硬连线的人工智能引擎104,一个图形处理器202以及一个中央处理器204。芯片200额外包括一个内存106或者内存控制器(未显出),一个视频编码器和解码器108,一个显示110以及一个硬件界面112。CPU204的功能可以与现存的CPU的功能相同或类似。CPU204可以根据直接在芯片200上的指令组架构允许软件运行。软件可以为游戏以及/或者模拟引擎102以及/或人工智能引擎104所专用。然而,CPU204不限制于处理游戏以及/或模拟引擎102以及或人工智能引擎104,但也处理利用电子芯片200的功能的软件。电子电路可以包括至少一个在单一电子芯片200上的相应的微控制器,微处理器,或者数字信号处理器。为了实现中央处理器的运作,电子芯片200可以进一步包括内存块,例如选择ROM,RAM,EEPROM和/或闪存,包括振荡器和锁相环的定时源,包括计数器定时器的外设,实时定时器和上电复位发生器,外部接口,如USB,Firewire,以太网,SPI等,包括ADC和DAC的模拟接口,电压芯片200上的电压调节器和电源管理电路的任何组合。这些组件的一部分可以形成电子电路的一部分,实现至少一个处理核采用中央处理器,同时其它成为电子芯片200的独立专用组件,由一个或以上的电子电路实行所期待的功能来实现。游戏以及/或者模拟引擎102以及人工智能引擎104可以直接与CPU204进行耦接,同时/或者可以使用缓冲器或内存在中央处理器以及硬连线的人工智能引擎104之间进行数据交换。中央处理器也可以包括另外直接与硬连线的游戏以及/或者模拟引擎102以及硬连线的人工智能引擎104耦接的界面。
GPU202可以作为一个在电子芯片200上的硬连线图形处理器。至少一个硬件界面112可以包括一个媒体界面,例如HDMI等,其可以向一个显示100或者屏幕提供经过芯片上的图形处理器渲染的数据。然而,图形处理器可以通过硬件界面112与总连线或者其它主机系统的互连进行接口,从而提供可显示的经过渲染的数据。
在一些实施例中,GPU202被设置,从而可以从游戏以及/或者模拟引擎102以及或从人工智能引擎104读取以及处理数据。游戏以及/或模拟引擎102以及人工智能引擎104可以预先处理适合在GPU202的特制硬件上进行处理的输入数据,其可以包括技术领域中所熟悉的SIMD处理或者矢量处理。经过预先处理的数据可以提供给芯片上的GPU202,其可以进一步处理数据以及/或者根据经预先处理的数据,生成图形情景的最后渲染,或者提供补充的机器学习算法处理。GPU202可以向游戏以及/或者模拟引擎102以及人工智能引擎104提供结果以进行进一步的处理。因此,游戏游戏以及/或者模拟引擎102以及人工智能引擎104可以预备数据或者数据集,同时把特定的任务卸载到GPU202,目的是利用GPU202的功能或者GPU202的特制的硬件。
在一些实施例中,游戏以及/或者模拟引擎102以及人工智能引擎104可以将预先经过处理的数据104储存在内存106中,同时向芯片上GPU202发送读取以及进一步处理数据的指令。芯片上的GPU202可以使用内存106或者使用另外的通讯渠道向硬连线的游戏以及/或者模拟引擎102以及/或者人工智能引擎104发送结果。可以使用一个注册器或者一个注册器集控制内存106的属性,表明所存数据的特定以及/或者控制芯片上GPU202的运作。
在另外一个实施例中,GPU202与视频内存相连接,同时游戏以及/或者模拟引擎102以及人工智能引擎104被设置,用于通过视频内存106向GPU202提供数据。芯片上GPU202可以与一个专用的视频内存106相联系,其可以在内部供GPU202所使用,用于在GPU202处理的过程中承载,存储或者缓冲数据。视频内存可以作为一堆内存106芯片位于一个内插器上。视频内存可以进一步通过至少一个硬件界面112与至少一个采用游戏以及/或者模拟引擎102的处理核或者与至少一个采用人工智能引擎104的处理核进行耦接,从而实现游戏以及/或者模拟引擎102以及人工智能引擎104可以直接向视频内存承载以及存储数据。这样可以在没有离开GPU202的标准设计的前提下,进一步改善硬连线游戏以及/或者模拟引擎102,人工智能引擎104以及芯片上GPU202之间的数据交换速度与吞吐量,这样可以简化芯片200的设计与制造。
在另外一个实施例中,游戏以及/或者模拟引擎102以及人工智能引擎104可以被设置,用于通过硬件界面112与一个外部GPU(未示出)进行数据通讯。游戏以及/或者模拟引擎102以及人工智能引擎104可以从例如一个CPU或者GPU等的外部实体,通过至少一个硬件界面112接收数据。游戏以及/或模拟引擎102以及人工智能引擎104可以通过硬件界面112向外部实体或者另外的外部实体发送经过处理的数据。硬件界面112最好是一个总连线界面或者一个外部界面。经过处理的数据可以向外部GPU提供,在目标显示上进行进一步的处理以及/或者渲染,或者提供补充的机器学习算法处理。
图2B描述了一个实施例,其中一个芯片200b采用一个游戏以及/或者模拟引擎102以及一个在一个公共处理核,或者引擎核114上所采用的专用的人工智能引擎104,其中芯片100可以进一步包括一个GPU202以及一个CPU204。在一个单一,公共的硬件处理核上提供游戏以及/或者模拟引擎102以及人工智能引擎104可以通过简短的数据链接实现快速通讯来减低处理时间。另外,采用一个专用于一个单一游戏以及/或者模拟引擎102的人工智能引擎104可以改善效率,因为人工智能引擎104只需要处理来自游戏以及/或者模拟引擎102的数据,此引擎是人工智能引擎104所专用的。GPU202以及CPU204的功能与在图2A所描述的功能相似。芯片200b可以另外包括一个内存106或者内存控制器(未显示),一个视频编码器以及解码器108,一个显示110,以及一个硬件界面112。
图2C描述了一个采用一个3D结构处理器116,一个人工智能引擎104,一个物理处理器118,一个通讯单位120以及一个渲染引擎122的芯片200c的实施例,每一个在一个公共的引擎核114由专用的电路进行实行,同时进一步包括一个芯片上GPU202以及一个芯片上CPU204。GPU202以及CPU204与在图2A所描述的类似。另外,3D结构处理器116,人工智能引擎104,物理处理器118,通讯单位120以及渲染引擎122的功能与在图1C里所描述的类似。芯片200c可以另外包括一个内存106或者内存控制器(未显示),一个视频编码器与解码器108,一个显示110以及一个硬件界面112。
图3A-3C描述了本公开的一个电子芯片的另外一个实施例。图3A-3C上的芯片300,300b,300c可以包括图1A-2C里的芯片所具有的相似元素,因此同时也包括相同或类似的参考号码。
图3A里的一个芯片300可以包括一个或以上的硬连线游戏以及/或模拟引擎102,一个或以上的硬连线的人工智能引擎104,以及一个GPU202。芯片300可以另外包括一个内存106或者内存控制器(未显示),一个视频编码器以及解码器108,一个显示110以及一个硬件界面112。芯片300可以体现为独立的“离散”图形处理器或具有增强的机器学习处理能力的独立的独立图形处理器封装,其中封装可以包含一个或多个集成电路。芯片300可以合并到独立的独立图形处理器芯片或封装中,其中图形处理器芯片或封装可以包括一个或多个集成电路。在封装里的多个合成电路可以使用一个内插器以及/或者通过叠加以及或者通过类似的制造工艺使其互相链接。
图3B描述了一个芯片300b,其采用一个游戏以及/或者模拟引擎102以及一个实行在一个公共处理核,或者引擎核114里的专用人工智能引擎104,其中芯片300b另外包括一个GPU202。芯片300b可以另外包括一个内存106或者内存控制器(未显出),一个视频编码器以及解码器108,一个显示110,以及一个硬件界面112。在一个单一公共的硬件处理核上提供游戏以及/或者模拟引擎102以及人工智能引擎104可以通过简短的数据链实现快速通讯从而减低处理时间。另外,采用专用于一个单一游戏以及/或模拟引擎102的人工智能引擎104可以改善效率,因为人工智能引擎只需要处理来自游戏以及/或者模拟引擎102的数据,此引擎为人工智能引擎104所专用。GPU202的功能与图2A里所描述的类似。
图3C描述了一个采用一个3D结构处理器116,一个人工智能引擎104,一个物理处理器118,一个通讯单位120以及一个渲染引擎122的芯片300c的实施例,每一个在一个公共的引擎核114由专用的电路进行实行,同时进一步包括一个芯片上GPU202。GPU202的功能与在图2A.所描述的类似。另外,3D结构处理器116,人工智能引擎104,物理处理器118,通讯单位120以及渲染引擎122的功能与在图1C里所描述的类似。芯片300c可以另外包括一个内存106或者内存控制器(未显示),一个视频编码器与解码器108,一个显示110以及一个硬件界面112。
图4A-4C描述了本公开的一个电子芯片的另外一个实施例。图4A-4C上的芯片400,400b,400c可以包括图1A-3C里的芯片所具有的相似元素,因此同时也包括相同或类似的参考号码。
图4A里的芯片400可以包括一个或以上的硬连线的游戏以及/或者模拟引擎102,一个或以上的硬连线人工智能引擎104,一个GPU202,以及多个CPU402a以及402b,其中每一个CPU可以被设置,用于根据一个不同的指令集构架执行指令。硬连线的游戏以及/或者模拟引擎102以及经过耦接的人工智能引擎104,连同多种类型的CPU402a以及402b可以结合到一个单一的硬件设备上,例如SOC。使用多个CPU402a以及402b,芯片400可以运行于符合不同平台,系统或构架的软件,例如,但不限制于根据通常用于个人电脑的Intel's x86架构的系统,以及根据通常使用于移动电话以及平板电脑的ARM指令集的系统,通过把相关的指令指示到CPU402a以及/或CPU402b。芯片400可以包括逻辑,用于确定每一个在芯片400上所有执行的代码,以及编译程序代码的体系结构,并将程序代码分配给相应的CPU。在一个实施例中,可适合于由EPU使用的软件所使用的指令集架构包括可扩展指令集计算机(EISC)架构,其为用于执行芯片上游戏和/或模拟引擎所需的高级操作和芯片上人工智能而专门设计。在另外的实施例中,指令集架构,例如复杂指令集架构(CISC),简化指令集架构(RISC)或本领域已知的其他合适的指令集架构可以由EPU所使用的软件来运行。
虽然图4A只是显示两种类型的CPU402a以及402b,需要明白的是在没有离开本公开的范围的情况下,根据其它指令集架构,也使用其它类型的CPU来执行指令。芯片200b可以另外包括一个内存106或内存控制器(未显出),一个视频编码器以及解码器108,一个显示110以及一个硬件界面112。
图4B描述了一个采用一个游戏以及/或模拟引擎102以及一个实行在一个公共处理核里的专用的人工智能引擎104,或则引擎核114,其中芯片400b另外包括与图4A类似的多个CPU402a以及402b。芯片400b可以另外包括一个内存106或内存控制器(未显示),一个视频编码器以及解码器108,一个显示110,以及一个硬件界面112。
图4C描述了一个采用一个3D结构处理器116,一个人工智能引擎104,一个物理处理器118,一个通讯单位120以及一个渲染引擎122的芯片400c的实施例,每一个在一个公共的引擎核114由专用的电路进行实行,同时进一步包括与图4A与B类似的多个CPU402a以及402b。另外,3D结构处理器116,人工智能引擎104,物理处理器118,通讯单位120以及渲染引擎122的功能与在图1C里所描述的类似。芯片400c可以另外包括一个内存106或者内存控制器(未显示),一个视频编码器与解码器108,一个显示110以及一个硬件界面112。
图5A-5C根据本公开的一个实施例,描述了一个系统。图5A-5C上的系统500,500b,500c可以包括图1A-4C里的芯片或者芯片组件所具有的相似元素,因此同时也包括相同或类似的参考号码。
图5A里的系统500可以包括一个引擎协处理器502以及一个CPU协处理器504。引擎协处理器502可以包括一个或以上在以上参考图1A-4C所讨论的芯片。引擎协处理器502可以与一个或以上的硬连线游戏以及/或模拟引擎506,以及一个或以上的硬连线的人工智能引擎508结合。引擎协处理器502可以进一步包括一个内存控制器510,一个硬件界面512,用于与CPU协处理器504进行通讯。CPU协处理器504可以包括一个或以上的CPU核514,一个内存控制器516,以及一个硬件界面518。
可以使用包括CPU协处理器504以及一个引擎协处理器502的系统500,例如,在一个服务器里,其可以被设置,用于支持边缘处理(由客户端设备所进行的处理,例如移动电话或头戴设备显示)。然而,系统500也可以使用在一个客户端设备。
引擎协处理器可以理解为一个独立的芯片,可能有其自己的封装,其可以通过一个界面总连线与CPU协处理器504进行连接,例如一个PCI快速总连线,或者其它总连线界面或者互连。引擎协处理器502可以包括其自己的内存控制器,其中内存可以位于引擎协处理器502以外或者在引擎协处理器上。
系统500可以进一步包括一个或以上的GPU(未显出),以及可以包括界面,用于与一个或以上的GPU进行连接,例如PCI快速总连线。然而,可以使用任何其它互连或者总连线技术把CPU协处理器504与引擎协处理器502以及一个或以上的GPU进行互连。
CPU协处理器504可以向引擎协处理器502发送指令,其可以准备可以发送回CPU协处理器504的数据集以及指令,或者通过硬件界面512以及518发送到一个外部独立的GPU。可以通过向引擎协处理器502卸载CPU任务的方法来达到高的性能,其可以包括特别为这些任务所设计的电路。
在引擎协处理器502上的专用的内存控制器510允许引擎协处理器502使用其本地内存来执行特定的游戏以及/或者模拟引擎任务。这可以有利于通过提高I/O速度以及带宽改善性能。
图5B里的系统500b可以包括一个引擎协处理器502以及一个CPU协处理器504。引擎协处理器502可以包括采用一个3D结构处理器502,一个人工智能引擎508,一个物理处理器522,一个通讯单元524,以及一个渲染引擎526,每一个在硬件里由在公共引擎核528里的专用电路来实行。引擎协处理器可以进一步包括一个内存控制器510以及一个硬件界面512来与CPU协处理器504进行通讯。CPU协处理器504可以包括一个或以上的CPU核514,一个内存控制器516,以及一个硬件界面518。CPU协处理器504的性能与在图5A里所描述的类似。
可以使用包括一个CPU协处理器504以及一个包括一个引擎核528的引擎协处理器502的系统500b,例如,在一个服务器里,同时可以被配置,用于支持边缘处理(例如由客户端设备所进行的处理,例如移动电话或者头戴显示),在应用需要的情况下,提高处理速度。然而,系统500b也可以使用在一个客户端设备里。
图5c里的系统500c可以包括一个引擎协处理器502以及一个CPU协处理器504。其中引擎协处理器502可以包括采用一个3D结构处理器502,一个人工智能引擎508,一个物理处理器522,一个通讯单元524,每一个在硬件里由在公共引擎核528里的专用电路来实行。引擎协处理器502可以进一步包括一个内存控制器510以及一个硬件界面512来与CPU协处理器504进行通讯。CPU协处理器504可以包括一个或以上的CPU核514,一个内存控制器516,以及一个硬件界面518。CPU协处理器504的性能与在图5A里所描述的类似。
系统500c与系统500b有区别,区别在于500c不包括一个渲染引擎。系统500c在实施例中有特别的用途,其中实行在一个服务器里发生,目的是用于支持边缘处理。在一个实施例中,系统500c可以通过提供补充的3D结构处理,机器学习处理以及物理处理来支持客户端设备,但是渲染直接通过使用芯片或者图1A-4C的SOC由包括本公开的EPU来进行处理,其可以提供个人化渲染。
图6A-6C描述了本公开的电子芯片的另外一个实施例。图6A-6C上的芯片600,600b,600c可以包括图1A-5C里的芯片或者芯片组件所具有的相似元素,因此同时也包括相同或类似的参考号码。
图6A的芯片600包括基于位置的游戏以及/或者模拟以及人工智能引擎核602,其与一个或以上的硬连线的3D结构以及人工智能引擎604,一个定位引擎126,一个模拟引擎124,一个通讯单元120,以及一个渲染引擎122相结合。通过在一个单一的引擎核114上的每一个3D结构以及人工智能引擎604,一个定位引擎126,一个模拟引擎124,一个通讯单位120,以及一个渲染引擎122实行专用电路,每一个这些组件的功能被提高,因为专用的硬件被配置到其特定的功能。芯片600可以进一步包括一个内存106或者内存控制器,以及一个硬件界面512,被配置从而获得与图1A里所描述的类似的功能。
芯片600可以作为一个基于位置的游戏以及/或者模拟引擎以及人工智能引擎,提供可以驱动多个应用的精确的位置以及方向信息。3D结构以及人工智能引擎604包括专用的电路,实行一个3D结构处理器以及一个人工智能引擎的算法,其中3D结构处理器部分以及人工智能引擎部分可以如图1D中所描述的运行。芯片600与图1D中的芯片100d有区别,区别在于芯片600没有包括一个视频编码器与解码器108以及显示110,其功能可以通过硬件界面112由与芯片600相连接的专用的硬件以及/或者软件进行实行。
图6B里的芯片600b提供与图6A里的芯片600相类似的功能,其中的区别是芯片600b没有包括一个渲染引擎。因此,芯片600b可以实现一个基于位置的游戏以及/或者模拟引擎以及人工智能引擎,通过提供一个基于位置的3D结构处理,机器学习处理,以及模拟处理来支持客户端设备。但是在客户端设备里通过专用的硬件以及/或软件模型(例如一个GPU以及/或者CPU)或者本公开中包括一个EPU的云服务器进行渲染,这在提供个人化渲染方面是需要的。
在图6C里的芯片600c可以提供类似于图6A里的芯片600的功能,区别在于图6A里的3D结构以及人工智能引擎604分别在为每一个功能专用的硬连线的组件里。因此,图6里的600c包括一个个别的3D结构处理器116以及一个个别的人工智能引擎104,余下的组件与图6A里的一样。
图7A-7C根据本公开的实施例,描述了多个芯片组件700的例子。芯片组件700可以包括封装衬底702,多个子芯片704和插入器706。芯片组件700可以通过插入器706在封装衬底702上被设置。多个子芯片704可以根据本公开的实施例组成EPU,同时多个子芯片704可以通过插入器706进行互连。插入器706本身可以是具有金属互连层的大型硅片,其由芯片生产设备进行生产。在插入器706上的金属互连层可以取代互连层,或者在单一芯片的多个范围进行互连。
在图7A所示的一个实施例中,插入器706可以使用穿硅孔708与封装衬底702连接。
图7B显示芯片组件700的另外一个实施例,使用另外一个方法,把多个子芯片704与单一的EPU互连。在这个例子的实施例中,多个子芯片704可以使用嵌入在封装衬底702中的微桥710进行结合于芯片组件中。微桥710本身可以是由芯片制造仪器所制造的具有金属互连层的硅片。在微桥710上的金属互连层可以取代互连层,或者在单一芯片的多个范围进行互连。
图7C显示另外一个芯片组件700的示例实施例。在这个示例中,多个子芯片704在芯片组件里垂直互连,被放置在封装衬底702上。这也可以指3D芯片叠加。垂直互连子芯片704可以使用硅穿孔,例如图7A中硅穿孔708,或者使用电感耦合技术,实现3D堆叠芯片之间的近场无线通信。
图8A-8B示出了实现本公开的电子芯片的计算设备800。
根据本公开的实施例,图8A的计算设备800包括至少一个芯片802,或者芯片组件,一个主CPU以及GPU804,一个电源806,一个内存808,一个I/O模810.以及传感机制812。芯片802或者芯片组件可以用于支持执行所公开的游戏以及/或者模拟引擎任务以及机器学习算法的主CPU以及GPU804。计算设备800可以是一个移动设备,一个头戴显示,一个个人电脑,一个游戏控制台,一个服务器计算机等。
芯片802以及CPU和GPU804可以呈现如图1A-7B所描述的相同功能。
应用在计算硬件的电源806被设置用于向计算设备800提供电源。在一个实施例中,电源806可以是一个电池。电源806可以安装在计算设备800里或者从计算设备800移开,以及可以是可充电的或非充电的。在一个实施例中,计算设备800可以通过用一个电源806取代另外一个电源806来进行充电。在另外一个实施例中,电源806可以通过附加在充电源的电线进行充电,例如通用串行总线(“USB”)FireWire,以太网,Thunderbolt或耳机线,连接到个人计算机。在另外一个实施例中,电源806可以通过电感充电,在其中使用电磁场来把能源从一个电感充电器转移到电源806,当两者很靠近但不需要通过电线将两者连接的情况下。在另外一个实施例中,可以使用一个对接站来进行充电。
内存808可以实行为适合从传感机制812或者从用户通过I/O模810所输入的数据里储存计算设备800的应用程序指示的计算软件与硬件。内存808可以是任何类型,其具有储存适合为CPU/GPU804以及芯片802所访问的信息的能力,包括一个计算机可读的媒体,或者其它可以存储可借助于电子设备读取的数据的介质,例如硬盘驱动器,存储卡,闪存驱动器,ROM,RAM,DVD或其他光盘,以及其他可写入和读取的内存。内存808除了持久储存以外,也包括临时储存。
计算设备800的I/O模810可以实行为硬件与软件,其被设置,用于与用户进行互动,并向一个或以上的系统组件提供用户输入数据。例如,I/O模810可以被设置,用于与用户进行互动,根据互动产生用户输入数据,同时向芯片802以及CPU/GPU804提供用户输入数据。在另外一个实施例中,I/O模810实行为一个外部计算指点设备(例如触摸屏,鼠标,3D控制,操纵杆,游戏手柄等)和/或文本输入设备(例如,键盘,听写工具等),被配置使其与计算设备800进行互动。在另外一个实施例中,I/O模810可以提供额外的,更少的或者与以上所描述的不一样的功能。
传感机制812可以实行为计算软件和硬件,可以使用于从用户处获得多种传感数据。传感机制812可以包括例如一个或以上的惯性测量单元(IMU),加速度计,陀螺仪,光传感器,触觉传感器,摄像头,眼睛跟踪传感器和麦克风等。IMU被设置,通过使用加速度计和陀螺仪的组合,用于测量以及报告计算设备800的速度,加速度,角动量,平移速度,旋转速度和其他遥测元数据。在IMU内的加速仪可以被设置,用于测量互动设备的加速度,例如由于地球重力场而引起的加速度。在一个实施例中,在IMU内的加速仪包括能够测量三个正交方向上的加速度的三轴加速度计。在另外的实施例中,一个,两个,三个,或者更多的独立的加速仪可以包括在IMU里。在另外的实施例中,可以包括与IMU分开的额外的加速仪以及陀螺仪。可以使用光传感器,触觉传感器,摄像头,眼睛跟踪传感器和麦克风来捕捉来自于用户以及其周围环境的输入细节,其可以被传输到CPU/GPU804以及芯片802进行进一步处理。
根据本公开的实施例,图8B里的计算设备800b包括至少一个芯片802,或者芯片组件,一个主CPU以及GPU804,一个电源806,一个内存808,一个I/O模810,传感机制812,以及一个通讯单位814。芯片802或者芯片组件可以通过执行所公开的游戏以及/或模拟引擎任务以及机器学习算法来支持主CPU以及GPU804。计算设备800可以是移动设备,头戴显示设备,个人电脑,游戏控制台,服务器电脑等。
与计算设备800不一样的是,计算设备800b包括专用的硬件电路以及/或者软件,采用一个通讯单元814,其可以起与图1A-7C所描述的同样的作用。
根据一个实施例,图9描述了一个方法,实现加速图形处理以及机器学习算法计算。方法900可以在例如在图1A-8B中所描述的系统里实行。方法900通过在一个计算设备上提供至少一个包括至少一个硬件界面的电子芯片以及一个或以上包括一个或以上的游戏以及/或者模拟引擎以及一个或以上的经耦接的人工智能引擎,从步骤902和步骤904开始。然后,方法900会继续在步骤906,通过提供一个芯片上的内存或者与一个外部内存进行通讯连接的内存控制器。内存可以用于储存由一个或以上的处理核所读取的输入数据,例如一个或以上的游戏以及/或模拟引擎以及人工智能引擎。
方法900继续在步骤908,获取输入数据,并通过内存把数据传输到游戏以及/或模拟引擎。输入数据可以指由用户输入的数据(例如应用开发商,或者应用的终端用户)或者由传感机制获取的传感数据。例如,传感机制包括那些在图8A-B所描述的机制。然后,方法900实行步骤910,通过由一个或以上的硬连线游戏以及/或模拟引擎执行一个或以上在传感数据上的任务,目的是为产生至少一个第一数据集以及一个第二数据集,然后通过内存把数据集传输到人工智能引擎。然后,方法900继续步骤912,通过由人工智能引擎在数据集商实行机器学习算法,其可以用于培训芯片或SOC的人工智能引擎,并通过芯片或SOC的人工智能引擎推断新的数据。
方法900继续进行检测914,检测是否有多于一个的输入数据。如果是,方法900会通过获取新的数据倒回到步骤908,如果没有更多的输入数据,方法900会结束,如在终结器916中所示。
这里使用的术语仅用于描述特定实施例的目的,而不是要限制本发明。这里可以使用空间相对术语,例如“下方”,“下方”,“下方”,“上方”,“上方”等,以便于描述以描述一个元素或特征与另一个元素的关系。或者如图中所示的特征。应当理解,除了图中所示的取向之外,空间相对术语旨在包括使用或操作中的装置的不同取向。例如,如果图中的设备被翻转,则被描述为在其他元件或特征“下方”或“下方”的元件将被定向在其他元件或特征“之上”。因此,示例性术语“下方”可以包括上方和下方的方向。装置可以以其他方式定向(例如,旋转90度或在其他方向上),并且相应地解释在此使用的空间相对描述符。
如这里所使用的,单数形式“一”,“一个”和“该”旨在也包括复数形式,除非上下文另有说明。将进一步理解,术语“包括”和/或“包含”指定所述特征,步骤,操作,元件和/或组件的存在,但不排除存在或添加一个或多个其他特征,步骤,操作,元件,组件和/或其组。
这里使用的术语“或”和“和/或”应被解释为包含性的或意指任何一个或任何组合。因此,“A,B或C”或“A,B和/或C”表示以下任何一种:A;B;C;A和B;A和C;B和C;A,B和C。只有当元素,功能,步骤或行为的组合在某种程度上固有地相互排斥时,才会出现此定义的例外情况。
虽然已经在附图中描述和示出了某些实施例,但是应该理解,这些实施例仅仅是对本发明的说明而非限制,并且本发明不限于所示和所述的具体结构和布置,因为本领域普通技术人员可以想到各种其他修改。因此,该描述被认为是说明性的而非限制性的。

Claims (20)

1.一个电子芯片,其特征在于,包括:
多个处理核;以及
至少一个与多个处理核耦接的硬件界面,其中多个处理核的至少一个处理核通过专用的电子电路在硬件里实行第一个引擎,其中第一引擎包括一个游戏引擎或者一个模拟引擎,其中至少一个处理核通过专用的电子电路在硬件里实行人工智能引擎,其中第一引擎与人工智能引擎耦接,同时进行芯片上的实行。
2.根据权利要求1的芯片,其特征在于,第一引擎在一个处理核里实行,用于在输入数据上实行算法以及代码功能,从而生成数据集。
3.根据权利要求2的芯片,其特征在于,进一步包括被设置于用以储存由第一引擎所生成的输入数据以及数据集的内存,同时向人工智能引擎提供数据集,其中输入数据包括由用户通过编程界面所输入的数据,由传感机制所捕捉的传感数据或者其组合。
4.根据权利要求2的芯片,其特征在于,数据集包括一个包括上下文数据的第一数据集,以及包括目标数据的第二数据集。
5.根据权利要求4的芯片,其特征在于,上下文数据包括一个或以上的以下数据类型:3D图形数据,3D几何图形,3D主体,3D传感数据,3D动态对象,视频数据,音频数据,文本数据,时间数据,位置与方向数据,以及用户设备周围环境的光数据;同时其中目标数据包括一个或以上的数据类型:包括3D几何的图形数据,视频数据,音频数据,位置以及方向数据以及由机器学习算法所识别的与一个目标相关的文本数据。
6.根据权利要求2的芯片,其特征在于,人工智能引擎被设置,用于在数据集商实行机器学习算法,算法包括朴素贝叶斯分类器算法,最近邻算法,K均值聚类算法,支持向量算法,Apriori算法,线性回归算法,Logistic回归算法,神经网络算法,随机森林算法和决策树算法。
7.根据权利要求1的芯片,其特征在于,人工智能引擎包括专用电子电路,用于对机器学习的张量操作进行最佳操作。
8.根据权利要求1的芯片,其特征在于,第一引擎以及人工智能引擎在至少一个公共的处理核上实行。
9.根据权利要求8的芯片,其特征在于,在公共处理核上的第一引擎进一步被分开为包括一个3D结构处理器,一个通讯单位以及一个物理处理器或者模拟处理器的个别组件。
10.根据权利要求9的芯片,其特征在于,进一步包括一个渲染引擎。
11.根据权利要求9的芯片,其特征在于,进一步包括一个定位引擎,被设置用于从全球卫星导航系统接收无线信号,同时根据从卫星追踪系统,天线三角测量所获取的数据,以及从与芯片,3D结构或者其组合所连接的一个或以上的传感机制所获取的传感数据,进行一个或以上的基于硬件的算法,对相应的客户端设备的位置与方向进行计算。
12.根据权利要求9的芯片,其特征在于,通讯单位进一步被设置,以通过到达时间以及到达角度实现对主机系统的跟踪。
13.根据权利要求9的芯片,其中通讯单位进一步被设置,用于在主机系统的用户之间在硬件里实行一个基于分布式分类帐的通信管道。
14.根据权利要求1的芯片,其特征在于,至少一个处理核实行一个中央处理器。
15.根据权利要求1的芯片,其特征在于,至少一个处理核实行一个图形处理单位。
16.根据权利要求14的芯片,其特征在于,图形处理单位包括一个视频内存,同时第一引擎被设置,用于通过视频内存向图形处理单元提供数据。
17.一个芯片组件,其特征在于,包括:
至少一个芯片,其中至少一个芯片包括一个或以上的处理核;同时至少一个硬件界面与一个或以上的处理核的至少一个进行耦接,其中一个或以上的处理核的至少一个通过专用电子电路在硬件里实行一个游戏引擎或者一个模拟引擎,其中一个或以上的处理核中的至少一个通过专用电子电路在硬件里实行人工智能引擎,同时实行是属于在芯片上的实行。
18.根据权利要求24的芯片组件,其特征在于,进一步包括至少一个图形处理单位,其中至少一个图形处理单位与至少一个芯片硬件界面相连接。
19.根据权利要求24的芯片组件,其特征在于,进一步包括多个叠加集成电路,其中一个集成电路叠加在另外一个集成电路之上,或者在插入器芯片之上。
20.一个处理核,其特征在于,包括:
在硬件里实现一个游戏引擎或者一个模拟引擎的功能的专用电子电路实行,以及
在硬件里实现一个人工智能引擎的功能的专用电子电路实行,其中,实行属于在芯片上的实行。
CN201910199239.9A 2018-03-15 2019-03-15 游戏引擎以及芯片上的人工智能引擎 Pending CN110275859A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862643524P 2018-03-15 2018-03-15
US62/643524 2018-03-15

Publications (1)

Publication Number Publication Date
CN110275859A true CN110275859A (zh) 2019-09-24

Family

ID=65817865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910199239.9A Pending CN110275859A (zh) 2018-03-15 2019-03-15 游戏引擎以及芯片上的人工智能引擎

Country Status (3)

Country Link
US (1) US11301951B2 (zh)
EP (1) EP3556444A1 (zh)
CN (1) CN110275859A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177164A (zh) * 2019-12-17 2020-05-19 陕西天行健车联网信息技术有限公司 一种基于定时任务框架的车辆实时信息调度方法
CN111841012A (zh) * 2020-06-23 2020-10-30 北京航空航天大学 一种自动驾驶模拟仿真系统及其测试资源库建设方法
CN113419989A (zh) * 2021-06-11 2021-09-21 上海壁仞智能科技有限公司 人工智能芯片及其操作方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836895B1 (en) 2015-06-19 2017-12-05 Waymo Llc Simulating virtual objects
US11295506B2 (en) 2015-09-16 2022-04-05 Tmrw Foundation Ip S. À R.L. Chip with game engine and ray trace engine
US10909652B2 (en) * 2019-03-15 2021-02-02 Intel Corporation Enabling product SKUs based on chiplet configurations
US11625884B2 (en) 2019-06-18 2023-04-11 The Calany Holding S. À R.L. Systems, methods and apparatus for implementing tracked data communications on a chip
US11586983B2 (en) * 2020-03-02 2023-02-21 Nxp B.V. Data processing system and method for acquiring data for training a machine learning model for use in monitoring the data processing system for anomalies
US11239150B2 (en) 2020-03-25 2022-02-01 International Business Machines Corporation Battery-free and substrate-free IoT and AI system package
US11145580B1 (en) 2020-03-25 2021-10-12 International Business Machines Corporation IoT and AI system package with solid-state battery enhanced performance
US20210374607A1 (en) * 2020-05-29 2021-12-02 Advanced Micro Devices, Inc. Stacked dies for machine learning accelerator
US20210406246A1 (en) * 2020-06-24 2021-12-30 David Mueller Management of diverse data analytics frameworks in computing systems
US11375042B2 (en) * 2020-07-10 2022-06-28 Kyndryl, Inc. Symphonizing serverless functions of hybrid services
CN112817839B (zh) * 2020-09-08 2024-03-12 腾讯科技(深圳)有限公司 人工智能引擎测试方法、平台及终端、计算设备和存储介质
US20220398216A1 (en) * 2021-06-14 2022-12-15 Videon Central, Inc. Appliances and methods to provide robust computational services in addition to a/v encoding, for example at edge of mesh networks
JP2023011071A (ja) * 2021-07-11 2023-01-23 株式会社スクウェア・エニックス プラン処理プログラムおよびプラン処理システム
CN113627620A (zh) * 2021-07-29 2021-11-09 上海熠知电子科技有限公司 一种面向深度学习的处理器模组
CN116523045B (zh) * 2023-03-13 2023-11-07 之江实验室 一种面向多芯粒芯片的深度学习推理模拟器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011023204A1 (en) * 2009-08-24 2011-03-03 Abb Research Ltd. Simulation of distributed virtual control systems
US8200594B1 (en) * 2008-09-10 2012-06-12 Nvidia Corporation System, method, and computer program product for accelerating a game artificial intelligence process
WO2017046354A1 (en) * 2015-09-16 2017-03-23 Calay Venture S.A.R.L. Game engine on a chip
WO2017136643A1 (en) * 2016-02-03 2017-08-10 Luther Systems System and method for secure management of digital contracts
US20170304707A1 (en) * 2015-09-24 2017-10-26 Circadence Corporation Mission-based, game-implemented cyber training system and method

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570564B1 (en) 1999-09-24 2003-05-27 Sun Microsystems, Inc. Method and apparatus for rapid processing of scene-based programs
US6816750B1 (en) 2000-06-09 2004-11-09 Cirrus Logic, Inc. System-on-a-chip
US20050086040A1 (en) 2003-10-02 2005-04-21 Curtis Davis System incorporating physics processing unit
WO2006117683A2 (en) * 2005-01-25 2006-11-09 Lucid Information Technology, Ltd. Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction
US7053901B2 (en) 2003-12-11 2006-05-30 Nvidia Corporation System and method for accelerating a special purpose processor
US7620530B2 (en) 2004-11-16 2009-11-17 Nvidia Corporation System with PPU/GPU architecture
KR100632535B1 (ko) * 2004-12-29 2006-10-11 엘지전자 주식회사 이동통신단말기용 삼차원 그래픽 엔진 및 그래픽 제공 방법
CN1298049C (zh) 2005-03-08 2007-01-31 北京中星微电子有限公司 一种图形引擎芯片及其应用方法
US8317618B2 (en) 2005-12-15 2012-11-27 At&T Intellectual Property I, Lp System, method and computer program for enabling an interactive game
US7697751B2 (en) 2005-12-29 2010-04-13 Graphics Properties Holdings, Inc. Use of ray tracing for generating images for auto-stereo displays
FR2896895B1 (fr) 2006-02-01 2008-09-26 Redway Soc Par Actions Simplifiee Procede de synthese d'une image virtuelle par lancer de faisceaux
US8028290B2 (en) 2006-08-30 2011-09-27 International Business Machines Corporation Multiple-core processor supporting multiple instruction set architectures
US9329052B2 (en) 2007-08-07 2016-05-03 Qualcomm Incorporated Displaying image data and geographic element data
WO2009097612A1 (en) 2008-01-31 2009-08-06 The Johns Hopkins University Automated image analysis for magnetic resonance imaging
US8257173B2 (en) * 2008-02-05 2012-09-04 Disney Enterprises, Inc. System and method for driving artificial intelligence (AI) characters having continuous reevaluation of current goals and navigation path
KR20100003518A (ko) 2008-07-01 2010-01-11 주식회사 아이리버 게임기용 mpu 및 3d 그래픽 프로세서
KR101004110B1 (ko) 2009-05-28 2010-12-27 주식회사 실리콘아츠 레이 트레이싱 코어 및 이를 포함하는 레이 트레이싱 칩
KR101706094B1 (ko) 2010-01-14 2017-02-14 삼성전자주식회사 로봇용 관절 구동장치 및 이를 포함하는 로봇, 로봇용 관절 구동장치의 케이블 연결방법
US20110242427A1 (en) 2010-04-01 2011-10-06 Timothy Ramsdale Method and System for Providing 1080P Video With 32-Bit Mobile DDR Memory
US10237563B2 (en) * 2012-12-11 2019-03-19 Nvidia Corporation System and method for controlling video encoding using content information
US20140168236A1 (en) 2012-12-19 2014-06-19 Qnx Software Systems Limited Gpu display adjustments
US9811775B2 (en) 2012-12-24 2017-11-07 Google Inc. Parallelizing neural networks during training
US20150106673A1 (en) 2013-10-16 2015-04-16 Taiwan Semiconductor Manufacturing Company Ltd. Method and apparatus for on-the-fly memory channel built-in-self-test
US9235871B2 (en) 2014-02-06 2016-01-12 Oxide Interactive, LLC Method and system of a command buffer between a CPU and GPU
US9327199B2 (en) 2014-03-07 2016-05-03 Microsoft Technology Licensing, Llc Multi-tenancy for cloud gaming servers
KR102207562B1 (ko) 2014-03-10 2021-01-27 에스케이하이닉스 주식회사 다양한 경로로 신호 입력이 가능한 적층 반도체 장치 및 반도체 시스템
US20170243403A1 (en) 2014-11-11 2017-08-24 Bent Image Lab, Llc Real-time shared augmented reality experience
US9880005B2 (en) * 2015-07-09 2018-01-30 Invensense, Inc. Method and system for providing a plurality of navigation solutions
US11244225B2 (en) 2015-07-10 2022-02-08 Samsung Electronics Co., Ltd. Neural network processor configurable using macro instructions
US9443192B1 (en) 2015-08-30 2016-09-13 Jasmin Cosic Universal artificial intelligence engine for autonomous computing devices and software applications
WO2017086922A1 (en) 2015-11-17 2017-05-26 Intel IP Corporation Devices for and methods of beam tracking for 5g high frequency bands
US10817802B2 (en) 2016-05-07 2020-10-27 Intel Corporation Apparatus for hardware accelerated machine learning
TW201812646A (zh) * 2016-07-18 2018-04-01 美商南坦奧美克公司 分散式機器學習系統、分散式機器學習方法、以及產生代用資料之方法
US10486060B2 (en) 2016-11-23 2019-11-26 Microsoft Technology Licensing, Llc Tracking core for providing input to peripherals in mixed reality environments
US11256977B2 (en) * 2017-12-29 2022-02-22 Facebook, Inc. Lowering hardware for neural networks
US20190236606A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200594B1 (en) * 2008-09-10 2012-06-12 Nvidia Corporation System, method, and computer program product for accelerating a game artificial intelligence process
WO2011023204A1 (en) * 2009-08-24 2011-03-03 Abb Research Ltd. Simulation of distributed virtual control systems
WO2017046354A1 (en) * 2015-09-16 2017-03-23 Calay Venture S.A.R.L. Game engine on a chip
US20170304707A1 (en) * 2015-09-24 2017-10-26 Circadence Corporation Mission-based, game-implemented cyber training system and method
WO2017136643A1 (en) * 2016-02-03 2017-08-10 Luther Systems System and method for secure management of digital contracts

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177164A (zh) * 2019-12-17 2020-05-19 陕西天行健车联网信息技术有限公司 一种基于定时任务框架的车辆实时信息调度方法
CN111177164B (zh) * 2019-12-17 2023-08-01 陕西天行健车联网信息技术有限公司 一种基于定时任务框架的车辆实时信息调度方法
CN111841012A (zh) * 2020-06-23 2020-10-30 北京航空航天大学 一种自动驾驶模拟仿真系统及其测试资源库建设方法
CN111841012B (zh) * 2020-06-23 2024-05-17 北京航空航天大学 一种自动驾驶模拟仿真系统及其测试资源库建设方法
CN113419989A (zh) * 2021-06-11 2021-09-21 上海壁仞智能科技有限公司 人工智能芯片及其操作方法
CN113419989B (zh) * 2021-06-11 2023-01-20 上海壁仞智能科技有限公司 人工智能芯片及其操作方法

Also Published As

Publication number Publication date
US11301951B2 (en) 2022-04-12
EP3556444A1 (en) 2019-10-23
US20190287208A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
CN110275859A (zh) 游戏引擎以及芯片上的人工智能引擎
US20200404218A1 (en) Merged reality live event management system and method
JP2021526253A (ja) 深層学習システム
JP2023504775A (ja) 位置特定サービスおよび共有場所ベースのコンテンツを伴うクロスリアリティシステム
CN113361705A (zh) 用于合成数据生成的场景结构的无监督学习
CN110383340A (zh) 使用稀疏体积数据进行路径规划
US11798119B2 (en) Multi-dimensional 3D engine computing and virtualization-based dynamic load balancing of virtual or real worlds
CN107251098A (zh) 使用动态三维形状促进真实对象的真三维虚拟表示
CN115151915A (zh) 用于逆向图形生成的神经渲染
CN104067318B (zh) 使用三维光栅化的时间连续碰撞检测
CN109690578A (zh) 自主机器的通用输入/输出数据捕获和神经高速缓存系统
US20200082624A1 (en) Providing augmented reality in a web browser
CN115004251A (zh) 未标记数据的场景图生成
WO2019217126A1 (en) Computer vision through simulated hardware optimization
US20210142511A1 (en) Method of generating 3-dimensional model data
EP3754705A1 (en) Systems, methods and apparatus for implementing tracked data communications on a chip
CN108367436A (zh) 针对三维空间中的物体位置和范围的主动相机移动确定
Ratican et al. A proposed meta-reality immersive development pipeline: Generative ai models and extended reality (xr) content for the metaverse
CN111161398A (zh) 一种图像生成方法、装置、设备及存储介质
CN107408293A (zh) 支持计算装置处的图形命令流中对命令缓冲器的多级嵌套
CN116206042A (zh) 空间哈希一致采样
CN109785424A (zh) 一种三维异步模型粒子边界处理方法
US20230244354A1 (en) 3d models for displayed 2d elements
KR102551914B1 (ko) 인터랙티브 객체 뷰어 생성 방법 및 시스템
US20220383582A1 (en) Hybrid differentiable rendering for light transport simulation systems and applications

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
CB02 Change of applicant information

Address after: 54 Montorf Road, Betangburg, Luxembourg

Applicant after: TMRW Foundation IP & Holding S.A.R.L.

Address before: 54 Montorf Road, Betangburg, Luxembourg

Applicant before: TMRW Entertainment Europe S.A.R.L.

Address after: 54 Montorf Road, Betangburg, Luxembourg

Applicant after: Karan Holdings Ltd.

Address before: 54 Montorf Road, Betangburg, Luxembourg

Applicant before: TMRW Foundation IP & Holding S.A.R.L.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 14-16 Pasteur Avenue, Luxembourg

Applicant after: Karan Holdings Ltd.

Address before: 54 Montorf Road, Betangburg, Luxembourg

Applicant before: Karan Holdings Ltd.

CB02 Change of applicant information