CN102054265B - 执行并行着色操作 - Google Patents

执行并行着色操作 Download PDF

Info

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
Application number
CN201010535140.0A
Other languages
English (en)
Other versions
CN102054265A (zh
Inventor
T·G·阿克宁-穆勒
R·P·萨特
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN102054265A publication Critical patent/CN102054265A/zh
Application granted granted Critical
Publication of CN102054265B publication Critical patent/CN102054265B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent 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所述的装置,其中,所述第一图形处理管道是标量管道,并且所述第二图形管道是矢量管道。
CN201010535140.0A 2009-11-04 2010-11-03 执行并行着色操作 Expired - Fee Related CN102054265B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 언롤 루프에 대한 레지스터 스필을 줄이는 컴파일러 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
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