System and method for efficient multi-GPU rendering of geometry by pretesting against screen regions using prior frame information

US11080814B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11080814-B1
Application numberUS-202016780722-A
CountryUS
Kind codeB1
Filing dateFeb 3, 2020
Priority dateFeb 3, 2020
Publication dateAug 3, 2021
Grant dateAug 3, 2021

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.

A method including rendering graphics for an application using graphics processing units (GPUs). Responsibility for rendering of geometry is divided between GPUs based on screen regions, each GPU having a corresponding division of the responsibility which is known. First pieces of geometry are rendered at the GPUs during a rendering phase of a previous image frame. Statistics are generated for the rendering of the previous image frame. Second pieces of geometry of a current image frame are assigned based on the statistics to the GPUs for geometry testing. Geometry testing at a current image frame on the second pieces of geometry is performed to generate information regarding each piece of geometry and its relation to each screen region, the geometry testing performed at each of the GPUs based on the assigning. The information generated for the second pieces of geometry is used when rendering the geometry at the GPUs.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for graphics processing, comprising: rendering graphics for an application using a plurality of graphics processing units (GPUs); dividing responsibility for rendering of geometry of the graphics between the plurality of GPUs based on a plurality of screen regions, each GPU having a corresponding division of the responsibility which is known to the plurality of GPUs; rendering a first plurality of pieces of geometry at the plurality of GPUs during a rendering phase of a previous image frame generated by the application; generating statistics for the rendering phase of the previous image frame; assigning based on the statistics a second plurality of pieces of geometry of a current image frame generated by the application to the plurality of GPUs for geometry testing; performing the geometry testing at the current image frame on the second plurality of pieces of geometry to generate information regarding each piece of the second plurality of pieces of geometry and its relation to each of the plurality of screen regions, the geometry testing performed at each of the plurality of GPUs based on the assigning; and using the information generated for each of the second plurality of pieces of geometry when rendering the geometry at the plurality of GPUs. 2. The method of claim 1 , further comprising: providing the information as a hint to a rendering GPU, wherein the rendering GPU is one of the plurality of GPUs, wherein the information is considered by the rendering GPU if received before rendering of a piece of geometry in the second plurality of pieces of geometry, wherein the piece of geometry in the second plurality of pieces of geometry is fully rendered at the rendering GPU when the information is received after rendering of the piece of geometry in the second plurality of pieces of geometry begins. 3. The method of claim 1 , wherein pieces of geometry in the second plurality of pieces of geometry are assigned evenly or unevenly to the plurality of GPUs. 4. The method of claim 1 , further comprising: determining that a first GPU finished rendering the first plurality of pieces of geometry before a second GPU finished rendering the first plurality of pieces of geometry, wherein the first GPU renders one or more pieces of the first plurality of pieces of geometry that overlap any screen region assigned to the first GPU for object rendering, and the second GPU renders one or more pieces of the first plurality of pieces of geometry that overlap any screen region assigned to the second GPU for object rendering; assigning a first number of the second plurality of pieces of geometry to the first GPU for the geometry testing; and assigning a second number of the second plurality of pieces of geometry to the second GPU for the geometry testing, wherein the first number is higher than the second number. 5. The method of claim 4 , wherein the second number is zero. 6. The method of claim 1 , wherein the using the information includes: skipping rendering a piece of geometry in the second plurality of pieces of geometry at a rendering GPU when the information indicates that the piece of geometry does not overlap any screen region assigned to the rendering GPU for object rendering, wherein the rendering GPU is one of the plurality of GPUs. 7. The method of claim 1 , further comprising: dividing the second plurality of pieces of geometry between the plurality of GPUs for geometry pretesting, wherein successive pieces of geometry are processed by different GPUs. 8. The method of claim 7 , further comprising: dynamically adjusting a division of the second plurality of pieces of geometry based on performance of each the plurality of GPUs during the geometry pretesting. 9. The method of claim 7 , wherein a first GPU processes more pieces of geometry during the geometry pretesting than a second GPU. 10. The method of claim 1 , wherein a piece of geometry in the second plurality of pieces of geometry corresponds to geometry used by or generated by a draw call. 11. The method of claim 1 , wherein one or more of the plurality of GPUs are portions of a larger GPU that is configured as a plurality of virtual GPUs. 12. A non-transitory computer-readable medium for performing a method, the computer-readable medium comprising: program instructions for rendering graphics for an application using a plurality of graphics processing units (GPUs); program instructions for dividing responsibility for rendering of geometry of the graphics between the plurality of GPUs based on a plurality of screen regions, each GPU having a corresponding division of the responsibility which is known to the plurality of GPUs; program instructions for rendering a first plurality of pieces of geometry at the plurality of GPUs during a rendering phase of a previous image frame generated by the application; program instructions for generating statistics for the rendering phase of the previous image frame; program instructions for assigning based on the statistics a second plurality of pieces of geometry of a current image frame generated by the application to the plurality of GPUs for geometry testing; program instructions for performing the geometry testing at the current image frame on the second plurality of pieces of geometry to generate information regarding each piece of the second plurality of pieces of geometry and its relation to each of the plurality of screen regions, the geometry testing performed at each of the plurality of GPUs based on the assigning; and program instructions for using the information generated for each of the second plurality of pieces of geometry when rendering the geometry at the plurality of GPUs. 13. The non-transitory computer-readable medium of claim 12 , further comprising: program instructions for providing the information as a hint to a rendering GPU, wherein the rendering GPU is one of the plurality of GPUs, wherein the information is considered by the rendering GPU if received before rendering of a piece of geometry in the second plurality of pieces of geometry, wherein the piece of geometry in the second plurality of pieces of geometry is fully rendered at the rendering GPU when the information is received after rendering of the piece of geometry in the second plurality of pieces of geometry begins. 14. The non-transitory computer-readable medium of claim 12 , wherein in the method pieces of geometry in the second plurality of pieces of geometry are assigned evenly or unevenly to the plurality of GPUs. 15. The non-transitory computer-readable medium of claim 12 , further comprising: program instructions for determining that a first GPU finished rendering the first plurality of pieces of geometry before a second GPU finished rendering the first plurality of pieces of geometry, wherein the first GPU renders one or more pieces of the first plurality of pieces of geometry that overlap any screen region assigned to the first GPU for object rendering, and the second GPU renders one or more pieces of the first plurality of pieces of geometry that overlap any screen region assigned to the second GPU for object rendering; program instructions for assigning a first number of the second plurality of pieces of geometry to the first GPU for the geometry testing; and program instructions for assigning a second number of the second plurality of pieces of geometry to the second GPU for the geometry testing, wherein the first number is higher than the second number. 16. The non-transitory computer-readable medium of claim 12 , wherein the program

Assignees

Inventors

Classifications

  • G06T1/20Primary

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

  • Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes · CPC title

  • using a secondary processor, e.g. coprocessor (peripheral processor G06F13/12) · CPC title

  • Geometric effects · CPC title

  • for evaluating statistical data {, e.g. average values, frequency distributions, probability functions, regression analysis (forecasting specially adapted for a specific administrative, business or logistic context G06Q10/04)} · 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 US11080814B1 cover?
A method including rendering graphics for an application using graphics processing units (GPUs). Responsibility for rendering of geometry is divided between GPUs based on screen regions, each GPU having a corresponding division of the responsibility which is known. First pieces of geometry are rendered at the GPUs during a rendering phase of a previous image frame. Statistics are generated for …
Who is the assignee on this patent?
Sony Interactive Entertainment Inc
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 03 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).