Network distributed physics computations

US9384583B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9384583-B2
Application numberUS-55367706-A
CountryUS
Kind codeB2
Filing dateOct 27, 2006
Priority dateOct 27, 2006
Publication dateJul 5, 2016
Grant dateJul 5, 2016

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.

An application executing on a rendering computer invokes a physics function request, e.g., to model the movement and interaction of objects to be rendered. The physics function request specifies a physics function to be performed on input data. Physics function request data is formatted for transmission over a network. The physics computer receives the physics function request data and performs an associated physics function using a physics GPU to generate physics computation result data. The physics computation result data is transmitted to the rendering computer over the network. A rendering GPU renders an image using the physics computation result data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for performing physics computations, the method comprising: receiving a physics function request and data associated with the physics function request from a rendering computer via a network; identifying a physics function associated with the physics function request; operating a local graphics processing unit (GPU) to perform the identified physics function, thereby generating physics result data for a first frame, wherein, concurrently with generating physics result data for the first frame, the rendering computer renders a second frame; and transmitting the physics result data to the rendering computer via the network. 2. The method of claim 1 further comprising selecting one of a plurality of local GPUs to be operated during the act of operating. 3. The method of claim 2 wherein the selecting comprises selecting the one of the local GPUs with a lowest processing load. 4. The method of claim 1 further comprising selecting two or more of a plurality of local GPUs to be operated in parallel during the act of operating. 5. The method of claim 1 wherein operating the local GPU comprises invoking a command to the GPU, the command being associated with the identified physics function in a physics library. 6. A method for rendering an image, comprising: executing an application that invokes a first physics function request, the first physics function request specifying a first physics function to be performed on first input data; in response to the first physics function request, formatting the first physics function request and the first input data for transmission over a network; transmitting the first physics function request and the first input data via the network to a physics computer adapted to perform the first physics function on the first input data and generate first physics result data for a first frame, wherein, concurrently with generating physics result data for the first frame, a rendering computer renders a second frame; and receiving from the physics computer via the network the first physics result data generated by the physics computer. 7. The method of claim 6 , further comprising providing the first physics result data to a local GPU adapted to render an image using the first physics result data. 8. The method of claim 7 further comprising, while rendering the image: invoking the second physics function request while executing the application, the second physics function request specifying a second physics function to be performed on second input data; in response to the second physics function, formatting the second physics function request and the second input data for transmission over the network; transmitting the second physics function request and the second input data via the network to the physics compute, wherein the physics computer performs the second physics function on the second input data and generates second physics result data; and receiving from the physics computer via the network the second physics result data generated by the physics computer. 9. The method of claim 6 wherein the formatting comprises assembling the first physics function request and the first input data into data packets for transmission via the network. 10. A system for executing an application that includes physics computations, comprising: a physics computer communicably coupled to a network, the physics computer comprising: a physics GPU adapted to perform physics computations; and a central processing unit (CPU) adapted to receive physics function requests and associated input data via the network, to direct the physics GPU to perform one or more physics computations on the associated input data in response to each physics function request, and to return physics result data from the one or more physics computations via the network; a rendering computer communicably coupled to the network, the rendering computer comprising: a rendering GPU adapted to perform rendering computations; and a CPU adapted to generate physics function requests, to transmit the physics function requests and associated input data via the network to the physics computer, to receive the physics result data from the physics computer via the network, and to direct the rendering GPU to perform one or more rendering computations on the received physics result data; and wherein the rendering GPU is configured to perform the one or more rendering computations concurrently with the physics GPU performing the one or more physics computations. 11. The system of claim 10 wherein the CPU of the rendering computer is further adapted to generate the physics function requests while executing an application program. 12. The system of claim 10 wherein the physics computer further comprises a plurality of physics GPUs operable in parallel, and wherein the CPU of the physics computer is further adapted to select one or more of the physics GPUs to perform physics computations in parallel on different portions of the input data. 13. The system of claim 12 wherein the CPU of the physics computer is further adapted such that the selection is based on respective processing loads of the physics GPUs. 14. The system of claim 10 further comprising a second rendering computer, the second rendering computer including: a rendering GPU adapted to perform rendering computations; and a CPU adapted to generate physics function requests, to transmit the physics function requests and associated input data via the network to the physics computer, to receive physics result data from the physics computer via the network, and to direct the rendering GPU to perform one or more rendering computations on the received physics result data. 15. The system of claim 10 wherein the physics computer is one of a plurality of physics computers, and wherein the plurality of physics computers is configured such that one or more of the physics computers is selected to receive each physics function request generated by the CPU of the rendering computer. 16. The system of claim 15 wherein the plurality of physics computers is configured such that the selection is based on respective processing loads of the physics computers. 17. The system of claim 15 further comprising a second rendering computer, the second rendering computer including: a rendering GPU adapted to perform rendering computations; and a CPU adapted to generate physics function requests, to transmit the physics function requests and associated input data via the network to the plurality of physics computers, to receive physics result data from the plurality of physics computers via the network, and to direct the rendering GPU to perform one or more rendering computations on the received physics result data. 18. The system of claim 10 wherein the rendering CPU is further configured to format the first physics function request and the first input data into data packets for transmission via the network. 19. The system of claim 10 wherein the CPU of the physics computer is further adapted to access a physics library that associates physics functions with GPU commands and to direct the physics GPU to perform the one or more physics computations by invoking a GPU command associated in the physics library with the received physics function request. 20. The system of claim 10 wherein the rendering GPU is further adapted to render an image using the results of the one or more rendering computations.

Assignees

Inventors

Classifications

  • G06T15/005Primary

    General purpose rendering architectures · CPC title

  • Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title

  • Animation · CPC title

  • Physics · mapped topic

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 US9384583B2 cover?
An application executing on a rendering computer invokes a physics function request, e.g., to model the movement and interaction of objects to be rendered. The physics function request specifies a physics function to be performed on input data. Physics function request data is formatted for transmission over a network. The physics computer receives the physics function request data and performs…
Who is the assignee on this patent?
Diard Franck, Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06T15/005. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 05 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).