CN101849227A - 在单片构造的硅芯片上采用多个图形核心的图形处理和显示系统 - Google Patents
在单片构造的硅芯片上采用多个图形核心的图形处理和显示系统 Download PDFInfo
- Publication number
- CN101849227A CN101849227A CN200680002976A CN200680002976A CN101849227A CN 101849227 A CN101849227 A CN 101849227A CN 200680002976 A CN200680002976 A CN 200680002976A CN 200680002976 A CN200680002976 A CN 200680002976A CN 101849227 A CN101849227 A CN 101849227A
- Authority
- CN
- China
- Prior art keywords
- gpu
- graphics
- pipeline
- parallelization
- pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/52—Parallel processing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2300/00—Aspects of the constitution of display devices
- G09G2300/04—Structural and physical details of display devices
- G09G2300/0421—Structural details of the set of electrodes
- G09G2300/0426—Layout of electrodes and connections
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/02—Addressing, scanning or driving the display screen or processing steps related thereto
- G09G2310/0224—Details of interlacing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/06—Use of more than one graphics processor to process data before displaying to one or more screens
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
Abstract
一种在单片硅芯片上实现的高性能图形处理和显示系统,该系统支持多个图形处理单元(GPU)核心的群集,这多个图形处理单元核心的群集协作以提供支持用于不同应用的拟真图形能力的功能强大并高度可升级的可视化方案。本发明通过通过动态地管理各种并行渲染技术并使得能自适应地处理不同的图形应用来消除沿图形管道的渲染瓶颈。
Description
技术领域
在过去的几十年间,图形架构领域的许多研究和开发都涉及改善三维(3D)计算机图形渲染的性能的方法。图形架构受到已推动通用计算机架构的半导体技术的相同发展的推动。包括管道处理和并行性等许多相同的加速技术被用在该领域中。然而,图形渲染应用提出了特别的需求并制造了新机会。例如,由于图形显示一般涉及大量重复计算,所以能够比通用计算更容易地采用大量并行性。
在高性能图形系统中,计算的次数大大超过单处理单元的能力,所以并行系统已成为图形架构的规则。现今,非常高度的并行性被应用在基于硅的图形处理单元(GPU)中以执行图形计算。
通常这些计算通过由作为图形系统的一部分的视频存储器支持的图形管道来执行。图1A示出了作为PC架构的一部分的常规图形系统的框图,包括CPU(111)、系统存储器(112)、I/O芯片集(113)、高速CPU-GPU总线(114)(例如,PCIExpress 16x)、基于单GPU的视频(图形)卡(115)、以及显示器(116)。如图1B所示,该单GPU图形管道分解为两个主要部分:用于处理3D图形图元(例如,多边形)的几何子系统以及用于计算像素值的像素子系统。这两部分是为增强的并行性一致地设计的。
在几何子系统中,图形数据库是规则的,通常由接受几乎相同的处理的大量图元构成;因此自然的并发性是将数据分为单独的流并独立地处理它们。在像素子系统中,由于像素能够以许多方法并行地生成,所以图像并行性很早就是用于高速光栅化架构的有吸引力的方法。图2A中描绘了现有技术中高度并行图形处理单元芯片(GPU)的一个示例(取自ATI的3D Architecture White Paper(3D架构白皮书))。几何子系统由六(6)个并行管道构成而像素子系统有十六个(16)个并行管道。
然而,如图2B所示,这两个子系统之间的“汇集级”221是非常有问题的,因为它必须处理全数据流带宽。在像素子系统中,经变换和剪裁的图元的多个流必须被定向到进行光栅化的处理器。这可能要求在不同的处理器被指派给不同的屏幕区域的同时根据空间信息分类图元。并行像素级中的第二个困难是在数据通过并行处理器时数据排序可能会改变。例如,一个处理器在另一处理器变换单个大的图元之前可能会变换两个小的图元。诸如更新一个窗口以代替另一窗口、或在两个缓冲器之间切换等命令的某些全局命令要求数据在命令前后被同步。几何与像素级之间的这一汇集级限制了单GPU中的并行性。
增强并行性程度的典型技术采用多个GPU卡、或在卡上采用多个GPU芯片,其中渲染性能被额外地提升,超出了单核GPU中的汇集限制。现今,该技术由多个学术研究成果(例如,斯坦福大学的Chromium并行图形系统)和商业产品(例如,Nvidia的双GPU系统——SLI、ATI的双GPU——Crossfire)来实施。图3示出了基于Nvidia SLI技术的商用双GPU系统Asus A8N-SLI。
并行化能够通过释放图形系统中的瓶颈来提高性能。图2C指示分解为总线传输、几何处理以及片段填充界限处理等分段级的图形管道中典型的瓶颈。一给定管道仅与以上各级中最薄弱的一个环节一样强壮,因此主瓶颈决定总吞吐量。如图2C中所指示的,管道瓶颈源于:(231)几何、纹理、动画以及元数据传输;(232)几何数据存储器限制;(233)纹理数据存储器限制;(234)几何变换;以及(235)片段渲染。
有不同的方法使GPU并行化,诸如:时间分割(每个GPU渲染下一连续帧);图像分割(每个GPU渲染每帧像素的一个子集);以及对象分割(每个GPU渲染包括几何和纹理在内的整个数据的一个子集);及其衍生和组合。虽然有前景,但是这种使GPU芯片群集并行化的方法也会遭遇一些固有的问题,诸如:受限的GPU间通信带宽;机械复杂度(例如,尺寸、功率、以及发热);组件冗余;以及高成本。
因此,在本领域非常需要一种避免此类现有技术的装置和方法的不足和缺陷的、用于高速图形处理和显示的改善的方法和装置。
发明公开
相应地,本发明的主要目的是提供一种避免现有技术的装置和方法的不足和缺陷的、用于高速图形显示和处理的新颖方法和装置。
本发明的另一目的是提供一种包含具有无限制图形并行性的多个图形核心的新颖图形处理和显示系统,其避开了单GPU系统的固有汇集瓶颈。
本发明的另一目的是提供一种确保最佳图形性能、消除受限的GPU间通信带宽、机械复杂度(尺寸、功能、以及发热)、组件冗余、以及高成本等多芯片系统的不足的新颖图形处理和显示系统。
本发明的另一目的是提供一种通过并行化单硅芯片中的多个图形核心而具有增强的图形处理和显示能力的新颖图形处理和显示系统。
本发明的另一目的是提供一种在具有不受限数目的多个图形核心的硅芯片上实现的新颖图形处理和显示系统。
本发明的另一目的是提供一种在利用多个图形核心的群集的硅芯片上实现的新颖图形处理和显示系统。
本发明的另一目的是提供一种在具有多个图形核心或管道(即,多管道芯片上系统,或MP-SOC)并提供架构灵活性以实现先进的并行图形显示性能的硅芯片上实现的新颖图形处理和显示系统。
本发明的另一目的是提供一种在具有多个图形核心、并在其几何和像素处理子系统两者内自适应地支持不同并行模式的硅芯片上实现的新颖图形处理和显示系统。
本发明另一目的是提供一种在具有多个GPU核心、并提供针对高度先进的图形处理和显示性能的自适应性的硅芯片上实现的新颖图形处理和显示系统。
本发明另一目的是提供一种新颖图形处理和显示系统及方法,其中顶点(例如,3D多边形几何)处理和片段处理的图形管道瓶颈被透明而巧妙地解决。
本发明的另一目的是提供一种用于巧妙分解数据和图形命令、保持图形库的基本特征作为状态机、并紧密遵循图形标准的方法和系统。
本发明的另一目的是提供一种支持在具有多个图形核心并提供架构灵活性以实现最佳并行性能的硅芯片上实现的图形处理和显示系统的新型PC图形卡。
本发明的另一目的是提供一种具有改善的图形处理和显示能力、采用包含具有多个图形核心并提供架构灵活性以实现最佳并行性能的硅芯片的图形卡的计算系统。
本发明的另一目的是提供这样一种计算系统,其具有包括视频游戏、虚拟现实、科学可视化、以及要求或需要拟真(photo realistic)图形显示能力的其它交互应用在内的应用所要求的改善的图形处理和显示性能。
本发明的这些和其它目的和优点将通过下文而显而易见。
附图简述
为了更为全面地理解如何实施本发明的目的,可结合在以下简述的附图一起阅读以下对说明性实施例的具体说明,附图中:
图1A是现有技术的标准PC架构的示意性表示,其中其常规单GPU图形卡被圈出显示;
图1B是具有几何和像素处理子系统的采用单GPU的现有技术常规图形系统的简化框图,其间的数据汇集流成为显著限制性能的严重的系统瓶颈;
图2A是示出了典型现有技术的ATI X800图形处理单元芯片(GPU)中的高度并行性的示意图,其中几何子系统由6个并行管道构成而像素子系统由16个并行管道构成;
图2B是示出了几何与像素并行引擎之间的瓶颈汇集级(装配引擎)的现有技术图形处理单元(GPU)芯片(例如,ATI X800)的内部的示意图;
图2C是示出了其间存在数据瓶颈问题的常规图形管道的示意性表示;
图3是现有技术双GPU驱动视频图形卡的照片;
图4A是表示根据本发明的原理的采用了使用多管道芯片上系统(MP-SOC)器件的印刷电路图形卡的计算系统的示意性系统框图,其中该系统框图示出了CPU、I/O芯片集、系统存储器、基于MP-SOC的图形卡、以及(诸)显示器屏幕;
图4B是搭载在印刷电路(PC)视频图形板上的、本发明的MP-SOC的物理实现的示意性表示;
图4C是主板上与本发明的基于MP-SOC的PC图形板互联的标准PCI Express图形插槽的照片;
图4D是根据本发明的原理的包括4个由GPU驱动的管道核心的示例性MP-SOC硅布局的示意性表示;
图4E是本发明的MP-SOC芯片的示例性封装的示意性表示;
图5是根据本发明的说明性实施例的MP-SOC架构的示意性框图;
图6是根据本发明的说明性实施例的基于MP-SOC的计算系统的软件框图;
图7A是进一步示出了本发明的说明性实施例的包括基于MP-SOC的系统的多管道软件驱动器的模块的示意性框图;
图7B是示出了本发明的由运行三个并行化模式(即,对象分割、图像分割和时间分割)的机制在基于MP-SOC的器件和系统内执行的步骤的流程图;
图8是示出了本发明的MP-SOC系统的对象分割配置的示意性表示;
图9是示出了本发明的MP-SOC系统的图像分割配置的示意性表示;
图10是示出了本发明的MP-SOC系统的时间分割配置的示意性表示;
图11是示出了本发明的在沿基于MP-SOC系统的多个GPU驱动的管道核心之间分布多边形的过程的流程图;以及
图12示出了根据本发明的原理的被配置为并行模式的组合的八(8)个GPU驱动的管道核心的示例。
实施本发明的最佳模式
在通过援引包括于此的作为WIPO公报No.WO 2005/050557 A2公开的、申请人的在先PCT申请No.PCT/IL04/001069号中所教导的技术教授了一种包括硬件中枢(Hub)和软件中枢驱动器的图形可升级的中枢架构的使用,该中枢架构起到将现货GPU芯片粘合在一起(即,并行地工作)以提供高性能和可升级的可视化方案、对象分割分解算法、采用多个并行模式及其组合、以及自适应的并行模式管理的作用。并且,通过援引包括于此的作为WIPO公报No.WO 2004/070652 A2公开的PCT申请No.PCT/IL2004/000079教导了基于相关联的决策制定的合成图像机制的使用,从而提供快速且并不昂贵的帧缓冲器的重新合成作为对象分割并行性的一部分。
在以上标识的申请人的PCT申请中所教导的方法具有诸多优点和益处,即通过使用现货GPU以对现有应用透明的方式构造强大并行系统的能力。然而,在许多应用中,为了在相对低成本并且对现有图形应用透明的情况下给出高性能、高帧速率稳定性的图形方案的目的,需要使用替换方法即通过为PC提供采用在单片硅芯片上实现的强大图形处理和显示系统的图形处理和显示架构,从而在常规图形系统中提供这种益处。
该新颖替换方法的益处包括:多GPU群集的基于VLSI的小型化;GPU间通信的高带宽;低功耗和散热;无组件冗余;以及低成本。现在将在以下对关于实施该替换方法的细节进行说明。
一般而言,在此公开的本发明教导了一种用于在半导体级上将图形功能并行化为在优选为单片构造的单个芯片上实现的多图形管道架构的改善的方法和装置。为了表述方便,这一器件在此被称为“芯片上多管道系统”或“MP-SOC”。该“硅芯片上”系统包括以灵活的拓扑结构组织的由GPU驱动的管道核心群集,从而允许不同的并行方案。理论上,管道核心的数目没有限制,仅受到硅面积考虑的约束。MP-SOC由驻留于主CPU的软件驱动器模式来驱动。各种并行化方案使得性能最优化。这些方案是时间、图像和对象分割及其衍生。
本发明的说明性实施例享有多GPU芯片的优点,即:回避了单GPU的汇集局限,而同时又消除了多GPU系统的固有问题,诸如受限的GPU间通信带宽、机械复杂度(尺寸、功能以及发热)、组件冗余、以及高成本。
如图4A所示,本发明的物理图形系统由常规主板(418)和基于MP-SOC的图形卡(415)构成。该主板搭载了常见组件集,即CPU(411)、系统存储器(412)、I/O芯片集(413)、以及其它非图形组件(参见图1A的驻留在PC主板上的完整的组件集)。基于MP-SOC芯片(416)的印刷电路图形卡通过PCI Express 16x通道连接器(414)连接至主板。该卡还具有到至少一个屏幕(416)的输出。MP-SOC图形卡代替主板上的常规单GPU图形卡。通过比较图4A与图1A,MP-SOC图形卡集成在常规PC系统中的方法是显而易见的。通过简单地用本发明的基于MP-SOC的卡替换单GPU图形卡(图1A中被圈出),并用主CPU上的多管道软驱动器(419)替换其驱动器,本发明的系统实现了在此所述的所有优点和益处。该修改除了改善的性能之外,对于用户和应用是完全透明的。
图4B示出了本发明的一种可能的物理实现。其上搭载了MP-SOC(422)的标准形式PC卡(421)通过PCI Express 16x通道连接器(423)连接至主计算系统的主板(426)。显示器屏幕通过标准DVI连接器424连接。由于预料MP-SOC上的多个管道会消耗高功率,导致通过PCI Express连接器的标准供电是不够的,所以通过专用电源电缆(425)向该卡提供辅助电源。
图4C示出了主板上与基于MP-SOC的卡连接的PCI Express连接器(431)。应该强调的是,PC卡上MP-SOC的标准物理实现使得对现有技术的GPU驱动的视频图形卡的替换是容易和自然的。
图4D和4E说明了技术人员对MP-SOC芯片的概念以进一步示出该半导体器件的物理实现。图4D示出了可能的MP-SOC硅布局。在该示例中,有4个现货图形管道核心。核心的数目根据硅面积约束可缩放至任意数目。对MP-SOC功能单元的详细讨论在下面给出。图4E示出了MP-SOC芯片可能的封装和外观。如之前所述的,该芯片与其它外围组件(例如,存储器芯片、总线芯片等)一起旨在被搭载在标准尺寸的PCB(印刷电路板)上并用作PC系统中的单一图形卡,以代替现有技术的视频图形卡。基于MP-SOC的卡的制造可由图形卡制造商(例如,AsusTech、Gigabyte)来执行。
如图5中所示的,多管道SOC架构由以下组件构成:
□位于CPU总线(例如,16通道的PCI Express)上的路由中心。它在图形管道核心之间分布来自CPU的图形数据流,并随后将来自各核心的渲染结果(帧缓冲)收集至合成单元。数据被分布的方法由控制单元根据当前并行化模式来指示。
□合成单元根据正在进行的并行化模式重新合成这些部分帧缓冲。
□控制单元处于CPU驻留的软多管道驱动器的控制下。它根据并行化模式负责整个MP-SOC系统的配置和功能处理。
□具有内部或外部存储器、以及光学高速缓冲存储器的处理元件(PE)单元。PE可以是根据架构需要的任何种类的芯片上处理器。除了服务于PE,高速缓冲存储器和存储器还可用于高速缓冲诸如纹理、顶点对象等为所有管道核心共有的图形数据。
□多个GPU驱动管道核心。这些核心可以、但无需是专门设计的。它们可被原始地设计成常规的单核心GPU。
□剖析功能单元。该单元向多管道驱动递送基准数据,诸如存储器速度、按字节计的存储器使用量、渲染的总像素数、进入渲染的几何数据、帧速率、每个管道核心的工作负荷、管道核心之间的负荷平衡、传输数据量、纹理计数、以及深度复杂度。
□显示器接口,能够运行单个或多个屏幕。
如图6所示,系统的软件包括图形应用、图形库(例如,图形标准OpenGL或DirectX)、以及专用软键驱动器(多管道驱动器)。一般化的图形应用不需要修改或特别的移植工作就可在MP-SOC上运行。
图7示出了表示根据本发明的一个实施例的多管道驱动器的主要任务的功能性框图。该多管道驱动器执行至少以下动作:
□一般化GPU驱动器。执行一般化GPU驱动器的与和操作系统、图形库(例如,OpenGL或DirectX)的交互相关联的、以及控制GPU的所有功能。
□分布式图形功能控制。该模块执行与根据并行策略管理实行不同并行化模式相关联的所有功能。如将在下文更为具体地说明的,在每个模式中,数据在管道之间被不同地分布和重新合成。
□状态监视。图形库(例如,OpenGL和DirectX)是状态机。并行化必须保持跨图形系统的内聚状态。这是通过连续分析所有传入的命令来实现的,并且同时状态命令和部分数据必须被复制到所有管道从而保持跨各图形管道的有效状态。影响整个图形系统、将系统设为阻塞(blocking)模式的诸如刷新、交换、α混合等被称为阻塞操作的类造成了特定问题。阻塞操作的特别之处在于,因为它们需要合成的有效FB数据,由此在本发明的并行设置中,它们对所有管道核心均有影响。对处理阻塞操作更详细的说明将在下文中给出。
□应用剖析和分析模块。该模块对正在运行的应用执行实时剖析和分析。其连续地监视系统中的应用参数,诸如存储器速度、按字节计的存储器使用量、渲染的总像素、进入渲染的几何数据、帧速率、每个管道核心的工作负荷、图形管道之间的负荷平衡、传输的数据量、纹理计数、以及深度复杂度等。剖析模块标识图形系统内引起瓶颈的问题区域。剖析模块需要来自多管道核心的寄存器、MP-SOC控制单元的寄存器,以及图形API命令(例如,OpenGL、DirectX)的输入。
□并行性策略管理根据以上剖析和分析在每帧的基础上制定关于要执行的并行模式的决策。该决策然后通过MP-SOC中的控制单元来实行。
本发明的一个主要特征是其能够修补性能瓶颈的拓扑结构灵活性。这种灵活性是通过借助路由中心以及不同合并方案在合成单元处重排图形管道群集得到的。不同的并行化方案影响不同的性能瓶颈。因此,由剖析模块标识的瓶颈可使用相应的并行化方案来补救。
图7B的流程图说明了运行三个并行模式——对象分割、图像分割以及时间分割——的机制。该机制将软驱动器模块与MP-SOC单元的活动组合。流程图的一个循环是一帧。如将在以下解释的,首先开始的模式是对象分割(OD),因为它是优选的并行模式。应用的剖析和分析在软剖析和分析模块(S-PA)的控制下保持常开。并行策略管理(S-PPM)模块在每一帧都检测要从三个并行化模式中选取的最优模式。
让我们假定采取了对象分割(OD)路径。分布式图形功能控制(S-DGFC)模块针对OD配置整个系统,其特征在于几何数据的分布以及使用的合成算法。该配置在图8中示出,并且在稍后具体说明。S-DGFC模块将几何数据分解为多个部分,每个都由路由中心(C-RC)发送到不同的GPU驱动管道核心(C-PC)以用于渲染。如图11所示并在下文具体说明,状态监视(S-SM)模块在渲染的数据流中监视阻塞命令。当渲染完成时,所有帧缓冲由控制单元(C-Ctrl)根据深度测试移到合成单元(C-CU)以将所有缓冲合成为单个帧(将在以下具体说明)。最终的FB(帧缓冲)由显示接口单元(C-DI)移到显示器。在帧结束时,S-PA和S-PPM模块对改变模式的选项进行测试。如果采取保持原模式的决策,则新的OD帧从另一数据部分开始。否则,由S-PA和S-PPM模块执行对最优模式的新测试。
流程图中的左边路径是图像分割(ID)操作。图9中还示出了由S-DGFC设置的ID配置,并在稍后对其具体说明。它的特征在于在所有管道核心之间广播相同数据,并且图像基于合成算法。管道核心之间图像的分割由S-DGFC完成。该数据由路由中心广播,并随后在各管道核心(C-PC)处渲染,同时每个管道核心被指定以图像的另一部分。一旦渲染完成,C-Ctrl将部分FB移到合成单元(C-CU)以重新构造完整的图像。然后C-DI将FB移到显示器。最终由S-PS和S-PPM模块执行改变测试。根据结果,新帧将继续ID模式或切换至其它模式。
时间分割模式在各GPU驱动管道核心之间交替各帧。设置成由S-GDFC模块进行交替,同时每个核心由S-DGFC指定一个帧数据并由C-RC单元传递。每个核心(C-PC)依次生成帧。然后C-Ctrl通过合成单元将成熟的FB移到显示器接口并输出到显示器。实际上,合成单元在这一模式下仅起到转移的作用。最后,与之前其它模式中一样,由S-PA和S-PPM模块进行改变模式测试。
图8说明了对象分割并行化方案。软驱动器,具体而言是分布式图形功能控制模块将场景的多边形数据分解为N个部分流(N——参与的管道核心的数目)。整个数据由GPU驱动器模块发送到MP-SOC路由中心,其根据软驱动器的分割——每个约为1/N的多边形——将数据分布到N个管道以用于渲染。管道核心中的渲染是在软驱动器的状态监视模块的监视下进行的(参见图11以及以下具体说明)。得到的全帧缓冲在合成单元中聚集。它们被逐像素地深度合成以找到最终的可视像素集。在每个x-y坐标系,所有隐藏像素由合成机制消除。最终的帧缓冲被移出到显示器。
图9说明了由并行化策略管理模块根据软驱动器的剖析和分析模块中的剖析、分析、以及决策制定的结果选择的图像分割并行化方案。每个管道核心被指定以屏幕的唯一性的1/N部分。完整的多边形数据通过GPU驱动模块和路由中心被传递到每个管道核心。管道核心中的并行渲染在每个核心处得到部分帧缓冲。这些图像片段被移到合成单元以便被2D合并为单个图像并被移出至显示器。
图10说明了由并行策略管理模块根据软驱动器的剖析和分析模块中的剖析、分析、以及决策制定的结果选择的时间分割并行化方案。分布式图形功能控制模块通过GPU驱动器模块将这些帧分为N个周期(N=核心的数目)从而使每个核心有N帧的时隙来渲染完整的多边形数据。因此,场景多边形数据通过路由器在某一时间被分布至不同的管道核心。每个核心在N个周期中执行渲染并将其全帧缓冲输出至显示器以用于单帧。合成单元在这里起到简单的开关作用,在所有管道核心之间交替对显示器的接入。
不同的并行化方案解决不同的性能瓶颈。因此瓶颈必须被标识并随后通过在合适的时间应用合适的方案来消除(或降低)。
如图7B所示,剖析器标识图形系统内导致瓶颈的问题区。这是在驱动器的应用剖析和分析模块中实现的。剖析器模块需要诸如图形API命令的使用(例如,OpenGL、DirectX、其它)、存储器速度、按字节计的存储器使用量、渲染的总像素、进入渲染的几何数据、帧速率、每个GPU的工作负荷、GPU之间的负荷平衡、传输的数据量、纹理计数、以及深度复杂度等输入。这些数据类型是从基于MP-SOC的图形系统内的以下来源收集到的:
1.MP-SOC中的剖析功能单元
2.驱动器
3.管道核心
4.芯片集架构性能(CHAP)计数器
5.
通常,在帧时间的基础上检索性能数据,然而,周期性也可以是剖析器的配置属性,或者可在检索性能数据之前根据剖析器被设计成要检测的一检测到的配置事件来设置。
导致选择优选并行方法的分析是基于一个假定,即在定义良好的情形中(在以下说明),对象分割方法由于减少了更多的瓶颈所以取代其它分割方法。与仅减少了在每个管道核心处的片段/填充界限处理的图像分割形成对比,对象分割实际减轻了跨管道的所有瓶颈:(i)几何(即,多边形、线、点等)变换处理在每个管道上被卸除,仅处理1/N的多边形(N——参与的管道核心的数目);(ii)由于较少的多边形被馈送给光栅化器,所以填充界限处理减少;(iii)需要较少的几何存储器;(iv)需要较少的纹理存储器。
虽然时间分割通过允许每个管道核心在每帧生成时有更多的时间来释放瓶颈,然而该方法也遭遇一些严重问题,诸如CPU瓶颈,各管道核心生成的帧缓冲彼此不可用、以及经常有管道等待的情形。因此该方法并不适于所有应用。从而,由于对象分割作为瓶颈开启者的优越性,其成为了主要的并行模式。
以下对象分割算法在多个图形管道核心之间分布多边形。典型的应用生成包括图形数据块的图形调用流;每个块包含诸如单顶点操作或基于缓冲的操作(顶点阵列)等几何操作的列表。通常,分解算法以将各个块保持为基本数据单元的方式在管道核心之间分割数据。几何操作被附连到(诸)数据块以指示处理该数据的方法。一个块针对一个指定的GPU。然而,具有一些属于诸如刷新、交换、α混合等影响整个图形系统、将系统设成阻塞模式的阻塞操作组的操作。阻塞操作的特别之处在于它们需要合成的有效FB数据,由此在本发明的并行设置中对所有管道核心都有影响。因此,无论何时只要阻塞操作中的一个被发出,所有的管道核心就必须被同步。每个帧具有至少2个阻塞操作:终止该帧的刷新和交换。
图11表示描述了根据本发明的一个说明性实施例的用于在多个GPU驱动管道核心之间分布多边形的算法的流程图。该帧活动开始于在各GPU之间分布数据块。在步骤1112针对阻塞模式对每个图形操作进行测试。在常规路径(非阻塞路径)中,数据在步骤1113被重定向到指定的管道核心。重复该循环直到检测到阻塞操作。
当检测到阻塞操作时,所有的管道核心必须通过至少以下序列在步骤1114被同步:
执行刷新操作以终止渲染并清除管道核心中的内管道(刷新);
执行合成以将所有的FB的内容合并成单个FB;以及
将上述单个FB的内容发送回所有的管道核心以创建继续的共同基础。
交换操作启动双缓冲机制,交换背色和前色缓冲。如果在步骤1115检测到交换,这意味着合成帧必须在除了管道0之外的所有管道核心上终止。所有管道核心具有指定存储上述内容的FB的最终合成内容,但是仅有连接至屏幕的一个(管道0)在步骤1116显示图像。
另一情形是被全局应用到场景并需要被广播至所有管道核心的操作。如果诸如用于透明度的α混合等其它阻塞操作之一被标识,则所有管道核心在步骤1114如前被刷新,并且并合并为公共FB。这次没有检测到交换操作(步骤1115),因此所有管道核心具有相同的数据,并且只要阻塞模式为开(步骤1117),则它们继续处理相同的数据(步骤1118)。如果在步骤1117检测到阻塞模式结束,则管道核心返回处理指定数据(步骤1113)。
对象分割的相对优点相当程度上取决于场景的深度复杂度。深度复杂度是作为深度测试结果的片段替换的数目(画在每个像素上的多边形数目)。在没有片段替换的理想情形中(例如,场景的所有多边形都位于相同的深度水平),则根据减少的多边形数目,填充也得以减少(就2个管道核心而言)。然而,当深度复杂度变高时,对象分割的优点下降,并且在一些情形中,图像分割甚至可能性能更佳,例如在多边形数目少且纹理量高的应用。
另外,本发明引入了根据先前处理级显示的负荷将对象分割方法与图像域和时域中的图像分割和时间分割方法组合在一起的动态负荷平衡技术。将全部三个并行方法组合为联合的构架极大地增大了图形系统的帧速率稳定性。
图12公开了根据本发明的一个实施例的采用8个管道核心的系统的样本配置。根据以上样本配置,假定了平衡的图形应用。这些管道核心为实现时间分割并行性被分为两组。用1、2、3、和4索引的管道核心被配置成处理偶数帧而用5、6、7和8索引的管道核心被配置成处理奇数帧。在每组内,为图像分割设置两个管道核心子组:具有较低索引的管道核心(分别为1、2和5、6)被配置成处理屏幕的一半,而高索引的管道核心(分别为3、4和7、8)被配置成处理屏幕的另一半。最终,对于对象分割,用1、3、5和7索引的管道核心被馈以这些对象的一半,而用2、4、6和8索引的管道核心被馈以这些对象的另一半。
如果在某些时候系统检测到先前帧中呈现的瓶颈出现在管道的光栅级处,则意味着片段处理主导了渲染帧所用的时间并且配置是不平衡的。此时,管道核心被重新配置,从而使每个管道核心将渲染各帧内屏幕的四分之一。管道核心1、2、3、4之间以及5、6、7、8之间对于时间分割的原始划分仍然保持,但是管道核心2和管道核心5被分别配置成渲染偶数和奇数帧中屏幕的第一个四分之一。管道核心1和6——渲染第二个四分之一,管道核心4和7——第三个四分之一,以及管道核心3和8——第四个四分之一。不包含对象分割。
另外,如果在某些时候系统检测到在先前帧中呈现的瓶颈出现在管道的几何级,则管道核心被重新配置,从而使得每个管道核心将处理各帧内几何数据的四分之一。即,管道核心3和5被分别配置成处理偶数和奇数帧中多边形的第一个四分之一。管道核心1和7——渲染第二个四分之一,管道核心4和6——第三个四分之一,以及管道核心2和8——第四个四分之一。不包含图像分割。
应该注意的是,采用8个管道核心足以按帧组合全部三种并行模式,即时间、图像和对象分割模式。采用大于8的管道核心数目,也能组合全部三种模式,但是以不对称的方式组合。该灵活性还存在于时间分割周期中的帧计数中。在以上示例中,8个管道核心的群集被分解为两组,每组处理一帧。然而,还可以将时间分割模式中的帧数扩展为大于2帧的序列,例如3或4帧等。
采用较少数目的管道核心仍然允许并行模式的组合,然而是仅两种模式的组合。例如,仅采用4个管道核心能组合图像和对象分割模式,但没有时间分割模式。当采用作为左边群集的管道核心1-4的组时,可从图12可清楚的理解。类似地,构成上部群集的管道核心1、2、5和6的组采用对象和时间分割模式两者。最后,作为中间群集的管道核心2、4、5和6的组的配置采用图像和时间分割模式。
需要注意的是,与以上实施例类似,并行模式之间的任何组合可被调度以均匀地平衡图形负荷。
还应该理解的是,根据本发明,所有管道核心之间的并行化处理都可基于对象分割模式或图像分割模式或时间分割模式或其任意的组合以最优化每一帧的处理性能。
关于并行模式的决策是根据以上剖析和分析在每帧的基础上实现的。如上所述以及图8、9、10和12中所示的,随后由并行化方案的重新配置来执行。
以上非常具体地说明的MP-SOC架构可容易地适用于不同种类的图形处理和显示系统中。虽然结合PC类计算系统对本发明的说明性实施例进行了说明,但是需要理解的是本发明还可在包括移动计算设备、嵌入式系统、以及支持拟真质量的图形可视化的科学和工业计算系统的不同种类的系统中使用以改善图形性能。
需要理解的是,在本发明的说明性实施例中说明的图形处理和显示技术可以各种方式进行修改,这对于得益于在此公开的新颖教导的本领域的技术人员是显而易见的。本发明的说明性实施例的所有的这类修改和变化都应被认为在如所附权利要求所定义的本发明的范围和精神实质之内。
Claims (45)
1.一种用于实现图形处理和显示系统的单片构造的硅芯片,具有各自包含使用一个或多个并行化模式支持图像处理的并行化的图形处理单元的多个GPU驱动管道核心,并且适用于与计算系统接口,所述计算系统具有用于在至少一个计算机屏幕上显示图像的装置,并且支持(i)用于发布图形命令的一个或多个软件应用,(ii)用于存储用以实现所述图形命令的一个或多个图形库(即,OpenGL和DierctX一状态机),以及(iii)用于允许所述GPU驱动管道核心与所述图形库交互的多管道驱动器,其中所述多管道驱动器包括(1)GPU驱动器单元,用于执行与和所述计算系统的操作系统(OS)以及图形库(例如,OpenGL或DirectX)的交互相关联的一般化GPU驱动器的功能,(2)分布式图形功能控制模块,用于执行与根据并行化策略管理实行不同的并行化模式相关联的功能,(3)状态监视驱动器模块,用于持续地分析包括状态命令在内的所有传入命令、将某些状态命令和部分数据传送至所述所有GPU驱动管道核心以保持跨所述各GPU驱动图形管道核心的有效状态,(4)应用剖析和分析驱动器模块,用于执行对所述计算系统中应用参数的实时连续监视以标识所述图形系统内容易引起数据瓶颈的问题区,其中所述应用剖析和分析驱动器模块使用来自以下的输入(i)所述多个GPU驱动管道核心的寄存器、(ii)所述控制单元的寄存器,以及图形API命令,以及(5)并行性策略管理驱动模块,用于使用所述应用剖析和分析驱动器模块的结果在每帧的基础上决定所述GPU驱动管道核心的并行化模式,并且使这些决定由MP-SOC的控制单元来实行。
所述硅芯片包括:
所述多个GPU驱动管道核心;
路由中心,部署在所述CPU总线上,用于在所述各GPU驱动管道核心之间分布来自所述CPU的图形数据流,并随后将来自所述各管道核心的渲染结果(帧缓冲)收集至所述合成单元,
其中所述数据被分布的方法由所述控制单元来指示,并取决于当前并行化模式;
合成单元,用于根据所述正在进行的并行化模式重新合成所述各个部分帧缓冲;
控制单元,用于根据所选的并行化模式控制所述图像处理和显示系统的配置和功能处理;
处理元件(PE),具有内部和外部存储器;
剖析功能单元,用于将基准数据递交给所述多管道驱动器;以及
显示器接口,用于运行单个或多个显示器屏幕。
2.如权利要求1所述的硅芯片,其特征在于,还包括高速缓冲存储器,用于服务于所述处理元件,并用于高速缓冲为所述各GPU驱动管道核心共有的图形数据。
3.如权利要求2所述的硅芯片,其特征在于,所述图形数据从纹理和顶点对象当中选择。
4.如权利要求1所述的硅芯片,其特征在于,所述基准数据包括从存储器速度、按字节计的存储器使用量、渲染的总像素数、进入渲染的几何数据、帧速率、每个管道核心的工作负荷、图形管道之间的负荷平衡、传输的数据量、纹理计数、以及深度复杂度当中选择的数据。
5.如权利要求1所述的硅芯片,其特征在于,所述图形库是从OpenGL和DirectX当中选择的。
6.如权利要求1所述的硅芯片,其特征在于,所述GPU驱动管道核心的数目没有架构限制。
7.如权利要求1所述的硅芯片,其特征在于,所述各GPU驱动管道核心被以不同的并行化模式组织以解决性能瓶颈。
8.如权利要求7所述的硅芯片,其特征在于,所述并行化模式包括对象分割模式、图像分割模式以及时间分割模式。
9.如权利要求1所述的硅芯片,其特征在于,所述基准数据包括存储器速度、按字节计的存储器使用量、渲染的总像素数、进入渲染的几何数据、帧速率、每个管道核心的工作负荷、管道核心之间的负荷平衡、传输的数据量、纹理计数、以及深度复杂度。
10.如权利要求1所述的硅芯片,其特征在于,在可连接至所述计算系统的主板的图形卡上实现。
11.一种用于连接至具有CPU总线的计算系统的主板的图形卡,所述图形卡包括:
用于实现图形处理和显示子系统的单片构造的硅芯片,包括:
(a)多个GPU驱动管道核心;
(b)路由中心,部署在所述CPU总线上,用于在所述各GPU驱动管道核心之间分布来自所述CPU的图形数据流,并随后将来自所述各管道核心的渲染结果(帧缓冲)收集至所述合成单元;
(c)合成单元,用于根据所述正在进行的并行化模式重新合成所述各个部分帧缓冲;
(d)控制单元,用于在任意时刻根据所选的并行化模式控制所述图像处理和显示系统的配置和功能处理;
(d)处理元件(PE),具有内部和外部存储器;
(e)剖析功能单元,用于将基准数据递交给所述多管道驱动器;以及
(f)显示器接口,用于运行单个或多个显示器屏幕。
12.如权利要求11所述的图形卡,其特征在于,所述图形数据流在所述控制单元的控制下并根据当前并行化模式被分布在所述各GPU驱动管道核心之间。
13.如权利要求11所述的图形卡,其特征在于,所述硅芯片具有各自包含使用一个或多个并行化模式支持图像处理的并行化的图形处理单元(GPU)的多个GPU驱动管道核心,并且适于与计算系统接口,所述计算系统具有用于在至少一个计算机屏幕上显示图像的装置并且支持(i)用于发布图形命令的一个或多个软件应用,(ii)用于存储用以实现所述图形命令的一个或多个图形库(状态机),以及(iii)用于允许所述各GPU驱动管道核心与所述图形库交互的多管道驱动器。
14.如权利要求12所述的图形卡,其特征在于,所述多管道驱动器包括:
(1)GPU驱动器单元,用于执行与和所述计算系统的操作系统(OS)、以及图形库的交互相关联的一般化GPU驱动器的功能;
(2)分布式图形功能控制模块,用于执行与根据并行化策略管理实行不同的并行化模式相关联的功能;
(3)状态监视驱动模块,用于连续地分析包括状态命令的所有传入命令,将某些状态命令和部分数据传送至所述所有GPU驱动管道核心以保持跨所述各GPU驱动图形管道核心的有效状态;
(4)应用剖析和分析驱动器模块,用于对所述计算系统中的应用参数执行实时连续监视以标识所述图形系统内可能引起数据瓶颈的问题区,其中所述应用剖析和分析驱动器模块使用来自以下的输入(i)所述多个GPU驱动管道核心的寄存器、(ii)所述控制单元的寄存器,以及图形API命令,以及
(5)并行性策略管理驱动器模块,用于使用所述应用剖析和分析驱动器模块的结果在每帧的基础上决定所述各GPU驱动管道核心的并行化模式,并且使这些决定由MP-SOC的控制单元来实行。
15.如权利要求11所述的图形卡,其特征在于,还包括高速缓冲存储器,用于服务于所述处理元件,并用于高速缓冲为所述各GPU驱动管道核心共有的图形数据。
16.如权利要求15所述的图形卡,其特征在于,所述图形数据从纹理和顶点对象当中选择。
17.如权利要求4所述的图形卡,其特征在于,所述基准参数包括从存储器速度、按字节计的存储器使用量、渲染的总像素数、进入渲染的几何数据、帧速率、每个管道核心的工作负荷、图形管道之间的负荷平衡、传输的数据量、纹理计数、以及深度复杂度当中选择的数据。
18.如权利要求11所述的图形卡,其特征在于,所述图形库从OpenGL和DirectX当中选择。
19.如权利要求11所述的图形卡,其特征在于,所述GPU驱动管道核心的数目没有架构限制。
20.如权利要求11所述的图形卡,其特征在于,所述各GPU驱动管道核心被以不同的并行化模式组织以解决性能瓶颈。
21.如权利要求11所述的图形卡,其特征在于,所述并行化模式包括对象分割模式、图像分割模式以及时间分割模式。
22.一种用于在多个或多个显示器屏幕上显示图像的计算机系统,包括:
主板,具有CPU总线以及用于实现图形处理和显示子系统的单片构造的硅芯片,所述硅芯片包括:
(a)多个GPU驱动管道核心;
(b)路由中心,部署在所述CPU总线上,用于在所述各GPU驱动管道核心之间分布来自所述CPU的图形数据流,并随后将来自所述各管道核心的渲染结果(帧缓冲)收集至所述合成单元,
其中所述数据被分布的方法由所述控制单元指示,并依赖于当前并行化模式;
合成单元,用于根据所述正在进行的并行化模式重新合成所述各个部分帧缓冲;
控制单元,用于在任何时间根据所选的并行化模式控制所述图形处理和显示系统的配置和功能处理;
处理元件(PE),具有内部和外部存储器;
剖析功能单元,用于将基准数据递交给所述各多管道驱动器;以及
显示器接口,用于运行单个或多个显示器屏幕。
23.如权利要求22所述的计算机系统,其特征在于,所述图形数据流在所述控制单元的控制下并根据当前并行化模式被分布在所述各GPU驱动管道核心之间。
24.如权利要求22所述的计算机系统,其特征在于,所述硅芯片具有各自包含使用一个或多个并行化模式支持图像处理的并行化的图形处理单元(GPU)的多个GPU驱动管道核心,并且适于与计算系统接口,所述计算系统具有用于在至少一个计算机屏幕上显示图像的装置并且支持(i)用于发布图形命令的一个或多个软件应用,(ii)用于存储用以实现所述图形命令的一个或多个图形库(状态机),(iii)用于允许所述各GPU驱动管道核心与所述图形库交互的多管道驱动器。
25.如权利要求24所述的计算机系统,其特征在于,所述多管道驱动器包括:
(1)GPU驱动器单元,用于执行与和所述计算系统的操作系统(OS)、以及图形库的交互相关联的一般化GPU驱动器的功能;
(2)分布式图形功能控制模块,用于执行与根据并行化策略管理执行不同的并行化模式相关联的功能;
(3)状态监视驱动器模块,用于连续地分析包括状态命令的所有传入命令,将某些状态命令和部分数据传送至所述所有GPU驱动管道核心以保持跨所述各GPU驱动图形管道核心的有效状态;
(4)应用剖析和分析驱动器模块,用于对所述计算系统中的应用参数执行实时连续监视以标识所述图形系统内可能引起数据瓶颈的问题区,其中所述应用剖析和分析驱动模块使用来自以下的输入(i)所述多个GPU驱动管道核心的寄存器、(ii)所述控制单元的寄存器,以及图形API命令,以及
(5)并行性策略管理驱动器模块,用于使用所述应用剖析和分析驱动器模块的结果在每帧的基础上决定所述各GPU驱动管道核心的并行化模式,并且使这些决定由MP-SOC的控制单元来实行。
26.如权利要求22所述的计算机系统,其特征在于,还包括高速缓冲存储器,用于服务于所述处理元件,并用于高速缓冲为所述各GPU驱动管道核心共有的图形数据。
27.如权利要求22所述的计算机系统,其特征在于,所述图形数据从纹理和顶点对象当中选择。
28.如权利要求22所述的计算机系统,其特征在于,所述基准参数包括从存储器速度、按字节计的存储器使用量、渲染的总像素数、进入渲染的几何数据、帧速率、每个管道核心的工作负荷、图形管道之间的负荷平衡、传输的数据量、纹理计数、以及深度复杂度当中选择的数据。
29.如权利要求22所述的计算机系统,其特征在于,所述图形库从OpenGL和DirectX当中选择。
30.如权利要求22所述的计算机系统,其特征在于,所述GPU驱动管道核心的数目没有架构限制。
31.如权利要求22所述的计算机系统,其特征在于,所述各GPU驱动管道核心以不同的并行化模式组织以解决性能瓶颈。
32.如权利要求22所述的计算机系统,其特征在于,所述并行化模式包括对象分割模式、图像分割模式以及时间分割模式。
33.一种包含具有无限制图形并行性的多个图形核心、避开了单GPU系统固有的汇集瓶颈的图形处理和显示系统。
34.一种确保最佳图形性能、消除了受限的GPU间通信带宽、机械复杂度(尺寸、功率、和发热)、组件冗余、以及高成本等多芯片系统的不足的图形处理和显示系统。
35.一种图形处理和显示系统,所述系统通过在单硅芯片中并行化多个图形核心而具有增强的图形处理和显示能力。
36.一种图形处理和显示系统,所述系统在具有不受限数目的多个图形核心的硅芯片上实现。
37.一种图形处理和显示系统,所述系统在利用多个图形核心群集的硅芯片上实现。
38.一种图形处理和显示系统,所述系统在具有多个图形核心或管道(即,多管道芯片上系统,或MP-SOC)并提供架构灵活性以实现先进的并行图形显示性能的硅芯片上实现。
39.一种图形处理和显示系统,所述系统在具有多个图形核心、并在其几何和像素处理子系统两者内均自适应地支持不同并行模式的硅芯片上实现。
40.一种图形处理和显示系统,所述系统在具有多个GPU核心、并提供针对高度先进的图形处理和显示性能的自适应性的硅芯片上实现。
41.一种图形处理和显示系统及方法,其中顶点(即,3D多边形几何)处理和片段处理的图形管道瓶颈被透明而巧妙地解决。
42.一种用于巧妙分解数据和图形命令、保持图形库的基本特征作为状态机并紧密遵循图形标准的方法。
43.一种视频图形卡,所述视频图形卡支持在具有多个图形核心并提供架构灵活性以实现最佳的并行性能的硅芯片上实现的图形处理和显示系统。
44.一种具有拟真图形处理和显示能力的计算系统,所述计算系统采用包含具有多个图形核心并提供架构灵活性以实现最佳并行性能的硅芯片的图形卡。
45.一种计算系统,所述计算系统具有包括使用个人计算设备的视频游戏、虚拟现实、科学可视化、以及需要或要求拟真图形显示能力的其它交互应用在内的应用所需的拟真图形处理和显示性能。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US64714605P | 2005-01-25 | 2005-01-25 | |
PCT/IB2006/001529 WO2006117683A2 (en) | 2005-01-25 | 2006-01-25 | Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction |
US11/340,402 US7812844B2 (en) | 2004-01-28 | 2006-01-25 | PC-based computing system employing a silicon chip having a routing unit and a control unit for parallelizing multiple GPU-driven pipeline cores according to the object division mode of parallel operation during the running of a graphics application |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101849227A true CN101849227A (zh) | 2010-09-29 |
Family
ID=37108069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680002976A Pending CN101849227A (zh) | 2005-01-25 | 2006-01-25 | 在单片构造的硅芯片上采用多个图形核心的图形处理和显示系统 |
Country Status (6)
Country | Link |
---|---|
US (19) | US7812844B2 (zh) |
EP (1) | EP1846834A2 (zh) |
JP (1) | JP2008538620A (zh) |
CN (1) | CN101849227A (zh) |
CA (1) | CA2595085A1 (zh) |
WO (1) | WO2006117683A2 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101303771B (zh) * | 2007-05-11 | 2012-07-18 | 汤姆逊许可公司 | 借助于一组显示命令来呈现图像帧的渲染器 |
CN103608777A (zh) * | 2011-06-20 | 2014-02-26 | 高通股份有限公司 | 图形处理单元中的存储器共享 |
CN109408456A (zh) * | 2018-12-07 | 2019-03-01 | 中国地质大学(武汉) | 一种基于s905d芯片与stm32芯片协同工作硬件电路 |
CN110335190A (zh) * | 2019-06-20 | 2019-10-15 | 合肥芯碁微电子装备有限公司 | 基于cuda的直写式光刻机数据拓展方法 |
CN110895788A (zh) * | 2019-11-29 | 2020-03-20 | 上海众链科技有限公司 | 一种增强图形处理能力的系统及外接设备 |
CN111491059A (zh) * | 2020-04-09 | 2020-08-04 | 上海众链科技有限公司 | 图像渲染增强系统及方法 |
CN112419147A (zh) * | 2020-04-14 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 图像渲染方法及装置 |
WO2021136433A1 (zh) * | 2019-12-31 | 2021-07-08 | 华为技术有限公司 | 一种电子设备及计算机系统 |
WO2022193774A1 (zh) * | 2021-03-19 | 2022-09-22 | 上海寒武纪信息科技有限公司 | 用于芯片的封装框架,加工方法及相关产品 |
CN115100022A (zh) * | 2022-08-23 | 2022-09-23 | 芯动微电子科技(珠海)有限公司 | 图形处理方法及系统 |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1890660A (zh) | 2003-11-19 | 2007-01-03 | 路西德信息技术有限公司 | Pc总线上的多重三维图形管线的方法及系统 |
US9363481B2 (en) * | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
US7423651B2 (en) * | 2005-10-13 | 2008-09-09 | V. R. Technology Co., Ltd. | Single-chip multi-output graphic system |
US7483032B1 (en) * | 2005-10-18 | 2009-01-27 | Nvidia Corporation | Zero frame buffer |
US7705850B1 (en) * | 2005-11-08 | 2010-04-27 | Nvidia Corporation | Computer system having increased PCIe bandwidth |
US7948497B2 (en) * | 2005-11-29 | 2011-05-24 | Via Technologies, Inc. | Chipset and related method of processing graphic signals |
US7546574B2 (en) * | 2005-12-02 | 2009-06-09 | Gauda, Inc. | Optical proximity correction on hardware or software platforms with graphical processing units |
US7685371B1 (en) * | 2006-04-19 | 2010-03-23 | Nvidia Corporation | Hierarchical flush barrier mechanism with deadlock avoidance |
US7659901B2 (en) * | 2006-07-24 | 2010-02-09 | Microsoft Corporation | Application program interface for programmable graphics pipeline |
US7969443B2 (en) * | 2006-08-01 | 2011-06-28 | Nvidia Corporation | System and method for dynamically processing content being communicated over a network for display purposes |
US7961192B2 (en) * | 2006-08-01 | 2011-06-14 | Nvidia Corporation | Multi-graphics processor system and method for processing content communicated over a network for display purposes |
US9275430B2 (en) | 2006-12-31 | 2016-03-01 | Lucidlogix Technologies, Ltd. | Computing system employing a multi-GPU graphics processing and display subsystem supporting single-GPU non-parallel (multi-threading) and multi-GPU application-division parallel modes of graphics processing operation |
US11714476B2 (en) | 2006-12-31 | 2023-08-01 | Google Llc | Apparatus and method for power management of a computing system |
US7940261B2 (en) * | 2007-01-10 | 2011-05-10 | Qualcomm Incorporated | Automatic load balancing of a 3D graphics pipeline |
GB0715000D0 (en) * | 2007-07-31 | 2007-09-12 | Symbian Software Ltd | Command synchronisation |
US7982742B2 (en) * | 2007-09-06 | 2011-07-19 | Dell Products L.P. | System and method for an information handling system having an external graphics processor system for operating multiple monitors |
GB0723536D0 (en) * | 2007-11-30 | 2008-01-09 | Imagination Tech Ltd | Multi-core geometry processing in a tile based rendering system |
KR100980449B1 (ko) * | 2007-12-17 | 2010-09-07 | 한국전자통신연구원 | 병렬 전역조명 렌더링 방법 및 시스템 |
KR100969322B1 (ko) | 2008-01-10 | 2010-07-09 | 엘지전자 주식회사 | 멀티 그래픽 컨트롤러를 구비한 데이터 처리 장치 및 이를이용한 데이터 처리 방법 |
US8477143B2 (en) | 2008-03-04 | 2013-07-02 | Apple Inc. | Buffers for display acceleration |
US8289333B2 (en) * | 2008-03-04 | 2012-10-16 | Apple Inc. | Multi-context graphics processing |
WO2009118731A2 (en) | 2008-03-27 | 2009-10-01 | Rocketick Technologies Ltd | Design simulation using parallel processors |
US8319782B2 (en) * | 2008-07-08 | 2012-11-27 | Dell Products, Lp | Systems and methods for providing scalable parallel graphics rendering capability for information handling systems |
KR101607495B1 (ko) * | 2008-07-10 | 2016-03-30 | 로케틱 테크놀로지즈 리미티드 | 디펜던시 문제의 효율적인 병렬 계산 |
US9032377B2 (en) | 2008-07-10 | 2015-05-12 | Rocketick Technologies Ltd. | Efficient parallel computation of dependency problems |
US7930519B2 (en) * | 2008-12-17 | 2011-04-19 | Advanced Micro Devices, Inc. | Processor with coprocessor interfacing functional unit for forwarding result from coprocessor to retirement unit |
US8248535B2 (en) * | 2009-02-18 | 2012-08-21 | Csr Technology Inc. | System and method for a versatile display pipeline architecture for an LCD display panel |
US9336028B2 (en) * | 2009-06-25 | 2016-05-10 | Apple Inc. | Virtual graphics device driver |
US9142057B2 (en) | 2009-09-03 | 2015-09-22 | Advanced Micro Devices, Inc. | Processing unit with a plurality of shader engines |
US8400458B2 (en) * | 2009-09-09 | 2013-03-19 | Hewlett-Packard Development Company, L.P. | Method and system for blocking data on a GPU |
US20110212761A1 (en) * | 2010-02-26 | 2011-09-01 | Igt | Gaming machine processor |
US8798386B2 (en) * | 2010-04-22 | 2014-08-05 | Broadcom Corporation | Method and system for processing image data on a per tile basis in an image sensor pipeline |
US20120159090A1 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Scalable multimedia computer system architecture with qos guarantees |
US20120218277A1 (en) * | 2011-02-25 | 2012-08-30 | ST-Ericcson SA | Display list mechanism and scalable display engine structures |
US8786619B2 (en) | 2011-02-25 | 2014-07-22 | Adobe Systems Incorporated | Parallelized definition and display of content in a scripting environment |
US9128748B2 (en) | 2011-04-12 | 2015-09-08 | Rocketick Technologies Ltd. | Parallel simulation using multiple co-simulators |
US9886899B2 (en) * | 2011-05-17 | 2018-02-06 | Ignis Innovation Inc. | Pixel Circuits for AMOLED displays |
US10013731B2 (en) * | 2011-06-30 | 2018-07-03 | Intel Corporation | Maximizing parallel processing in graphics processors |
JP5361962B2 (ja) * | 2011-08-25 | 2013-12-04 | 株式会社東芝 | グラフィクスプロセッシングユニットおよび情報処理装置 |
US10217270B2 (en) | 2011-11-18 | 2019-02-26 | Intel Corporation | Scalable geometry processing within a checkerboard multi-GPU configuration |
US9619855B2 (en) | 2011-11-18 | 2017-04-11 | Intel Corporation | Scalable geometry processing within a checkerboard multi-GPU configuration |
WO2014084419A1 (ko) * | 2012-11-29 | 2014-06-05 | Lee Eun-Suk | 전원이 오프된 상태에서 설정된 컨텐츠를 화면을 통해 제공하는 것이 가능한 컴퓨터 |
CN103064657B (zh) * | 2012-12-26 | 2016-09-28 | 深圳中微电科技有限公司 | 单个处理器上实现多应用并行处理的方法及装置 |
US9348602B1 (en) | 2013-09-03 | 2016-05-24 | Amazon Technologies, Inc. | Resource allocation for staged execution pipelining |
KR102244620B1 (ko) | 2014-09-05 | 2021-04-26 | 삼성전자 주식회사 | 렌더링 수준 제어 방법 및 장치 |
WO2016074166A1 (en) * | 2014-11-12 | 2016-05-19 | Intel Corporation | Live migration of virtual machines from/to host computers with graphics virtualization |
US20180081847A1 (en) * | 2015-03-27 | 2018-03-22 | Intel Corporation | Dynamic configuration of input/output controller access lanes |
US9622182B2 (en) * | 2015-04-17 | 2017-04-11 | Suunto Oy | Embedded computing device |
US10796397B2 (en) * | 2015-06-12 | 2020-10-06 | Intel Corporation | Facilitating dynamic runtime transformation of graphics processing commands for improved graphics performance at computing devices |
US11295506B2 (en) | 2015-09-16 | 2022-04-05 | Tmrw Foundation Ip S. À R.L. | Chip with game engine and ray trace engine |
JP6766495B2 (ja) * | 2016-07-21 | 2020-10-14 | 富士通株式会社 | プログラム、コンピュータ及び情報処理方法 |
KR20180038793A (ko) * | 2016-10-07 | 2018-04-17 | 삼성전자주식회사 | 영상 데이터 처리 방법 및 장치 |
KR102644276B1 (ko) * | 2016-10-10 | 2024-03-06 | 삼성전자주식회사 | 그래픽 처리 장치 및 방법 |
CN106648547A (zh) * | 2016-12-12 | 2017-05-10 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu图形状态参数的分布式统一管理方法 |
JP6550418B2 (ja) * | 2017-04-03 | 2019-07-24 | エンパイア テクノロジー ディベロップメント エルエルシー | オンラインゲーム |
US10872394B2 (en) * | 2017-04-27 | 2020-12-22 | Daegu Gyeongbuk Institute Of Science And Technology | Frequent pattern mining method and apparatus |
EP3676710A4 (en) * | 2017-08-31 | 2021-07-28 | Rail Vision Ltd | SYSTEM AND METHOD FOR IMPROVING THE FLOW RATE IN MANY CALCULATIONS |
US11301951B2 (en) * | 2018-03-15 | 2022-04-12 | The Calany Holding S. À R.L. | Game engine and artificial intelligence engine on a chip |
CN112005218B (zh) * | 2018-04-28 | 2024-01-30 | 华为技术有限公司 | 一种图像处理器的功率分配的方法、装置及系统 |
CN110032597B (zh) * | 2018-11-30 | 2023-04-11 | 创新先进技术有限公司 | 应用程序操作行为的可视化处理方法及装置 |
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 |
US11475601B2 (en) * | 2019-10-21 | 2022-10-18 | Google Llc | Image decoding during bitstream interruptions |
CN111221771B (zh) * | 2019-11-18 | 2023-04-28 | 天津津航计算技术研究所 | 一种适用于vpx架构的gpu刀片装置 |
CN111045623B (zh) * | 2019-11-21 | 2023-06-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种多gpu拼接环境下图形命令的处理方法 |
US11263718B2 (en) | 2020-02-03 | 2022-03-01 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by pretesting against in interleaved screen regions before rendering |
US11170461B2 (en) | 2020-02-03 | 2021-11-09 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by performing geometry analysis while rendering |
US11508110B2 (en) | 2020-02-03 | 2022-11-22 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by performing geometry analysis before rendering |
US11514549B2 (en) | 2020-02-03 | 2022-11-29 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by generating information in one rendering phase for use in another rendering phase |
US11321800B2 (en) * | 2020-02-03 | 2022-05-03 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by region testing while rendering |
US11080814B1 (en) | 2020-02-03 | 2021-08-03 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by pretesting against screen regions using prior frame information |
US11120522B2 (en) * | 2020-02-03 | 2021-09-14 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by subdividing geometry |
US11315209B2 (en) * | 2020-05-08 | 2022-04-26 | Black Sesame Technolgies Inc. | In-line and offline staggered bandwidth efficient image signal processing |
US11662798B2 (en) | 2021-07-30 | 2023-05-30 | Advanced Micro Devices, Inc. | Technique for extended idle duration for display to improve power consumption |
KR20240032993A (ko) * | 2021-08-11 | 2024-03-12 | 애플 인크. | 그래픽스 프로세서들에 대한 로직 슬롯 대 하드웨어 슬롯 맵핑 |
CN113849448A (zh) * | 2021-09-28 | 2021-12-28 | 联想(北京)有限公司 | 一种电子设备 |
Family Cites Families (226)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07104923B2 (ja) | 1988-12-28 | 1995-11-13 | 工業技術院長 | 並列画像表示処理方法 |
US5392391A (en) * | 1991-10-18 | 1995-02-21 | Lsi Logic Corporation | High performance graphics applications controller |
CA2073516A1 (en) | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
JPH07325934A (ja) | 1992-07-10 | 1995-12-12 | Walt Disney Co:The | 仮想世界に向上したグラフィックスを提供する方法および装置 |
JP3199205B2 (ja) | 1993-11-19 | 2001-08-13 | 株式会社日立製作所 | 並列演算装置 |
US5495419A (en) | 1994-04-19 | 1996-02-27 | Lsi Logic Corporation | Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing |
US5734874A (en) * | 1994-04-29 | 1998-03-31 | Sun Microsystems, Inc. | Central processing unit with integrated graphics functions |
EP0693737A3 (en) | 1994-07-21 | 1997-01-08 | Ibm | Method and apparatus for managing tasks in a multiprocessor system |
US5745762A (en) | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture supporting multiple system emulations |
US5687357A (en) | 1995-04-14 | 1997-11-11 | Nvidia Corporation | Register array for utilizing burst mode transfer on local bus |
US5754866A (en) | 1995-05-08 | 1998-05-19 | Nvidia Corporation | Delayed interrupts with a FIFO in an improved input/output architecture |
US5909595A (en) | 1995-05-15 | 1999-06-01 | Nvidia Corporation | Method of controlling I/O routing by setting connecting context for utilizing I/O processing elements within a computer system to produce multimedia effects |
US5623692A (en) | 1995-05-15 | 1997-04-22 | Nvidia Corporation | Architecture for providing input/output operations in a computer system |
US5758182A (en) | 1995-05-15 | 1998-05-26 | Nvidia Corporation | DMA controller translates virtual I/O device address received directly from application program command to physical i/o device address of I/O device on device bus |
US5794016A (en) | 1995-12-11 | 1998-08-11 | Dynamic Pictures, Inc. | Parallel-processor graphics architecture |
US5838756A (en) * | 1996-01-08 | 1998-11-17 | Kabushiki Kaisha Toshiba | Radiation computed tomography apparatus |
KR100269106B1 (ko) | 1996-03-21 | 2000-11-01 | 윤종용 | 멀티프로세서 그래픽스 시스템 |
WO1998007266A1 (en) | 1996-08-14 | 1998-02-19 | Northern Telecom Limited | Internet-based telephone call manager |
US5797016A (en) * | 1996-10-29 | 1998-08-18 | Cheyenne Software Inc. | Regeneration agent for back-up software |
US5977997A (en) * | 1997-03-06 | 1999-11-02 | Lsi Logic Corporation | Single chip computer having integrated MPEG and graphical processors |
US6118462A (en) | 1997-07-01 | 2000-09-12 | Memtrax Llc | Computer system controller having internal memory and external memory control |
US6169553B1 (en) | 1997-07-02 | 2001-01-02 | Ati Technologies, Inc. | Method and apparatus for rendering a three-dimensional scene having shadowing |
US6201545B1 (en) | 1997-09-23 | 2001-03-13 | Ati Technologies, Inc. | Method and apparatus for generating sub pixel masks in a three dimensional graphic processing system |
US6856320B1 (en) | 1997-11-25 | 2005-02-15 | Nvidia U.S. Investment Company | Demand-based memory system for graphics applications |
US6337686B2 (en) | 1998-01-07 | 2002-01-08 | Ati Technologies Inc. | Method and apparatus for line anti-aliasing |
US6496187B1 (en) | 1998-02-17 | 2002-12-17 | Sun Microsystems, Inc. | Graphics system configured to perform parallel sample to pixel calculation |
US6473089B1 (en) | 1998-03-02 | 2002-10-29 | Ati Technologies, Inc. | Method and apparatus for a video graphics circuit having parallel pixel processing |
US6259460B1 (en) | 1998-03-26 | 2001-07-10 | Silicon Graphics, Inc. | Method for efficient handling of texture cache misses by recirculation |
US7038692B1 (en) | 1998-04-07 | 2006-05-02 | Nvidia Corporation | Method and apparatus for providing a vertex cache |
JP3497988B2 (ja) * | 1998-04-15 | 2004-02-16 | 株式会社ルネサステクノロジ | 図形処理装置及び図形処理方法 |
US6092124A (en) | 1998-04-17 | 2000-07-18 | Nvidia Corporation | Method and apparatus for accelerating the rendering of images |
US6184908B1 (en) | 1998-04-27 | 2001-02-06 | Ati Technologies, Inc. | Method and apparatus for co-processing video graphics data |
US6212617B1 (en) | 1998-05-13 | 2001-04-03 | Microsoft Corporation | Parallel processing method and system using a lazy parallel data type to reduce inter-processor communication |
US6477687B1 (en) | 1998-06-01 | 2002-11-05 | Nvidia U.S. Investment Company | Method of embedding RAMS and other macrocells in the core of an integrated circuit chip |
US6646639B1 (en) | 1998-07-22 | 2003-11-11 | Nvidia Corporation | Modified method and apparatus for improved occlusion culling in graphics systems |
US6636215B1 (en) | 1998-07-22 | 2003-10-21 | Nvidia Corporation | Hardware-assisted z-pyramid creation for host-based occlusion culling |
US7023437B1 (en) | 1998-07-22 | 2006-04-04 | Nvidia Corporation | System and method for accelerating graphics processing using a post-geometry data stream during multiple-pass rendering |
US7068272B1 (en) | 2000-05-31 | 2006-06-27 | Nvidia Corporation | System, method and article of manufacture for Z-value and stencil culling prior to rendering in a computer graphics processing pipeline |
US6415345B1 (en) | 1998-08-03 | 2002-07-02 | Ati Technologies | Bus mastering interface control system for transferring multistream data over a host bus |
US6191800B1 (en) | 1998-08-11 | 2001-02-20 | International Business Machines Corporation | Dynamic balancing of graphics workloads using a tiling strategy |
AU5688199A (en) | 1998-08-20 | 2000-03-14 | Raycer, Inc. | System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline |
US6492987B1 (en) | 1998-08-27 | 2002-12-10 | Ati Technologies, Inc. | Method and apparatus for processing object elements that are being rendered |
US6188412B1 (en) | 1998-08-28 | 2001-02-13 | Ati Technologies, Inc. | Method and apparatus for performing setup operations in a video graphics system |
US6591347B2 (en) * | 1998-10-09 | 2003-07-08 | National Semiconductor Corporation | Dynamic replacement technique in a shared cache |
US6292200B1 (en) | 1998-10-23 | 2001-09-18 | Silicon Graphics, Inc. | Apparatus and method for utilizing multiple rendering pipes for a single 3-D display |
US6731407B1 (en) | 1998-11-02 | 2004-05-04 | Seiko Epson Corporation | Image processing method and device |
US6323866B1 (en) * | 1998-11-25 | 2001-11-27 | Silicon Integrated Systems Corp. | Integrated circuit device having a core controller, a bus bridge, a graphical controller and a unified memory control unit built therein for use in a computer system |
US6362825B1 (en) | 1999-01-19 | 2002-03-26 | Hewlett-Packard Company | Real-time combination of adjacent identical primitive data sets in a graphics call sequence |
US6477683B1 (en) | 1999-02-05 | 2002-11-05 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
US6753878B1 (en) | 1999-03-08 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Parallel pipelined merge engines |
JP3169933B2 (ja) | 1999-03-16 | 2001-05-28 | 四国日本電気ソフトウェア株式会社 | 並列描画装置 |
US6535209B1 (en) | 1999-03-17 | 2003-03-18 | Nvidia Us Investments Co. | Data stream splitting and storage in graphics data processing |
US6288418B1 (en) | 1999-03-19 | 2001-09-11 | Nvidia Corporation | Multiuse input/output connector arrangement for graphics accelerator integrated circuit |
US6333744B1 (en) | 1999-03-22 | 2001-12-25 | Nvidia Corporation | Graphics pipeline including combiner stages |
US6181352B1 (en) | 1999-03-22 | 2001-01-30 | Nvidia Corporation | Graphics pipeline selectively providing multiple pixels or multiple textures |
US6577320B1 (en) | 1999-03-22 | 2003-06-10 | Nvidia Corporation | Method and apparatus for processing multiple types of pixel component representations including processes of premultiplication, postmultiplication, and colorkeying/chromakeying |
DE19917092A1 (de) | 1999-04-15 | 2000-10-26 | Sp3D Chip Design Gmbh | Verfahren zur Rasterisierung eines Graphikgrundelements |
US6442656B1 (en) | 1999-08-18 | 2002-08-27 | Ati Technologies Srl | Method and apparatus for interfacing memory with a bus |
US6578068B1 (en) | 1999-08-31 | 2003-06-10 | Accenture Llp | Load balancer in environment services patterns |
US6352479B1 (en) | 1999-08-31 | 2002-03-05 | Nvidia U.S. Investment Company | Interactive gaming server and online community forum |
US6657635B1 (en) | 1999-09-03 | 2003-12-02 | Nvidia Corporation | Binning flush in graphics data processing |
US7002577B2 (en) | 1999-12-06 | 2006-02-21 | Nvidia Corporation | Clipping system and method for a single graphics semiconductor platform |
US6870540B1 (en) | 1999-12-06 | 2005-03-22 | Nvidia Corporation | System, method and computer program product for a programmable pixel processing model with instruction set |
US6844880B1 (en) | 1999-12-06 | 2005-01-18 | Nvidia Corporation | System, method and computer program product for an improved programmable vertex processing model with instruction set |
US6452595B1 (en) | 1999-12-06 | 2002-09-17 | Nvidia Corporation | Integrated graphics processing unit with antialiasing |
US6573900B1 (en) | 1999-12-06 | 2003-06-03 | Nvidia Corporation | Method, apparatus and article of manufacture for a sequencer in a transform/lighting module capable of processing multiple independent execution threads |
US6417851B1 (en) | 1999-12-06 | 2002-07-09 | Nvidia Corporation | Method and apparatus for lighting module in a graphics processor |
US6353439B1 (en) | 1999-12-06 | 2002-03-05 | Nvidia Corporation | System, method and computer program product for a blending operation in a transform module of a computer graphics pipeline |
US6198488B1 (en) | 1999-12-06 | 2001-03-06 | Nvidia | Transform, lighting and rasterization system embodied on a single semiconductor platform |
US6473086B1 (en) | 1999-12-09 | 2002-10-29 | Ati International Srl | Method and apparatus for graphics processing using parallel graphics processors |
US6557065B1 (en) | 1999-12-20 | 2003-04-29 | Intel Corporation | CPU expandability bus |
US6760031B1 (en) | 1999-12-31 | 2004-07-06 | Intel Corporation | Upgrading an integrated graphics subsystem |
US6864984B2 (en) | 2000-03-16 | 2005-03-08 | Fuji Photo Film Co., Ltd. | Measuring method and apparatus using attenuation in total reflection |
US6975319B1 (en) | 2000-03-24 | 2005-12-13 | Nvidia Corporation | System, method and article of manufacture for calculating a level of detail (LOD) during computer graphics processing |
US6831652B1 (en) | 2000-03-24 | 2004-12-14 | Ati International, Srl | Method and system for storing graphics data |
US20030132291A1 (en) | 2002-01-11 | 2003-07-17 | Metrologic Instruments, Inc. | Point of sale (POS) station having bar code reading system with integrated internet-enabled customer-kiosk terminal |
US6741243B2 (en) | 2000-05-01 | 2004-05-25 | Broadcom Corporation | Method and system for reducing overflows in a computer graphics system |
US6725457B1 (en) | 2000-05-17 | 2004-04-20 | Nvidia Corporation | Semaphore enhancement to improve system performance |
US6633296B1 (en) | 2000-05-26 | 2003-10-14 | Ati International Srl | Apparatus for providing data to a plurality of graphics processors and method thereof |
US6728820B1 (en) | 2000-05-26 | 2004-04-27 | Ati International Srl | Method of configuring, controlling, and accessing a bridge and apparatus therefor |
US6789154B1 (en) | 2000-05-26 | 2004-09-07 | Ati International, Srl | Apparatus and method for transmitting data |
US6670958B1 (en) | 2000-05-26 | 2003-12-30 | Ati International, Srl | Method and apparatus for routing data to multiple graphics devices |
US6662257B1 (en) | 2000-05-26 | 2003-12-09 | Ati International Srl | Multiple device bridge apparatus and method thereof |
US6690372B2 (en) | 2000-05-31 | 2004-02-10 | Nvidia Corporation | System, method and article of manufacture for shadow mapping |
US6724394B1 (en) | 2000-05-31 | 2004-04-20 | Nvidia Corporation | Programmable pixel shading architecture |
US6593923B1 (en) | 2000-05-31 | 2003-07-15 | Nvidia Corporation | System, method and article of manufacture for shadow mapping |
US6532013B1 (en) | 2000-05-31 | 2003-03-11 | Nvidia Corporation | System, method and article of manufacture for pixel shaders for programmable shading |
US6664963B1 (en) | 2000-05-31 | 2003-12-16 | Nvidia Corporation | System, method and computer program product for programmable shading using pixel shaders |
JP2002008060A (ja) | 2000-06-23 | 2002-01-11 | Hitachi Ltd | データ処理方法、記録媒体及びデータ処理装置 |
US6801202B2 (en) | 2000-06-29 | 2004-10-05 | Sun Microsystems, Inc. | Graphics system configured to parallel-process graphics data using multiple pipelines |
US7405734B2 (en) | 2000-07-18 | 2008-07-29 | Silicon Graphics, Inc. | Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units |
US6959110B1 (en) | 2000-08-17 | 2005-10-25 | Nvidia Corporation | Multi-mode texture compression algorithm |
US7116331B1 (en) | 2000-08-23 | 2006-10-03 | Intel Corporation | Memory controller hub interface |
US6842180B1 (en) | 2000-09-20 | 2005-01-11 | Intel Corporation | Opportunistic sharing of graphics resources to enhance CPU performance in an integrated microprocessor |
US6885378B1 (en) * | 2000-09-28 | 2005-04-26 | Intel Corporation | Method and apparatus for the implementation of full-scene anti-aliasing supersampling |
US6502173B1 (en) | 2000-09-29 | 2002-12-31 | Ati Technologies, Inc. | System for accessing memory and method therefore |
US6532525B1 (en) | 2000-09-29 | 2003-03-11 | Ati Technologies, Inc. | Method and apparatus for accessing memory |
US6828980B1 (en) | 2000-10-02 | 2004-12-07 | Nvidia Corporation | System, method and computer program product for z-texture mapping |
US6731298B1 (en) | 2000-10-02 | 2004-05-04 | Nvidia Corporation | System, method and article of manufacture for z-texture mapping |
JP3580789B2 (ja) | 2000-10-10 | 2004-10-27 | 株式会社ソニー・コンピュータエンタテインメント | データ通信システム及び方法、コンピュータプログラム、記録媒体 |
US6961057B1 (en) | 2000-10-12 | 2005-11-01 | Nvidia Corporation | Method and apparatus for managing and accessing depth data in a computer graphics system |
US6362997B1 (en) | 2000-10-16 | 2002-03-26 | Nvidia | Memory system for use on a circuit board in which the number of loads are minimized |
US6636212B1 (en) | 2000-11-14 | 2003-10-21 | Nvidia Corporation | Method and apparatus for determining visibility of groups of pixels |
US6778181B1 (en) | 2000-12-07 | 2004-08-17 | Nvidia Corporation | Graphics processing system having a virtual texturing array |
US7027972B1 (en) | 2001-01-24 | 2006-04-11 | Ati Technologies, Inc. | System for collecting and analyzing graphics data and method thereof |
US7358974B2 (en) | 2001-01-29 | 2008-04-15 | Silicon Graphics, Inc. | Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video |
US6888580B2 (en) | 2001-02-27 | 2005-05-03 | Ati Technologies Inc. | Integrated single and dual television tuner having improved fine tuning |
US7130316B2 (en) | 2001-04-11 | 2006-10-31 | Ati Technologies, Inc. | System for frame based audio synchronization and method thereof |
US6542971B1 (en) | 2001-04-23 | 2003-04-01 | Nvidia Corporation | Memory access system and method employing an auxiliary buffer |
US6664960B2 (en) | 2001-05-10 | 2003-12-16 | Ati Technologies Inc. | Apparatus for processing non-planar video graphics primitives and associated method of operation |
US6700583B2 (en) | 2001-05-14 | 2004-03-02 | Ati Technologies, Inc. | Configurable buffer for multipass applications |
WO2002101497A2 (en) | 2001-06-08 | 2002-12-19 | Nvidia Corporation | System, method and computer program product for programmable fragment processing in a graphics pipeline |
US6894687B1 (en) | 2001-06-08 | 2005-05-17 | Nvidia Corporation | System, method and computer program product for vertex attribute aliasing in a graphics pipeline |
US6697064B1 (en) | 2001-06-08 | 2004-02-24 | Nvidia Corporation | System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline |
JP2003030641A (ja) | 2001-07-19 | 2003-01-31 | Nec System Technologies Ltd | 描画装置とその並列描画方法、及び並列描画プログラム |
US6828987B2 (en) | 2001-08-07 | 2004-12-07 | Ati Technologies, Inc. | Method and apparatus for processing video and graphics data |
US6778189B1 (en) | 2001-08-24 | 2004-08-17 | Nvidia Corporation | Two-sided stencil testing system and method |
US6744433B1 (en) | 2001-08-31 | 2004-06-01 | Nvidia Corporation | System and method for using and collecting information from a plurality of depth layers |
US6704025B1 (en) | 2001-08-31 | 2004-03-09 | Nvidia Corporation | System and method for dual-depth shadow-mapping |
US6989840B1 (en) | 2001-08-31 | 2006-01-24 | Nvidia Corporation | Order-independent transparency rendering system and method |
US6947047B1 (en) | 2001-09-20 | 2005-09-20 | Nvidia Corporation | Method and system for programmable pipelined graphics processing with branching instructions |
US6938176B1 (en) | 2001-10-05 | 2005-08-30 | Nvidia Corporation | Method and apparatus for power management of graphics processors and subsystems that allow the subsystems to respond to accesses when subsystems are idle |
US6999076B2 (en) | 2001-10-29 | 2006-02-14 | Ati Technologies, Inc. | System, method, and apparatus for early culling |
US7091971B2 (en) | 2001-10-29 | 2006-08-15 | Ati Technologies, Inc. | System, method, and apparatus for multi-level hierarchical Z buffering |
US6677953B1 (en) | 2001-11-08 | 2004-01-13 | Nvidia Corporation | Hardware viewport system and method for use in a graphics pipeline |
US20030117971A1 (en) | 2001-12-21 | 2003-06-26 | Celoxica Ltd. | System, method, and article of manufacture for profiling an executable hardware model using calls to profiling functions |
US6683614B2 (en) | 2001-12-21 | 2004-01-27 | Hewlett-Packard Development Company, L.P. | System and method for automatically configuring graphics pipelines by tracking a region of interest in a computer graphical display system |
US7012610B2 (en) | 2002-01-04 | 2006-03-14 | Ati Technologies, Inc. | Portable device for providing dual display and method thereof |
US6774895B1 (en) | 2002-02-01 | 2004-08-10 | Nvidia Corporation | System and method for depth clamping in a hardware graphics pipeline |
US6829689B1 (en) | 2002-02-12 | 2004-12-07 | Nvidia Corporation | Method and system for memory access arbitration for minimizing read/write turnaround penalties |
US6947865B1 (en) | 2002-02-15 | 2005-09-20 | Nvidia Corporation | Method and system for dynamic power supply voltage adjustment for a semiconductor integrated circuit device |
JP4079410B2 (ja) | 2002-02-15 | 2008-04-23 | 株式会社バンダイナムコゲームス | 画像生成システム、プログラム及び情報記憶媒体 |
US6933943B2 (en) | 2002-02-27 | 2005-08-23 | Hewlett-Packard Development Company, L.P. | Distributed resource architecture and system |
US6700580B2 (en) | 2002-03-01 | 2004-03-02 | Hewlett-Packard Development Company, L.P. | System and method utilizing multiple pipelines to render graphical data |
US6853380B2 (en) | 2002-03-04 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | Graphical display system and method |
US20030171907A1 (en) | 2002-03-06 | 2003-09-11 | Shay Gal-On | Methods and Apparatus for Optimizing Applications on Configurable Processors |
US6919896B2 (en) * | 2002-03-11 | 2005-07-19 | Sony Computer Entertainment Inc. | System and method of optimizing graphics processing |
US7009605B2 (en) | 2002-03-20 | 2006-03-07 | Nvidia Corporation | System, method and computer program product for generating a shader program |
JP4193990B2 (ja) * | 2002-03-22 | 2008-12-10 | ディーリング,マイケル,エフ. | スケーラブルな高性能3dグラフィックス |
US20030212735A1 (en) | 2002-05-13 | 2003-11-13 | Nvidia Corporation | Method and apparatus for providing an integrated network of processors |
US20040153778A1 (en) | 2002-06-12 | 2004-08-05 | Ati Technologies, Inc. | Method, system and software for configuring a graphics processing communication mode |
US6980209B1 (en) | 2002-06-14 | 2005-12-27 | Nvidia Corporation | Method and system for scalable, dataflow-based, programmable processing of graphics data |
US6812927B1 (en) | 2002-06-18 | 2004-11-02 | Nvidia Corporation | System and method for avoiding depth clears using a stencil buffer |
US6876362B1 (en) | 2002-07-10 | 2005-04-05 | Nvidia Corporation | Omnidirectional shadow texture mapping |
US6797998B2 (en) | 2002-07-16 | 2004-09-28 | Nvidia Corporation | Multi-configuration GPU interface device |
US6825843B2 (en) | 2002-07-18 | 2004-11-30 | Nvidia Corporation | Method and apparatus for loop and branch instructions in a programmable graphics pipeline |
US6954204B2 (en) | 2002-07-18 | 2005-10-11 | Nvidia Corporation | Programmable graphics system and method using flexible, high-precision data formats |
US6864893B2 (en) | 2002-07-19 | 2005-03-08 | Nvidia Corporation | Method and apparatus for modifying depth values using pixel programs |
US6952206B1 (en) | 2002-08-12 | 2005-10-04 | Nvidia Corporation | Graphics application program interface system and method for accelerating graphics processing |
US7112884B2 (en) | 2002-08-23 | 2006-09-26 | Ati Technologies, Inc. | Integrated circuit having memory disposed thereon and method of making thereof |
US6779069B1 (en) | 2002-09-04 | 2004-08-17 | Nvidia Corporation | Computer system with source-synchronous digital link |
JP4467267B2 (ja) | 2002-09-06 | 2010-05-26 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理方法、画像処理装置、および画像処理システム |
US7061495B1 (en) * | 2002-11-18 | 2006-06-13 | Ati Technologies, Inc. | Method and apparatus for rasterizer interpolation |
US7633506B1 (en) * | 2002-11-27 | 2009-12-15 | Ati Technologies Ulc | Parallel pipeline graphics system |
US7324547B1 (en) | 2002-12-13 | 2008-01-29 | Nvidia Corporation | Internet protocol (IP) router residing in a processor chipset |
US6885376B2 (en) | 2002-12-30 | 2005-04-26 | Silicon Graphics, Inc. | System, method, and computer program product for near-real time load balancing across multiple rendering pipelines |
EP1590769A4 (en) | 2003-01-28 | 2007-04-04 | Lucid Information Technology Ltd | METHOD AND SYSTEM FOR COMPOSING THREE-DIMENSIONAL GRAPHICS USING AN ASSOCIATIVE DECISION MECHANISM |
US7145565B2 (en) | 2003-02-27 | 2006-12-05 | Nvidia Corporation | Depth bounds testing |
US6911983B2 (en) | 2003-03-12 | 2005-06-28 | Nvidia Corporation | Double-buffering of pixel data using copy-on-write semantics |
US7129909B1 (en) | 2003-04-09 | 2006-10-31 | Nvidia Corporation | Method and system using compressed display mode list |
US6900810B1 (en) | 2003-04-10 | 2005-05-31 | Nvidia Corporation | User programmable geometry engine |
US6940515B1 (en) | 2003-04-10 | 2005-09-06 | Nvidia Corporation | User programmable primitive engine |
US7120816B2 (en) | 2003-04-17 | 2006-10-10 | Nvidia Corporation | Method for testing synchronization and connection status of a graphics processing unit module |
US7483031B2 (en) | 2003-04-17 | 2009-01-27 | Nvidia Corporation | Method for synchronizing graphics processing units |
US7068278B1 (en) | 2003-04-17 | 2006-06-27 | Nvidia Corporation | Synchronized graphics processing units |
US7038678B2 (en) | 2003-05-21 | 2006-05-02 | Nvidia Corporation | Dependent texture shadow antialiasing |
US7415708B2 (en) | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
US7038685B1 (en) | 2003-06-30 | 2006-05-02 | Nvidia Corporation | Programmable graphics processor for multithreaded execution of programs |
US7119808B2 (en) | 2003-07-15 | 2006-10-10 | Alienware Labs Corp. | Multiple parallel processor computer graphics system |
US6995767B1 (en) | 2003-07-31 | 2006-02-07 | Nvidia Corporation | Trilinear optimization for texture filtering |
WO2005015504A1 (ja) * | 2003-08-07 | 2005-02-17 | Renesas Technology Corp. | 画像処理用半導体プロセッサ |
US7525547B1 (en) | 2003-08-12 | 2009-04-28 | Nvidia Corporation | Programming multiple chips from a command buffer to process multiple images |
US7015915B1 (en) | 2003-08-12 | 2006-03-21 | Nvidia Corporation | Programming multiple chips from a command buffer |
US6956579B1 (en) | 2003-08-18 | 2005-10-18 | Nvidia Corporation | Private addressing in a multi-processor graphics processing system |
US7075541B2 (en) | 2003-08-18 | 2006-07-11 | Nvidia Corporation | Adaptive load balancing in a multi-processor graphics processing system |
US7388581B1 (en) | 2003-08-28 | 2008-06-17 | Nvidia Corporation | Asynchronous conditional graphics rendering |
US8250412B2 (en) | 2003-09-26 | 2012-08-21 | Ati Technologies Ulc | Method and apparatus for monitoring and resetting a co-processor |
US20050086040A1 (en) * | 2003-10-02 | 2005-04-21 | Curtis Davis | System incorporating physics processing unit |
US7782325B2 (en) * | 2003-10-22 | 2010-08-24 | Alienware Labs Corporation | Motherboard for supporting multiple graphics cards |
US8035646B2 (en) | 2003-11-14 | 2011-10-11 | Microsoft Corporation | Systems and methods for downloading algorithmic elements to a coprocessor and corresponding techniques |
US7221896B2 (en) * | 2003-12-09 | 2007-05-22 | Sharp Kabushiki Kaisha | Fixing device for fixing an unfixed developing agent on a recording medium and image forming apparatus including the same |
US7015914B1 (en) | 2003-12-10 | 2006-03-21 | Nvidia Corporation | Multiple data buffers for processing graphics data |
US7053901B2 (en) | 2003-12-11 | 2006-05-30 | Nvidia Corporation | System and method for accelerating a special purpose processor |
US7248261B1 (en) | 2003-12-15 | 2007-07-24 | Nvidia Corporation | Method and apparatus to accelerate rendering of shadow effects for computer-generated images |
JP3879002B2 (ja) | 2003-12-26 | 2007-02-07 | 国立大学法人宇都宮大学 | 自己最適化演算装置 |
US6975325B2 (en) | 2004-01-23 | 2005-12-13 | Ati Technologies Inc. | Method and apparatus for graphics processing using state and shader management |
US7259606B2 (en) | 2004-01-27 | 2007-08-21 | Nvidia Corporation | Data sampling clock edge placement training for high speed GPU-memory interface |
US7483034B2 (en) | 2004-02-25 | 2009-01-27 | Siemens Medical Solutions Usa, Inc. | System and method for GPU-based 3D nonrigid registration |
US7289125B2 (en) | 2004-02-27 | 2007-10-30 | Nvidia Corporation | Graphics device clustering with PCI-express |
US7027062B2 (en) | 2004-02-27 | 2006-04-11 | Nvidia Corporation | Register based queuing for texture requests |
US7978194B2 (en) | 2004-03-02 | 2011-07-12 | Ati Technologies Ulc | Method and apparatus for hierarchical Z buffering and stenciling |
US20050195186A1 (en) | 2004-03-02 | 2005-09-08 | Ati Technologies Inc. | Method and apparatus for object based visibility culling |
US20050275760A1 (en) | 2004-03-02 | 2005-12-15 | Nvidia Corporation | Modifying a rasterized surface, such as by trimming |
US7315912B2 (en) | 2004-04-01 | 2008-01-01 | Nvidia Corporation | Deadlock avoidance in a bus fabric |
US7336284B2 (en) | 2004-04-08 | 2008-02-26 | Ati Technologies Inc. | Two level cache memory architecture |
US7265759B2 (en) | 2004-04-09 | 2007-09-04 | Nvidia Corporation | Field changeable rendering system for a computing device |
US6985152B2 (en) | 2004-04-23 | 2006-01-10 | Nvidia Corporation | Point-to-point bus bridging without a bridge controller |
US20050237329A1 (en) | 2004-04-27 | 2005-10-27 | Nvidia Corporation | GPU rendering to system memory |
US7738045B2 (en) | 2004-05-03 | 2010-06-15 | Broadcom Corporation | Film-mode (3:2/2:2 Pulldown) detector, method and video device |
US7079156B1 (en) | 2004-05-14 | 2006-07-18 | Nvidia Corporation | Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline |
US7426724B2 (en) | 2004-07-02 | 2008-09-16 | Nvidia Corporation | Optimized chaining of vertex and fragment programs |
US7218291B2 (en) | 2004-09-13 | 2007-05-15 | Nvidia Corporation | Increased scalability in the fragment shading pipeline |
CN101091175B (zh) | 2004-09-16 | 2012-03-14 | 辉达公司 | 负载均衡 |
US7571296B2 (en) | 2004-11-11 | 2009-08-04 | Nvidia Corporation | Memory controller-adaptive 1T/2T timing control |
US7477256B1 (en) | 2004-11-17 | 2009-01-13 | Nvidia Corporation | Connecting graphics adapters for scalable performance |
US8066515B2 (en) | 2004-11-17 | 2011-11-29 | Nvidia Corporation | Multiple graphics adapter connection systems |
US7598958B1 (en) | 2004-11-17 | 2009-10-06 | Nvidia Corporation | Multi-chip graphics processing unit apparatus, system, and method |
US7633505B1 (en) * | 2004-11-17 | 2009-12-15 | Nvidia Corporation | Apparatus, system, and method for joint processing in graphics processing units |
US7275123B2 (en) | 2004-12-06 | 2007-09-25 | Nvidia Corporation | Method and apparatus for providing peer-to-peer data transfer within a computing environment |
US7451259B2 (en) | 2004-12-06 | 2008-11-11 | Nvidia Corporation | Method and apparatus for providing peer-to-peer data transfer within a computing environment |
US7372465B1 (en) | 2004-12-17 | 2008-05-13 | Nvidia Corporation | Scalable graphics processing for remote display |
US20060156399A1 (en) | 2004-12-30 | 2006-07-13 | Parmar Pankaj N | System and method for implementing network security using a sequestered partition |
US7924281B2 (en) | 2005-03-09 | 2011-04-12 | Ati Technologies Ulc | System and method for determining illumination of a pixel by shadow planes |
US7796095B2 (en) | 2005-03-18 | 2010-09-14 | Ati Technologies Ulc | Display specific image processing in an integrated circuit |
US7568056B2 (en) | 2005-03-28 | 2009-07-28 | Nvidia Corporation | Host bus adapter that interfaces with host computer bus to multiple types of storage devices |
US7681187B2 (en) | 2005-03-31 | 2010-03-16 | Nvidia Corporation | Method and apparatus for register allocation in presence of hardware constraints |
US7817155B2 (en) | 2005-05-24 | 2010-10-19 | Ati Technologies Inc. | Master/slave graphics adapter arrangement |
US20080143731A1 (en) | 2005-05-24 | 2008-06-19 | Jeffrey Cheng | Video rendering across a high speed peripheral interconnect bus |
US7539801B2 (en) | 2005-05-27 | 2009-05-26 | Ati Technologies Ulc | Computing device with flexibly configurable expansion slots, and method of operation |
US20060282604A1 (en) | 2005-05-27 | 2006-12-14 | Ati Technologies, Inc. | Methods and apparatus for processing graphics data using multiple processing circuits |
US7516301B1 (en) * | 2005-12-16 | 2009-04-07 | Nvidia Corporation | Multiprocessor computing systems with heterogeneous processors |
US7325086B2 (en) | 2005-12-15 | 2008-01-29 | Via Technologies, Inc. | Method and system for multiple GPU support |
US7728841B1 (en) | 2005-12-19 | 2010-06-01 | Nvidia Corporation | Coherent shader output for multiple targets |
US7768517B2 (en) | 2006-02-21 | 2010-08-03 | Nvidia Corporation | Asymmetric multi-GPU processing |
US8284204B2 (en) | 2006-06-30 | 2012-10-09 | Nokia Corporation | Apparatus, method and a computer program product for providing a unified graphics pipeline for stereoscopic rendering |
US7941791B2 (en) | 2007-04-13 | 2011-05-10 | Perry Wang | Programming environment for heterogeneous processor resource integration |
-
2006
- 2006-01-25 JP JP2007552758A patent/JP2008538620A/ja active Pending
- 2006-01-25 US US11/340,402 patent/US7812844B2/en active Active
- 2006-01-25 EP EP06765491A patent/EP1846834A2/en not_active Withdrawn
- 2006-01-25 CA CA002595085A patent/CA2595085A1/en not_active Abandoned
- 2006-01-25 WO PCT/IB2006/001529 patent/WO2006117683A2/en active Application Filing
- 2006-01-25 CN CN200680002976A patent/CN101849227A/zh active Pending
- 2006-03-22 US US11/386,454 patent/US7834880B2/en active Active
-
2007
- 2007-10-25 US US11/977,718 patent/US20080136826A1/en not_active Abandoned
- 2007-10-25 US US11/977,719 patent/US20080117218A1/en not_active Abandoned
- 2007-10-25 US US11/977,734 patent/US20080136827A1/en not_active Abandoned
- 2007-10-26 US US11/978,220 patent/US7843457B2/en not_active Expired - Lifetime
- 2007-10-26 US US11/978,148 patent/US20080129742A1/en not_active Abandoned
- 2007-10-26 US US11/978,239 patent/US7812846B2/en not_active Expired - Lifetime
- 2007-10-26 US US11/978,149 patent/US20080129743A1/en not_active Abandoned
- 2007-10-26 US US11/978,226 patent/US7812845B2/en active Active
- 2007-10-26 US US11/978,229 patent/US20080122850A1/en not_active Abandoned
- 2007-10-26 US US11/978,228 patent/US7808504B2/en active Active
- 2007-10-26 US US11/978,146 patent/US20080129741A1/en not_active Abandoned
-
2010
- 2010-11-15 US US12/946,032 patent/US8754897B2/en active Active
-
2014
- 2014-05-19 US US14/281,195 patent/US10147157B2/en active Active
- 2014-06-16 US US14/304,991 patent/US9659340B2/en active Active
-
2018
- 2018-12-03 US US16/208,000 patent/US10614545B2/en active Active
-
2020
- 2020-02-14 US US16/791,770 patent/US10867364B2/en active Active
- 2020-12-14 US US17/121,468 patent/US11341602B2/en active Active
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101303771B (zh) * | 2007-05-11 | 2012-07-18 | 汤姆逊许可公司 | 借助于一组显示命令来呈现图像帧的渲染器 |
CN103608777A (zh) * | 2011-06-20 | 2014-02-26 | 高通股份有限公司 | 图形处理单元中的存储器共享 |
CN103608777B (zh) * | 2011-06-20 | 2017-05-10 | 高通股份有限公司 | 图形处理单元中的存储器共享 |
CN109408456A (zh) * | 2018-12-07 | 2019-03-01 | 中国地质大学(武汉) | 一种基于s905d芯片与stm32芯片协同工作硬件电路 |
CN109408456B (zh) * | 2018-12-07 | 2023-08-29 | 中国地质大学(武汉) | 一种基于s905d芯片与stm32芯片协同工作硬件电路 |
CN110335190A (zh) * | 2019-06-20 | 2019-10-15 | 合肥芯碁微电子装备有限公司 | 基于cuda的直写式光刻机数据拓展方法 |
CN110895788A (zh) * | 2019-11-29 | 2020-03-20 | 上海众链科技有限公司 | 一种增强图形处理能力的系统及外接设备 |
CN113129205A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 一种电子设备及计算机系统 |
WO2021136433A1 (zh) * | 2019-12-31 | 2021-07-08 | 华为技术有限公司 | 一种电子设备及计算机系统 |
CN111491059A (zh) * | 2020-04-09 | 2020-08-04 | 上海众链科技有限公司 | 图像渲染增强系统及方法 |
CN112419147A (zh) * | 2020-04-14 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 图像渲染方法及装置 |
CN112419147B (zh) * | 2020-04-14 | 2023-07-04 | 上海哔哩哔哩科技有限公司 | 图像渲染方法及装置 |
WO2022193774A1 (zh) * | 2021-03-19 | 2022-09-22 | 上海寒武纪信息科技有限公司 | 用于芯片的封装框架,加工方法及相关产品 |
CN115100022A (zh) * | 2022-08-23 | 2022-09-23 | 芯动微电子科技(珠海)有限公司 | 图形处理方法及系统 |
CN115100022B (zh) * | 2022-08-23 | 2022-12-06 | 芯动微电子科技(珠海)有限公司 | 图形处理方法及系统 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101849227A (zh) | 在单片构造的硅芯片上采用多个图形核心的图形处理和显示系统 | |
US9405586B2 (en) | Method of dynamic load-balancing within a PC-based computing system employing a multiple GPU-based graphics pipeline architecture supporting multiple modes of GPU parallelization | |
US20090096798A1 (en) | Graphics Processing and Display System Employing Multiple Graphics Cores on a Silicon Chip of Monolithic Construction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100929 |