CN102054265B - 执行并行着色操作 - Google Patents
执行并行着色操作 Download PDFInfo
- Publication number
- CN102054265B CN102054265B CN201010535140.0A CN201010535140A CN102054265B CN 102054265 B CN102054265 B CN 102054265B CN 201010535140 A CN201010535140 A CN 201010535140A CN 102054265 B CN102054265 B CN 102054265B
- Authority
- CN
- China
- Prior art keywords
- pipeline
- graphics
- pipelines
- frequency
- time slot
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 14
- 238000004040 coloring Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000000470 constituent Substances 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 235000012364 Peperomia pellucida Nutrition 0.000 description 1
- 240000007711 Peperomia pellucida Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- 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 or look ahead
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
图形处理管线可以包括至少两个或更多个管道,以使得可以在一个管道上执行较低频率的操作而同时在另一个管道上执行同一个指令流内的较高频率的操作。在一些情况下,较低频率的操作的结果可以被保持以供稍后结合在一不同管道上执行的较高频率的操作来使用。特别是,当未被使用的时隙可以被用于此较低频率的操作时,可以提高效率。
Description
背景技术
本发明总体上涉及基于处理器的系统,并更加具体地,涉及进行图形处理的基于处理器的系统。在图形处理中,可以操纵电子数据以呈现用于显示在计算机显示器上的图形图像。
剔除算法被用在计算机图形学中以避免执行不必要的工作。例如,可编程的剔除消除了实际永远不会在最终的描绘中出现的图形元素所需要的处理。被其它元素遮挡的图形元素永远不会出现在实际的最终描绘中,然而对那些元素的处理却可能消耗处理带宽并对性能产生不利影响。对不在视锥体中的对象不需要进行处理。类似地,对不显示在图形描绘中的表面上的特征不需要进行处理。
剔除着色器针对多个元素(例如像素或顶点)而自动生成,并针对每组图元而被读取一次以确定是否剔除一个组中的所有元素。例如,可以做出是否一次性剔除多个像素的决定。在被称为图块的像素组上执行剔除测试,这样如果一个图块被剔除,那么在该图块中没有像素需要被着色或者在该图块中的每个像素都可以执行更短且更有效的着色器。为了剔除面片(patch)内部的多个点,对保守的界限或多点包围进行剔除测试。
典型的剔除算法由于其需要额外的处理而导致一些开销成本。因此,存在由于剔除算法所造成的性能下降,即使如此,从净出上看,当剔除实际上消除了图块或顶点组时,这些算法导致了性能的提升。
附图说明
图1为对根据本发明的一个实施例的可编程的图形管线的概要性描绘;
图2为对根据本发明的一个实施例的双核心处理器体系结构的描绘;
图3为针对本发明的一个实施例的流程图;以及
图4为针对一个实施例的系统描绘。
具体实施方式
在一些实施例中,图形处理核心可以包括至少两个或更多个管道(pipe)。根据一些实施例,可以在一个管道上执行较低频率的操作(较不经常发生的操作),而同时在另一个管道上执行同一个指令流中的较高频率的操作。在一些情况下,较低频率的操作的结果可以被保持以供稍后在另一个管道上的较高频率的操作中使用。在一些情况下可以提升效率,在这些情况中有可能使用较低频率管道中未被使用的时隙(slot)来执行操作,这些操作协助在较高频率管道中执行的操作。
有可能存在许多这种并行性的例子。例如,较低频率的操作可以是剔除着色器,而较高频率的操作可以是像素着色器。较低频率的操作可以是固定功能剔除操作,例如视锥体剔除操作或背面剔除操作,而较高频率的操作可以是光栅化。再如另一个示例,较低频率的操作可以是几何着色,而较高频率的操作可以是像素着色。一般来说,在图形管线(pipeline)中的任何操作都可以并行地运行。如本文所使用的,并行运行的意思是,在图形管线的至少两个不同管道上的操作是同一个指令流的组成部分并且被同时执行。
在一些情况下,图形管线可以包括一个或多个管道,这些管道中的一个管道比其它管道宽。例如,在一个实施例中,一个管道可以是16道宽而另一个管道可以是1道宽。可以在较宽的管道上执行较高频率的操作而在较窄的管道上执行较低频率的操作。然而,可以存在具有各种宽度的任何数量的管道。在下面的讨论中给出了一个示例,在这个示例中,在较低频率管道中执行剔除着色,而在较高频率管道中执行像素着色。这是一个极其具有优势的实施例,因为它在当通过使用较低频率管道上的原本不被使用的时隙而使剔除着色可以与像素着色同时被执行时,可以实现只有很少或没有开销的剔除着色。然而,本发明并不局限于此,并且可以应用到任何数量的管道、任何多样的管道宽度以及以不同频率并行执行的各种操作中的任何操作。
根据一些实施例,可以并行地执行实际的顶点或像素着色器程序。在双管线体系结构中,一条管线,被称为U管线或U-管道,负责执行主要指令,而第二条更受限制的管道,被称为V管线或V-管道,负责执行标量指令。标量指令一次对单独一个元素进行操作。U-管道对一次处理多个数据项的矢量操作进行操作。
在典型的图形管线中,可编程的着色器阶段可以是工作量的主导部分。由于工作量的高吞吐量,这些着色器被编译为运行在U-管道上的代码,一次处理多个元素。需要一些标量指令来用来粘合这些矢量操作,但是存在未被利用的空时隙。这些空时隙可以被利用以执行针对下一个图块或绘图调用的剔除着色器程序。
“绘图调用”是一个状态集合以及一组几何体,从而可以使用一个(或至少是很少量的)应用程序接口调用来将整个组和状态经由应用程序接口送入图形卡,节约了开销。
通过使用并行管线中的空闲或未被使用的指令时隙,不存在任何由剔除算法引起的性能的下降,因为剔除程序在并行管线(例如V-管道)上的原本未被使用的指令时隙上并行地执行。如果在V-管道上没有足够的空闲指令,则可以将着色器循环“展开”以产生长段的矢量代码,直到有足够的空闲时隙为止。
可以按如下来解释对循环的展开。如果存在循环for(i=0;i<4;i++){doSomething(i);},则循环展开将是doSomething(0);doSomething(1);doSomething(2);doSomething(3)。有可能存在部分循环展开,其中循环中的一些操作被展开为一系列连续的组分操作。
参照图1,完整的可编程管线10可以接收输入数据12,输入数据12被提供给顶点着色器14、几何着色器16和图元建立18。在光栅化20之后是像素着色器22和帧缓冲器混合24。
参照图2,图形处理器核心30可以包括U-管道32和V-管道38。U-管道32与矢量处理单元34以及算术逻辑单元36相耦合。矢量处理单元34耦合至16个图形处理寄存器乘以4个线程42以及32个矢量寄存器乘以4个线程40。
V-管道38耦合至算术逻辑单元36以及32个矢量寄存器40以及16个图形处理寄存器42。
U-管道32和V-管道38的输入来自于指令高速缓存45,其供应指令读取与拾取单元44。
数据高速缓存47接收来自各种处理单元34和36的输出并通过双向总线提供数据至二级或L2高速缓存48。L2高速缓存48通过环形总线46与主存储器相耦合。时钟单元49提供时钟信号至数据高速缓存与L2高速缓存之间的总线以及L2高速缓存与环形总线之间的总线。
针对一组元素(例如图块或绘图调用)的剔除着色器,可以在运行针对那些元素的着色器之前被运行,因为剔除着色器的目的在于避免运行针对不需要被着色的对象(例如被遮挡的元素)的着色器。为了建立这种顺序,当真实的着色器正在处理当前的一组元素时,剔除着色器在将要被着色的下一组元素上运行剔除测试。因此,到真实的着色器开始在U-管道上处理此下一组元素时,已经可以从V-管道得到该着色器的组剔除测试的结果。
将工作在较高级图元上的标量代码与工作在较低级图元上的矢量代码交错在一起的概念完全地利用了可用的硬件。例如,几何着色器与像素着色器也能够使用并行操作。几何着色器工作在作为较高级图元的三角形上,而像素着色器工作在作为较低级图元的像素上。从概念上讲,当像素着色器正工作在前一个三角形的像素上时,能够基于下一个三角形对几何着色器进行交错。
一般来讲,高频率的操作可以被映射到U-管道上的高吞吐量的部分上,而具有低吞吐量的低频率的操作可以在V-管道上操作。对代码进行交错并且将操作的频率映射到矢量处理单元可以被一般化。如果机器已经具有任意给定数量的管道,则能够对代码进行交错以使得以最少频率执行的代码被映射到标量代码而以最多频率执行的代码被映射到最宽的矢量单元。
工作量也可以从V-管道上的管线的固定功能组件(诸如交错的固定功能剔除,例如视锥体、背面等等)与U-管道上的光栅化(其是单指令、多数据(SIMD)指令)进行组合。将可编程的着色器与剔除着色器进行交错以及将固定功能的单指令、多数据操作与固定功能剔除操作进行交错能够使每个组合在该组合内使用相同的编译器。可以使用传统的C++编译器来编译用于所有固定功能的编译器的代码,而可以使用着色器语言编译器来编译用于着色器的代码。由于编译器是相同的,因此除了为帮助实现交错而有可能需要的其它编译器优化(诸如循环展开)之外,每个编译器皆完全地控制如何最佳地对标量代码与矢量代码进行交错。
在一些实施例中,由于剔除着色器可以与顶点着色或像素着色并行地执行而导致剔除算法可能成本极低。为了得到足够的空闲时隙,有可能需要将循环在绘图调用中的顶点上展开。即使有可能难以收集足够的图块或绘图调用以在U-管道上执行剔除着色器,也有可能存在剔除着色器与像素着色器之间的一对一的关系,从而使得当使用矢量指令在U-管道上执行像素着色器时,在像素的图块上使用标量执行剔除着色器。这样可以简化一些实施例中的光栅化和剔除代码。
类似地,当U-管道在绘图调用中的顶点上进行循环并估计出一次针对16个顶点的顶点着色器时,U-管道能够针对下一次绘图调用而在V-管道上的空闲指令时隙中计算出包围盒(bounding box)。
因此,参照图3,并行剔除与着色序列50具有第一并行路径52,其为V-管道路径及剔除着色器56。第二并行路径54包括像素着色器及U-管道58。剔除着色器或V-管道路径处理下一个图块n+1、图块n以及图块n-1等等。U-管道路径滞后一个图块,在图块n、n-1和n-2上进行操作。
因此,在一个实施例中,当U-管道实际上正在通过使用矢量指令进行着色时,V-管道正在通过使用标量管道进行剔除。由于V-管道的操作正在使用原本未被使用的时隙,因此即使当不能进行任何剔除时,也不会遭受性能的下降。
计算机系统130,如图4所示,可以包括硬盘驱动器134和可移除介质136,它们通过总线124与芯片组核心逻辑110相耦合。核心逻辑可以通过总线105与图形处理器112相耦合,并在一个实施例中与主或主机处理器122相耦合。图形处理器112还可以通过总线126与帧缓冲器114相耦合。帧缓冲器114可以通过总线107与显示屏幕118相耦合,显示屏幕118又通过总线128与传统组件,例如键盘或鼠标120相耦合。
在软件实现的情况下,相关的代码可以被存储在任何合适的半导体存储器、磁性存储器或光学存储器中,包括主存储器132。因此,在一个实施例中,代码139(其执行图3的序列),可以被存储在机器或计算机可读介质中,例如存储器132,以由处理器(例如处理器122或图形处理器112)所执行。在一个实施例中,核心30是图形处理器112的一部分。
可以在各种硬件体系结构中实现本文所描述的图形处理技术。例如,图形功能可以集成在芯片组内部。可选择地,可以使用分立的图形处理器。再如另一个实施例,可以通过通用处理器(包括多核处理器)来实现图形功能。
贯穿整个说明书的对“一个实施例”或“实施例”的引用的意思是:结合该实施例而描述的特定的特征、结构或特性被包括在了至少一个包含在本发明内的实现方式中。因此,本说明书中出现的用语“一个实施例”或“实施例”不一定指代同一实施例。此外,这些特定的特征、结构或特性可以以除所图示说明的特定的实施例外的其它合适的形式实现,并且所有这些形式皆可以被包括在本申请的权利要求内。
尽管已经参照数量有限的实施例描述了本发明,但是本领域技术人员将从中意识到许多修改和变型。所附权利要求书意图涵盖落入本发明的实质精神和范围内的所有这种修改和变型。
Claims (10)
1.一种用于在图形管线中执行并行操作的方法,包括:
在图形管线的第一管道上执行第一操作;
与所述第一操作同时地,在图形管线的第二管道上执行第二操作,所述第一操作和第二操作是同一指令流的组成部分,并且所述第一操作以低于所述第二操作的频率来执行,并且其中,所述第二管道比所述第一管道宽,
其中,所述第一操作是剔除操作,并且所述第二操作是像素着色操作,
其中,对较低频率的操作使用未被使用的时隙来进行对所述第一操作的所述执行。
2.根据权利要求1所述的方法,其中,所述第一操作为所述第二操作提供数据。
3.根据权利要求1所述的方法,包括:通过对循环进行展开来找到未被使用的时隙。
4.根据权利要求1所述的方法,包括:在所述第二操作在一图块上运行之前,在所述图块上执行所述第一操作。
5.根据权利要求1所述的方法,其中,所述第一操作是标量操作,并且所述第二操作是矢量操作。
6.一种用于在图形管线中执行并行操作的装置,包括:
用于在图形管线的第一管道上执行第一操作的模块;
用于与所述第一操作同时地,在图形管线的第二管道上执行第二操作的模块,所述第一操作和第二操作是同一指令流的组成部分,并且所述第一操作以低于所述第二操作的频率来执行,并且其中,所述第二管道比所述第一管道宽,
其中,所述第一操作是剔除操作,并且所述第二操作是像素着色操作,
其中,对较低频率的操作使用未被使用的时隙来进行对所述第一操作的所述执行。
7.根据权利要求6所述的装置,进一步包括:用于通过对循环进行展开来找到未被使用的时隙的模块。
8.一种用于在图形管线中执行并行操作的装置,包括:
第一图形处理管道,其执行第一操作;
第二图形管道,其以与所述第一操作的频率不同的频率执行第二操作,所述第一操作和第二操作是同一指令流的组成部分,并且所述第一操作以低于所述第二操作的频率来执行,并且其中,所述第二图形管道比所述第一图形处理管道宽,
其中,所述第一操作是剔除操作,并且所述第二操作是像素着色操作,
其中,对较低频率的操作使用未被使用的时隙来进行对所述第一操作的所述执行。
9.根据权利要求8所述的装置,在所述第二操作在一图块上执行之前,所述第一图形处理管道在所述图块上执行。
10.根据权利要求8所述的装置,其中,所述第一图形处理管道是标量管道,并且所述第二图形管道是矢量管道。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/611,970 US9390539B2 (en) | 2009-11-04 | 2009-11-04 | Performing parallel shading operations |
US12/611,970 | 2009-11-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102054265A CN102054265A (zh) | 2011-05-11 |
CN102054265B true CN102054265B (zh) | 2017-10-03 |
Family
ID=43304442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010535140.0A Expired - Fee Related CN102054265B (zh) | 2009-11-04 | 2010-11-03 | 执行并行着色操作 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9390539B2 (zh) |
KR (1) | KR101230727B1 (zh) |
CN (1) | CN102054265B (zh) |
DE (1) | DE102010050430A1 (zh) |
GB (1) | GB2475131B (zh) |
TW (1) | TWI562093B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101511273B1 (ko) * | 2008-12-29 | 2015-04-10 | 삼성전자주식회사 | 멀티 코어 프로세서를 이용한 3차원 그래픽 렌더링 방법 및시스템 |
KR101926570B1 (ko) | 2011-09-14 | 2018-12-10 | 삼성전자주식회사 | 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치 |
KR20130123645A (ko) * | 2012-05-03 | 2013-11-13 | 삼성전자주식회사 | 그래픽 처리 장치를 위한 동적 로드 밸런싱 장치 및 방법 |
KR102109130B1 (ko) | 2013-08-12 | 2020-05-08 | 삼성전자주식회사 | 그래픽스 프로세싱 유닛, 이의 동작 방법, 및 이를 포함하는 장치들 |
US10198788B2 (en) * | 2013-11-11 | 2019-02-05 | Oxide Interactive Llc | Method and system of temporally asynchronous shading decoupled from rasterization |
US9824412B2 (en) * | 2014-09-24 | 2017-11-21 | Intel Corporation | Position-only shading pipeline |
GB2537137B (en) * | 2015-04-08 | 2021-02-17 | Advanced Risc Mach Ltd | Graphics processing systems |
US10242419B2 (en) | 2015-09-02 | 2019-03-26 | Intel Corporation | Compiler optimization to reduce the control flow divergence |
US10102662B2 (en) * | 2016-07-27 | 2018-10-16 | Advanced Micro Devices, Inc. | Primitive culling using automatically compiled compute shaders |
US11436783B2 (en) | 2019-10-16 | 2022-09-06 | Oxide Interactive, Inc. | Method and system of decoupled object space shading |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195105B1 (en) * | 1998-03-24 | 2001-02-27 | Ati Technologies, Inc. | Method and apparatus for improved concurrent video graphic processing |
CN101452394A (zh) * | 2007-11-28 | 2009-06-10 | 无锡江南计算技术研究所 | 编译方法和编译器 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4852183A (en) * | 1986-05-23 | 1989-07-25 | Mitsubishi Denki Kabushiki Kaisha | Pattern recognition system |
US5357600A (en) * | 1992-10-15 | 1994-10-18 | Sun Microsystems, Inc. | Method and apparatus for the rendering of curved surfaces using a cone of normals |
US7002577B2 (en) * | 1999-12-06 | 2006-02-21 | Nvidia Corporation | Clipping system and method for a single graphics semiconductor platform |
US20040010652A1 (en) * | 2001-06-26 | 2004-01-15 | Palmchip Corporation | System-on-chip (SOC) architecture with arbitrary pipeline depth |
EP1512069B1 (en) * | 2002-05-24 | 2020-12-09 | Telefonaktiebolaget LM Ericsson (publ) | An address generation unit for a processor |
EP1512100A2 (en) * | 2002-05-24 | 2005-03-09 | Koninklijke Philips Electronics N.V. | A scalar/vector processor |
US20060107028A1 (en) * | 2002-11-28 | 2006-05-18 | Koninklijke Philips Electronics N.V. | Loop control circuit for a data processor |
US7301537B2 (en) * | 2002-12-20 | 2007-11-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Graphics processing apparatus, methods and computer program products using minimum-depth occlusion culling and zig-zag traversal |
US7202867B1 (en) * | 2003-01-31 | 2007-04-10 | Microsoft Corporation | Generation of glow effect |
US7570267B2 (en) * | 2004-05-03 | 2009-08-04 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US7978205B1 (en) | 2004-05-03 | 2011-07-12 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US8725990B1 (en) * | 2004-11-15 | 2014-05-13 | Nvidia Corporation | Configurable SIMD engine with high, low and mixed precision modes |
WO2007049150A2 (en) * | 2005-09-28 | 2007-05-03 | Arc International (Uk) Limited | Architecture for microprocessor-based systems including simd processing unit and associated systems and methods |
US20070091088A1 (en) | 2005-10-14 | 2007-04-26 | Via Technologies, Inc. | System and method for managing the computation of graphics shading operations |
US7492368B1 (en) * | 2006-01-24 | 2009-02-17 | Nvidia Corporation | Apparatus, system, and method for coalescing parallel memory requests |
US7652674B2 (en) * | 2006-02-09 | 2010-01-26 | Real D | On the fly hardware based interdigitation |
US8111260B2 (en) * | 2006-06-28 | 2012-02-07 | Microsoft Corporation | Fast reconfiguration of graphics pipeline state |
US7652672B2 (en) * | 2006-06-29 | 2010-01-26 | Mediatek, Inc. | Systems and methods for texture management |
US8432954B2 (en) * | 2006-09-01 | 2013-04-30 | Semtech Canada Inc. | Video serializer/deserializer having selectable multi-lane serial interface |
US8169439B2 (en) * | 2007-10-23 | 2012-05-01 | International Business Machines Corporation | Scalar precision float implementation on the “W” lane of vector unit |
US8179394B1 (en) * | 2007-12-13 | 2012-05-15 | Nvidia Corporation | Cull streams for fine-grained rendering predication |
US8239439B2 (en) * | 2007-12-13 | 2012-08-07 | International Business Machines Corporation | Method and apparatus implementing a minimal area consumption multiple addend floating point summation function in a vector microprocessor |
KR100924122B1 (ko) | 2007-12-17 | 2009-10-29 | 한국전자통신연구원 | 픽셀 단위 처리 요소 기반의 광선 추적 장치 및 방법 |
KR20100046877A (ko) * | 2008-10-28 | 2010-05-07 | 삼성전자주식회사 | 언롤 루프에 대한 레지스터 스필을 줄이는 컴파일러 및 그 방법 |
-
2009
- 2009-11-04 US US12/611,970 patent/US9390539B2/en active Active
-
2010
- 2010-10-06 TW TW099134032A patent/TWI562093B/zh not_active IP Right Cessation
- 2010-10-12 GB GB1017205.4A patent/GB2475131B/en not_active Expired - Fee Related
- 2010-11-03 CN CN201010535140.0A patent/CN102054265B/zh not_active Expired - Fee Related
- 2010-11-04 KR KR1020100109423A patent/KR101230727B1/ko active IP Right Grant
- 2010-11-04 DE DE102010050430A patent/DE102010050430A1/de not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195105B1 (en) * | 1998-03-24 | 2001-02-27 | Ati Technologies, Inc. | Method and apparatus for improved concurrent video graphic processing |
CN101452394A (zh) * | 2007-11-28 | 2009-06-10 | 无锡江南计算技术研究所 | 编译方法和编译器 |
Also Published As
Publication number | Publication date |
---|---|
GB201017205D0 (en) | 2010-11-24 |
GB2475131B (en) | 2012-02-29 |
TW201135664A (en) | 2011-10-16 |
US9390539B2 (en) | 2016-07-12 |
CN102054265A (zh) | 2011-05-11 |
KR20110049734A (ko) | 2011-05-12 |
TWI562093B (en) | 2016-12-11 |
GB2475131A (en) | 2011-05-11 |
DE102010050430A1 (de) | 2011-05-12 |
KR101230727B1 (ko) | 2013-02-07 |
US20110102437A1 (en) | 2011-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102054265B (zh) | 执行并行着色操作 | |
US7447873B1 (en) | Multithreaded SIMD parallel processor with loading of groups of threads | |
US7594095B1 (en) | Multithreaded SIMD parallel processor with launching of groups of threads | |
Luo et al. | Canny edge detection on NVIDIA CUDA | |
JP6612403B2 (ja) | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ | |
CN101802874B (zh) | 图形处理单元中的片段着色器旁路及其设备和方法 | |
JP6389571B2 (ja) | 画像プロセッサのための二次元シフトアレイ | |
CN106373083B (zh) | 图形处理 | |
US8434074B2 (en) | Register allocation with SIMD architecture using write masks | |
US20210165656A1 (en) | Two dimensional masked shift instruction | |
KR102510524B1 (ko) | 조합된 월드-공간 파이프라인 셰이더 스테이지 | |
CN104050706B (zh) | 用于低功率图形渲染的像素着色器旁路 | |
KR102356705B1 (ko) | 커널 퓨징, 리사이징 및 인터리빙 자동 연산 방법 | |
JP2019507922A (ja) | 画像プロセッサのためのコンパイラ管理メモリ | |
EP1333381A2 (en) | System and method for processing image, and compiler for use in this system | |
US7865894B1 (en) | Distributing processing tasks within a processor | |
CN110073329A (zh) | 访存设备、计算设备和应用于卷积神经网络运算的设备 | |
US20080204461A1 (en) | Auto Software Configurable Register Address Space For Low Power Programmable Processor | |
JP2019526849A (ja) | 二次元画像プロセッサ上での統計演算 | |
JP2020519976A (ja) | 画像プロセッサランタイム効率を向上するためのプログラムコード変形 | |
CN103870213A (zh) | 经由管线化的状态包触发性能事件捕获 | |
US11481256B2 (en) | Task graph scheduling for workload processing | |
GB2610242A (en) | Graphics processing | |
WO2018208338A1 (en) | Configuration of application software on multi-core image processor | |
US7199799B2 (en) | Interleaving of pixels for low power programmable processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171003 Termination date: 20211103 |