High vertex count geometry work distribution for multi-tile GPUs

US10733693B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10733693-B2
Application numberUS-201816208715-A
CountryUS
Kind codeB2
Filing dateDec 4, 2018
Priority dateDec 4, 2018
Publication dateAug 4, 2020
Grant dateAug 4, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments described herein provide data processing device comprising a processor, a memory, and a large draw monitor comprising a processing unit to determine whether a vertex count for a graphics workload exceeds a threshold value, and in response to a determination that the vertex count for the graphics workload exceeds the threshold value, to divide the graphics workload over graphics processing units instantiated on multiple separate tiles. Other embodiments may be described and claimed.

First claim

Opening claim text (preview).

What is claimed is: 1. A general purpose graphics processing device, comprising: a general purpose graphics processing compute block to process a workload including graphics or compute operations, the general purpose graphics processing compute block comprising at least a first graphics processing unit tile and a second graphics processing unit tile; a geometry utilization monitor one at least one of the first graphics processing unit tile or the second graphics processing unit tile to track a geometry processing workload on the at least one of the first graphics processing unit tile or the second graphics processing unit tile; and a large draw monitor comprising a processing unit to: determine whether a vertex count for a graphics workload exceeds a threshold value; and in response to a determination that the vertex count for the graphics workload exceeds the threshold value, to divide the graphics workload over a plurality of graphics processing units instantiated on the at least one of the first graphics processing unit tile or second graphics processing unit tile based at least in part on the geometry processing workload. 2. The general purpose graphics processing of claim 1 , the processing unit to: set the threshold value to an initial threshold value based upon a graphics processing capability of the graphics processing compute block. 3. The general purpose graphics processing device of claim 2 , the processing unit to: determine a current processing capacity of the graphics processing compute block; and set the threshold value to an operating threshold value based upon the current processing capacity of the graphics processing compute block. 4. The general purpose graphics processing device of claim 2 , the processing unit to: receive a workload indicator from a plurality of the graphics processing units in the graphics processing compute block; and use the workload indicator to assign draw commands to graphics processing units. 5. The general purpose graphics processing device of claim 1 , the processing unit to: determine whether a geometry type in the graphics workload has primitives which are fully specified; and in response to a determination that the a geometry type in the graphics workload has primitives which are fully specified, to: determine a number of graphics processing units to which the graphics workload is to be assigned; generate a number of draw commands equal to the number of graphics processing units to which the workload is to be assigned; and submit a draw command to each of the graphics processing units to which the workload is to be assigned. 6. The general purpose graphics processing device of claim 1 , the processing unit to: determine whether a geometry type in the graphics workload has primitives which are fully specified; and in response to a determination that the a geometry type in the graphics workload has primitives which are not fully specified, to: insert one or more indices for vertexes in the graphics workload; determine a number of graphics processing units to which the graphics workload is to be assigned; generate a number of draw commands equal to the number of graphics processing units to which the workload is to be assigned; and submit a draw command to each of the graphics processing units to which the workload is to be assigned. 7. A heterogeneous data processing system comprising: a general purpose processor; a general purpose graphics processing device comprising a general purpose graphics processing compute block to process a workload including graphics or compute operations, the general purpose graphics processing compute block comprising at least a first graphics processing unit tile and a second graphics processing unit tile; a geometry utilization monitor one at least one of the first graphics processing unit tile or the second graphics processing unit tile to track a geometry processing workload on the at least one of the first graphics processing unit tile or the second graphics processing unit tile; and a memory; and a large draw monitor comprising a processing unit to: determine whether a vertex count for a graphics workload exceeds a threshold value; and in response to a determination that the vertex count for the graphics workload exceeds the threshold value, to divide the graphics workload over a plurality of graphics processing units instantiated on the at least one of the first graphics processing unit tile or second graphics processing unit tile based at least in part on the geometry processing workload. 8. The heterogeneous data processing device of claim 7 , the processing unit to: set the threshold value to an initial threshold value based upon a graphics processing capability of the graphics processing compute block. 9. The heterogeneous data processing device of claim 8 , the processing unit to: determine a current processing capacity of the graphics processing compute block; and set the threshold value to an operating threshold value based upon the current processing capacity of the graphics processing compute block. 10. The heterogeneous data processing device of claim 8 , the processing unit to: receive a workload indicator from a plurality of the graphics processing units in the graphics processing compute block; and use the workload indicator to assign draw commands to graphics processing units. 11. The heterogeneous data processing device of claim 7 , the processing unit to: determine whether a geometry type in the graphics workload has primitives which are fully specified; and in response to a determination that the a geometry type in the graphics workload has primitives which are fully specified, to: determine a number of graphics processing units to which the graphics workload is to be assigned; generate a number of draw commands equal to the number of graphics processing units to which the workload is to be assigned; and submit a draw command to each of the graphics processing units to which the workload is to be assigned. 12. The heterogeneous data processing device of claim 7 , the processing unit to: determine whether a geometry type in the graphics workload has primitives which are fully specified; and in response to a determination that the a geometry type in the graphics workload has primitives which are not fully specified, to: inserting one or more indices for vertexes in the graphics workload; determine a number of graphics processing units to which the graphics workload is to be assigned; generate a number of draw commands equal to the number of graphics processing units to which the workload is to be assigned; and submit a draw command to each of the graphics processing units to which the workload is to be assigned. 13. A method, comprising: receiving a graphics workload including graphics or compute operations on a general purpose graphics processing device comprising: a general purpose graphics processing compute block to process a workload including graphics or compute operations, the general purpose graphics processing compute block comprising at least a first graphics processing unit tile and a second graphics processing unit tile; and a geometry utilization monitor one at least one of the first graphics processing unit tile or the second graphics processing unit tile to track a geometry processing workload on the at least one of the first graphics processing unit tile or the second graphics processing unit tile; and in a large draw monitor comprising a processing unit: determining whether a vertex count for a graphics workload exceeds a threshold value; and in response to a d

Assignees

Inventors

Classifications

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • considering the load · CPC title

  • G06F9/5044Primary

    considering hardware capabilities · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10733693B2 cover?
Embodiments described herein provide data processing device comprising a processor, a memory, and a large draw monitor comprising a processing unit to determine whether a vertex count for a graphics workload exceeds a threshold value, and in response to a determination that the vertex count for the graphics workload exceeds the threshold value, to divide the graphics workload over graphics proc…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 04 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).