Patents by Inventor Christopher Lamb

Christopher Lamb 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).

  • Publication number: 20250390088
    Abstract: A process for testing media devices may include the step of running a test comprising a plurality of commands for execution on a remote control. A command of the test may be sent to a command tracker for logging in a first log. A robotic interface may execute the command on the remote control to transmit a signal from the remote control to a device under test. Internal communications of the device under test in response to the signal may be intercepted. The internal communications may be logged in a second log. The internal communications from the second log may be compared to an expected internal communication associated with the command from the first log.
    Type: Application
    Filed: June 20, 2024
    Publication date: December 25, 2025
    Applicant: DISH Network L.L.C.
    Inventors: Kenneth Jones, Tyler Terteling, Austin Montecalvo, Christopher Lamb
  • Publication number: 20210349763
    Abstract: One embodiment of the present invention sets forth a technique for performing nested kernel execution within a parallel processing subsystem. The technique involves enabling a parent thread to launch a nested child grid on the parallel processing subsystem, and enabling the parent thread to perform a thread synchronization barrier on the child grid for proper execution semantics between the parent thread and the child grid. This technique advantageously enables the parallel processing subsystem to perform a richer set of programming constructs, such as conditionally executed and nested operations and externally defined library functions without the additional complexity of CPU involvement.
    Type: Application
    Filed: February 5, 2021
    Publication date: November 11, 2021
    Inventors: Stephen Jones, Philip Alexander Cuadra, Daniel Elliot Wexler, Ignacio Llamas, Lacky V. Shah, Jerome F. Duluk, JR., Christopher Lamb
  • Patent number: 10915364
    Abstract: Apparatuses, systems, and techniques for performing nested kernel execution within a parallel processing subsystem. In at least one embodiment, a parent thread launches a nested child grid on the parallel processing subsystem, and enables the parent thread to perform a thread synchronization barrier on the child grid for proper execution semantics between the parent thread and the child grid.
    Type: Grant
    Filed: December 2, 2016
    Date of Patent: February 9, 2021
    Assignee: NVIDIA Corporation
    Inventors: Stephen Jones, Philip Alexander Cuadra, Daniel Elliot Wexler, Ignacio Llamas, Lacky V. Shah, Jerome F. Duluk, Christopher Lamb
  • Publication number: 20200151016
    Abstract: One embodiment of the present invention sets forth a technique for performing nested kernel execution within a parallel processing subsystem. The technique involves enabling a parent thread to launch a nested child grid on the parallel processing subsystem, and enabling the parent thread to perform a thread synchronization barrier on the child grid for proper execution semantics between the parent thread and the child grid. This technique advantageously enables the parallel processing subsystem to perform a richer set of programming constructs, such as conditionally executed and nested operations and externally defined library functions without the additional complexity of CPU involvement.
    Type: Application
    Filed: January 17, 2020
    Publication date: May 14, 2020
    Inventors: Stephen Jones, Philip Alexander Cuadra, Daniel Elliot Wexler, Ignacio Llamas, Lacky V. Shah, Jerome F. Duluk, Jr., Christopher Lamb
  • Patent number: 10552202
    Abstract: One embodiment of the present invention sets forth a technique for instruction level execution preemption. Preempting at the instruction level does not require any draining of the processing pipeline. No new instructions are issued and the context state is unloaded from the processing pipeline. Any in-flight instructions that follow the preemption command in the processing pipeline are captured and stored in a processing task buffer to be reissued when the preempted program is resumed. The processing task buffer is designated as a high priority task to ensure the preempted instructions are reissued before any new instructions for the preempted context when execution of the preempted context is restored.
    Type: Grant
    Filed: May 12, 2017
    Date of Patent: February 4, 2020
    Assignee: NVIDIA CORPORATION
    Inventors: Philip Alexander Cuadra, Christopher Lamb, Lacky V. Shah
  • Patent number: 10552201
    Abstract: One embodiment of the present invention sets forth a technique for instruction level execution preemption. Preempting at the instruction level does not require any draining of the processing pipeline. No new instructions are issued and the context state is unloaded from the processing pipeline. Any in-flight instructions that follow the preemption command in the processing pipeline are captured and stored in a processing task buffer to be reissued when the preempted program is resumed. The processing task buffer is designated as a high priority task to ensure the preempted instructions are reissued before any new instructions for the preempted context when execution of the preempted context is restored.
    Type: Grant
    Filed: May 12, 2017
    Date of Patent: February 4, 2020
    Assignee: NVIDIA CORPORATION
    Inventors: Philip Alexander Cuadra, Christopher Lamb, Lacky V. Shah
  • Publication number: 20170249152
    Abstract: One embodiment of the present invention sets forth a technique for instruction level execution preemption. Preempting at the instruction level does not require any draining of the processing pipeline. No new instructions are issued and the context state is unloaded from the processing pipeline. Any in-flight instructions that follow the preemption command in the processing pipeline are captured and stored in a processing task buffer to be reissued when the preempted program is resumed. The processing task buffer is designated as a high priority task to ensure the preempted instructions are reissued before any new instructions for the preempted context when execution of the preempted context is restored.
    Type: Application
    Filed: May 12, 2017
    Publication date: August 31, 2017
    Inventors: Philip Alexander Cuadra, Christopher Lamb, Lacky V. Shah
  • Publication number: 20170249151
    Abstract: One embodiment of the present invention sets forth a technique for instruction level execution preemption. Preempting at the instruction level does not require any draining of the processing pipeline. No new instructions are issued and the context state is unloaded from the processing pipeline. Any in-flight instructions that follow the preemption command in the processing pipeline are captured and stored in a processing task buffer to be reissued when the preempted program is resumed. The processing task buffer is designated as a high priority task to ensure the preempted instructions are reissued before any new instructions for the preempted context when execution of the preempted context is restored.
    Type: Application
    Filed: May 12, 2017
    Publication date: August 31, 2017
    Inventors: Philip Alexander Cuadra, Christopher Lamb, Lacky V. Shah
  • Patent number: 9652282
    Abstract: One embodiment of the present invention sets forth a technique for instruction level execution preemption. Preempting at the instruction level does not require any draining of the processing pipeline. No new instructions are issued and the context state is unloaded from the processing pipeline. Any in-flight instructions that follow the preemption command in the processing pipeline are captured and stored in a processing task buffer to be reissued when the preempted program is resumed. The processing task buffer is designated as a high priority task to ensure the preempted instructions are reissued before any new instructions for the preempted context when execution of the preempted context is restored.
    Type: Grant
    Filed: November 8, 2011
    Date of Patent: May 16, 2017
    Assignee: NVIDIA Corporation
    Inventors: Philip Alexander Cuadra, Christopher Lamb, Lacky V. Shah
  • Publication number: 20170083373
    Abstract: One embodiment of the present invention sets forth a technique for performing nested kernel execution within a parallel processing subsystem. The technique involves enabling a parent thread to launch a nested child grid on the parallel processing subsystem, and enabling the parent thread to perform a thread synchronization barrier on the child grid for proper execution semantics between the parent thread and the child grid. This technique advantageously enables the parallel processing subsystem to perform a richer set of programming constructs, such as conditionally executed and nested operations and externally defined library functions without the additional complexity of CPU involvement.
    Type: Application
    Filed: December 2, 2016
    Publication date: March 23, 2017
    Inventors: Stephen Jones, Philip Alexander Cuadra, Daniel Elliot Wexler, Ignacio Llamas, Lacky V. Shah, Jerome F. Duluk, Christopher Lamb
  • Patent number: 9575760
    Abstract: One embodiment sets forth a method for assigning priorities to kernels launched by a software application and executed within a stream of work on a parallel processing subsystem that supports dynamic parallelism. First, the software application assigns a maximum nesting depth for dynamic parallelism. The software application then assigns a stream priority to a stream. These assignments cause a driver to map the stream priority to a device priority and, subsequently, associate the device priority with the stream. As part of the mapping, the driver ensures that each device priority is at least the maximum nesting depth higher than the device priorities associated with any lower priority streams. Subsequently, the driver launches any kernel included in the stream with the device priority associated with the stream. Advantageously, by strategically assigning the maximum nesting depth and prioritizing streams, an application developer may increase the overall processing efficiency of the software application.
    Type: Grant
    Filed: May 17, 2013
    Date of Patent: February 21, 2017
    Assignee: NVIDIA Corporation
    Inventors: Vivek Kini, Christopher Lamb
  • Patent number: 9513975
    Abstract: One embodiment of the present invention sets forth a technique for performing nested kernel execution within a parallel processing subsystem. The technique involves enabling a parent thread to launch a nested child grid on the parallel processing subsystem, and enabling the parent thread to perform a thread synchronization barrier on the child grid for proper execution semantics between the parent thread and the child grid. This technique advantageously enables the parallel processing subsystem to perform a richer set of programming constructs, such as conditionally executed and nested operations and externally defined library functions without the additional complexity of CPU involvement.
    Type: Grant
    Filed: May 2, 2012
    Date of Patent: December 6, 2016
    Assignee: NVIDIA Corporation
    Inventors: Stephen Jones, Philip Alexander Cuadra, Daniel Elliot Wexler, Ignacio Llamas, Lacky V. Shah, Jerome F. Duluk, Jr., Christopher Lamb
  • Patent number: 9483423
    Abstract: One embodiment sets forth a method for guiding the order in which a parallel processing subsystem executes memory copies. A driver creates semaphores for all but the lowest priority included in a plurality of priorities and associates one priority with each copy hardware channel included in the parallel processing subsystem. The driver then aliases prioritized streams to the copy hardware channels based on the priorities. Upon receiving a request to execute a memory copy within one of the streams, the driver inserts commands into the aliased copy hardware channel. These commands use the semaphores to direct the parallel processing subsystem to execute the memory copy based on the priority of the copy hardware channel. Advantageously, by assigning priorities to streams and, subsequently, strategically requesting memory copies within the prioritized streams, an application developer may fine-tune their software application to increase the overall processing efficiency of the software application.
    Type: Grant
    Filed: May 17, 2013
    Date of Patent: November 1, 2016
    Assignee: NVIDIA Corporation
    Inventors: Vivek Kini, Christopher Lamb, Mark Hairgrove
  • Publication number: 20150239169
    Abstract: The present invention relates to a process for making a container having an integral handle, comprising the steps of: a) providing a preform (6) in a mould cavity (1); b) stretch-blow moulding the preform (6) to form an intermediate container (8) which comprises at least one, preferably two, convex bubble(s) (9); c) deforming the or each convex bubble (9) by means of an inwardly moving plug (5) to form one or more concave gripping region(s), whilst maintaining the pressure within the intermediate container (8) above 1 bar and whilst the temperature of the material in the gripping region of the intermediate container is maintained at a temperature between the glass transition temperature, Tg, and the melt temperature, Tm; d) releasing excess pressure within the container, preferably prior to withdrawing the plug (5) from within the container; and e) ejecting the finished container from the mould cavity (1, 3).
    Type: Application
    Filed: December 18, 2014
    Publication date: August 27, 2015
    Inventors: William John Cleveland CONNOLLY, Patrick Jean-Francois ETESSE, Christian Gerhard Friedrich GERLACH, Christopher LAMB
  • Patent number: 9050750
    Abstract: The present invention relates to a process for making a container having an integral handle, comprising the steps of: a) providing a preform (6) in a mold cavity (1); b) stretch-blow molding the preform (6) to form an intermediate container (8) which comprises at least one, preferably two, convex bubble(s) (9); c) deforming the or each convex bubble (9) by means of an inwardly moving plug (5) to form one or more concave gripping region(s), while maintaining the pressure within the intermediate container (8) above 1 bar and while the temperature of the material in the gripping region of the intermediate container is maintained at a temperature between the glass transition temperature, Tg, and the melt temperature, Tm; d) releasing excess pressure within the container, preferably prior to withdrawing the plug (5) from within the container; and e) ejecting the finished container from the mold cavity (1, 3).
    Type: Grant
    Filed: March 18, 2009
    Date of Patent: June 9, 2015
    Assignee: The Procter & Gamble Company
    Inventors: William John Cleveland Connolly, Patrick Jean-Francois Etesse, Christian Gerhard Friedrich Gerlach, Christopher Lamb
  • Publication number: 20140344821
    Abstract: One embodiment sets forth a method for assigning priorities to kernels launched by a software application and executed within a stream of work on a parallel processing subsystem that supports dynamic parallelism. First, the software application assigns a maximum nesting depth for dynamic parallelism. The software application then assigns a stream priority to a stream. These assignments cause a driver to map the stream priority to a device priority and, subsequently, associate the device priority with the stream. As part of the mapping, the driver ensures that each device priority is at least the maximum nesting depth higher than the device priorities associated with any lower priority streams. Subsequently, the driver launches any kernel included in the stream with the device priority associated with the stream. Advantageously, by strategically assigning the maximum nesting depth and prioritizing streams, an application developer may increase the overall processing efficiency of the software application.
    Type: Application
    Filed: May 17, 2013
    Publication date: November 20, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Vivek KINI, Christopher LAMB
  • Publication number: 20140344528
    Abstract: One embodiment sets forth a method for guiding the order in which a parallel processing subsystem executes memory copies. A driver creates semaphores for all but the lowest priority included in a plurality of priorities and associates one priority with each copy hardware channel included in the parallel processing subsystem. The driver then aliases prioritized streams to the copy hardware channels based on the priorities. Upon receiving a request to execute a memory copy within one of the streams, the driver inserts commands into the aliased copy hardware channel. These commands use the semaphores to direct the parallel processing subsystem to execute the memory copy based on the priority of the copy hardware channel. Advantageously, by assigning priorities to streams and, subsequently, strategically requesting memory copies within the prioritized streams, an application developer may fine-tune their software application to increase the overall processing efficiency of the software application.
    Type: Application
    Filed: May 17, 2013
    Publication date: November 20, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Vivek KINI, Christopher LAMB, Mark HAIRGROVE
  • Publication number: 20130298133
    Abstract: One embodiment of the present invention sets forth a technique for performing nested kernel execution within a parallel processing subsystem. The technique involves enabling a parent thread to launch a nested child grid on the parallel processing subsystem, and enabling the parent thread to perform a thread synchronization barrier on the child grid for proper execution semantics between the parent thread and the child grid. This technique advantageously enables the parallel processing subsystem to perform a richer set of programming constructs, such as conditionally executed and nested operations and externally defined library functions without the additional complexity of CPU involvement.
    Type: Application
    Filed: May 2, 2012
    Publication date: November 7, 2013
    Inventors: Stephen JONES, Philip Alexander Cuadra, Daniel Elliot Wexler, Ignacio Llamas, Lacky V. Shah, Jerome F. Duluk, JR., Christopher Lamb
  • Publication number: 20130124838
    Abstract: One embodiment of the present invention sets forth a technique instruction level and compute thread array granularity execution preemption. Preempting at the instruction level does not require any draining of the processing pipeline. No new instructions are issued and the context state is unloaded from the processing pipeline. When preemption is performed at a compute thread array boundary, the amount of context state to be stored is reduced because execution units within the processing pipeline complete execution of in-flight instructions and become idle. If, the amount of time needed to complete execution of the in-flight instructions exceeds a threshold, then the preemption may dynamically change to be performed at the instruction level instead of at compute thread array granularity.
    Type: Application
    Filed: November 10, 2011
    Publication date: May 16, 2013
    Inventors: Lacky V. SHAH, Gregory Scott Palmer, Gernot Schaufler, Samuel H. Duncan, Philip Browning Johnson, Shirish Gadre, Robert Ohannessian, Nicholas Wang, Christopher Lamb, Philip Alexander Cuadra, Timothy John Purcell
  • Publication number: 20130117760
    Abstract: One embodiment of the present invention sets forth a technique for instruction level execution preemption. Preempting at the instruction level does not require any draining of the processing pipeline. No new instructions are issued and the context state is unloaded from the processing pipeline. Any in-flight instructions that follow the preemption command in the processing pipeline are captured and stored in a processing task buffer to be reissued when the preempted program is resumed. The processing task buffer is designated as a high priority task to ensure the preempted instructions are reissued before any new instructions for the preempted context when execution of the preempted context is restored.
    Type: Application
    Filed: November 8, 2011
    Publication date: May 9, 2013
    Inventors: Philip Alexander Cuadra, Christopher Lamb, Lacky V. Shah