Patents by Inventor Philip Cuadra

Philip Cuadra has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9891949
    Abstract: A method for scheduling work for processing by a GPU is disclosed. The method includes accessing a work completion data structure and accessing a work tracking data structure. Dependency logic analysis is then performed using work completion data and work tracking data. Work items that have dependencies are then launched into the GPU by using a software work item launch interface.
    Type: Grant
    Filed: March 6, 2013
    Date of Patent: February 13, 2018
    Assignee: Nvidia Corporation
    Inventors: Timothy Paul Lottes, Daniel Wexler, Craig Duttweiler, Sean Treichler, Luke Durant, Philip Cuadra
  • Patent number: 9542192
    Abstract: A method for executing an application program using streams. A device driver receives a first command within an application program and parses the first command to identify a first stream token that is associated with a first stream. The device driver checks a memory location associated with the first stream for a first semaphore, and determines whether the first semaphore has been released. Once the first semaphore has been released, a second command within the application program is executed. Advantageously, embodiments of the invention provide a technique for developers to take advantage of the parallel execution capabilities of a GPU.
    Type: Grant
    Filed: August 15, 2008
    Date of Patent: January 10, 2017
    Assignee: NVIDIA Corporation
    Inventors: Nicholas Patrick Wilt, Ian Buck, Philip Cuadra
  • Publication number: 20140259016
    Abstract: A method for scheduling work for processing by a GPU is disclosed. The method includes accessing a work completion data structure and accessing a work tracking data structure. Dependency logic analysis is then performed using work completion data and work tracking data. Work items that have dependencies are then launched into the GPU by using a software work item launch interface.
    Type: Application
    Filed: March 6, 2013
    Publication date: September 11, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Timothy Paul LOTTES, Daniel WEXLER, Craig DUTTWEILER, Sean TREICHLER, Luke DURANT, Philip CUADRA
  • Patent number: 8656394
    Abstract: A method for executing an application program using streams. A device driver receives a first command within an application program and parses the first command to identify a first stream token that is associated with a first stream. The device driver checks a memory location associated with the first stream for a first semaphore, and determines whether the first semaphore has been released. Once the first semaphore has been released, a second command within the application program is executed. Advantageously, embodiments of the invention provide a technique for developers to take advantage of the parallel execution capabilities of a GPU.
    Type: Grant
    Filed: August 15, 2008
    Date of Patent: February 18, 2014
    Assignee: Nvidia Corporation
    Inventors: Nicholas Patrick Wilt, Ian Buck, Philip Cuadra
  • Publication number: 20130162661
    Abstract: A system and method for using command buffers as timeslices or periods of execution for a long running compute task on a graphics processor. Embodiments of the present invention allow execution of long running compute applications with operating systems that manage and schedule graphics processing unit (GPU) resources and that may have a predetermined execution time limit for each command buffer. The method includes receiving a request from an application and determining a plurality of command buffers required to execute the request. Each of the plurality of command buffers may correspond to some portion of execution time or timeslice. The method further includes sending the plurality of command buffers to an operating system operable for scheduling the plurality of command buffers for execution on a graphics processor. The command buffers from a different request are time multiplexed within the execution of the plurality of command buffers on the graphics processor.
    Type: Application
    Filed: December 21, 2011
    Publication date: June 27, 2013
    Applicant: NVIDIA CORPORATION
    Inventors: Jeffrey A. Bolz, Jeff Smith, Jesse Hall, David Sodman, Philip Cuadra, Naveen Leekha