Multi-user multi-gpu render server apparatus and methods

US2020364824A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020364824-A1
Application numberUS-202016986677-A
CountryUS
Kind codeA1
Filing dateAug 6, 2020
Priority dateNov 23, 2007
Publication dateNov 19, 2020
Grant date

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.

The invention provides, in some aspects, a system for rendering images, the system having one or more client digital data processors and a server digital data processor in communications coupling with the one or more client digital data processors, the server digital data processor having one or more graphics processing units. The system additionally comprises a render server module executing on the server digital data processor and in communications coupling with the graphics processing units, where the render server module issues a command in response to a request from a first client digital data processor. The graphics processing units on the server digital data processor simultaneously process image data in response to interleaved commands from (i) the render server module on behalf of the first client digital data processor, and (ii) one or more requests from (a) the render server module on behalf of any of the other client digital data processors, and (b) other functionality on the server digital data processor.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for rendering images comprising: A) executing on a server a render server program, where the server includes a server digital data processor, a graphics processing unit (GPU), a server memory and a graphics memory; B) receiving from a first client a first render request to render a first image at the server, where the first render request is broken down into a plurality of first time slices; C) receiving from a second client a second render request to render a second image at the server, where the second render request is broken down into a plurality of second time slices; D) the render serve program issuing commands comprising: a) generating a queue comprising the first render request and the second render request such that one or more of the plurality of first time slices and one or more of the plurality of second time slices are processed in an alternating fashion; and b) issuing commands to the GPU to process one or more of the plurality of first time slices and one or more of the plurality of second time slices in the alternating fashion to render one or both the first render request and the second render request based on the queue; and E) sending one or both the first image to the first client and the second image to the second client. 2 . The method of claim 1 , where in step b) the GPU processes the plurality of first time slices without swapping data out of the graphics memory into the server memory. 3 . The method of claim 1 , where in step b) the GPU processes one or more of the plurality of second time slices before the first render request is completed. 4 . The method of claim 3 , where in step b) the GPU processes the one or more of the plurality of second time slices without swapping data out of the graphics memory into the server memory. 5 . The method of claim 1 , where in step b) the GPU processes at least one of the plurality of second time slices before the first render request is completed. 6 . The method of claim 5 , where in step b) the GPU processes the plurality of second time slices without swapping data out of the graphics memory into the server memory. 7 . The method of claim 1 , where in step b) the GPU processes the plurality of first time slices without exceeding the graphics memory size. 8 . The method of claim 1 , where in step b) the GPU processes the plurality of second time slices without swapping data out of the graphics memory into the server memory. 9 . The method of claim 1 , where the sum of the GPU processing time to process the plurality of first time slices is less than the GPU processing time required to process the first render request. 10 . The method of claim 1 , where in step b) the GPU switches between processing the plurality of first time slices and one or more of the plurality of second time slices before the first render request is completed. 11 . The method of claim 1 , where in step b) the GPU switches between processing at least one of the plurality of second time slices before the first render request is completed. 12 . The method of claim 1 , where in step b) the GPU switches between processing the plurality of first time slices without swapping data out of the graphics memory into the server memory. 13 . A method for rendering images comprising: A) executing on a server a render server program, where the server includes a server digital data processor, a graphics processing unit (GPU), a server memory and a graphics memory; B) receiving from a first client a first render request to render a first image at the server; C) receiving from a second client a second render request to render a second image at the server; D) the render serve program issuing commands comprising: a) a first single command to the GPU to process the first render request comprising one or more first texture bindings and one or more first render target assignments; and b) a second single command to the GPU to process the second render request comprising one or more second texture bindings and one or more second render target assignments in an alternating fashion, where at least one of the one or more second texture bindings and/or at least one of the one or more second render target assignments are processed before the one or more first texture bindings and the one or more first render target assignments are processed such that the first render request and the second render request are rendered in the alternating fashion; and E) sending one or both the first image to the first client and the second image to the second client. 14 . The method of claim 13 , where the GPU processes the one or more first render target assignments without swapping data out of the graphics memory into the server memory. 15 . The method of claim 13 , where the GPU processes the one or more first texture bindings without swapping data out of the graphics memory into the server memory. 16 . The method of claim 13 , where the GPU processes the one or more second texture bindings without swapping data out of the graphics memory into the server memory. 17 . The method of claim 13 , where the GPU processes the one or more second render target assignments without swapping data out of the graphics memory into the server memory. 18 . The method of claim 13 , where the GPU switches between processing at least one of the one or more second texture bindings before the first render request is completed. 19 . The method of claim 13 , where the GPU switches between processing at least one of the one or more second render target assignments before the first render request is completed. 20 . The method of claim 13 , where the GPU switches between processing at least one of the one or more second texture bindings or the one or more second render target assignments before the first render request is completed.

Assignees

Inventors

Classifications

  • G06T1/20Primary

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

  • Memory management · CPC title

  • General purpose rendering architectures · 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 US2020364824A1 cover?
The invention provides, in some aspects, a system for rendering images, the system having one or more client digital data processors and a server digital data processor in communications coupling with the one or more client digital data processors, the server digital data processor having one or more graphics processing units. The system additionally comprises a render server module executing o…
Who is the assignee on this patent?
PME IP Pty Ltd
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 Thu Nov 19 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).