Patents by Inventor Bryon S. Nordquist

Bryon S. Nordquist 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: 7584342
    Abstract: Parallel data processing systems and methods use cooperative thread arrays (CTAs), i.e., groups of multiple threads that concurrently execute the same program on an input data set to produce an output data set. Each thread in a CTA has a unique identifier (thread ID) that can be assigned at thread launch time and that controls various aspects of the thread's processing behavior, such as the portion of the input data set to be processed by each thread, the portion of the output data set to be produced by each thread, and/or sharing of intermediate results among threads. Where groups of threads are executed in SIMD parallelism, thread IDs for threads in the same SIMD group are generated and assigned in parallel, allowing different SIMD groups to be launched in rapid succession.
    Type: Grant
    Filed: December 15, 2005
    Date of Patent: September 1, 2009
    Assignee: NVIDIA Corporation
    Inventors: Bryon S. Nordquist, John R. Nickolls, Luis I. Bacayo
  • Patent number: 7533237
    Abstract: Systems and methods for dynamically allocating memory for thread processing may reduce memory requirements while maintaining thread processing parallelism. A memory pool is allocated to store data for processing multiple threads that does not need to be large enough to dedicate a fixed size portion of the memory pool to each thread that may be processed in parallel. Fixed size portions of the memory pool are dynamically allocated and deallocated to each processing thread. Different fixed size portions may be used for different types of threads to allow greater thread parallelism compared with a system that requires allocating a single fixed portion of the memory pool to each thread. The memory pool may be shared between all of the thread types or divided to provide separate memory pools dedicated to each particular thread type.
    Type: Grant
    Filed: May 11, 2006
    Date of Patent: May 12, 2009
    Assignee: NVIDIA Corporation
    Inventor: Bryon S. Nordquist
  • Patent number: 7533236
    Abstract: Systems and methods for dynamically allocating memory for thread processing may reduce memory requirements while maintaining thread processing parallelism. A memory pool is allocated to store data for processing multiple threads that does not need to be large enough to dedicate a fixed size portion of the memory pool to each thread that may be processed in parallel. Fixed size portions of the memory pool are dynamically allocated and deallocated to each processing thread. Different fixed size portions may be used for different types of threads to allow greater thread parallelism compared with a system that requires allocating a single fixed portion of the memory pool to each thread. The memory pool may be shared between all of the thread types or divided to provide separate memory pools dedicated to each particular thread type.
    Type: Grant
    Filed: May 11, 2006
    Date of Patent: May 12, 2009
    Assignee: NVIDIA Corporation
    Inventor: Bryon S. Nordquist
  • Patent number: 7522171
    Abstract: A system of processing data in a graphics processing unit having a core configured to process data in hexadecimal form and other graphics modules configured to process data in quads includes a transpose buffer with a crossbar to reorganize incoming data, several memory banks to store the reorganized data over a period of several clock cycles, and a second crossbar for reorganizing the stored data after it is read from the bank of memories in one clock cycle. The method for converting between data in hexadecimal form and data in quads includes providing data in hexadecimal form, reorganizing the data provided in hexadecimal form, storing the reorganized data in several memories, and reading several of the memory locations, which contain all of the elements of the quad, in one clock cycle.
    Type: Grant
    Filed: July 20, 2006
    Date of Patent: April 21, 2009
    Assignee: NVIDIA Corporation
    Inventor: Bryon S. Nordquist
  • Patent number: 7492368
    Abstract: A multiprocessor system executes parallel threads. A controller receives memory requests from the parallel threads and coalesces the memory requests to improve memory transfer efficiency.
    Type: Grant
    Filed: January 24, 2006
    Date of Patent: February 17, 2009
    Assignee: Nvidia Corporation
    Inventors: Bryon S. Nordquist, Stephen D. Lew
  • Patent number: 7489315
    Abstract: Systems and methods for converting graphics data represented in a hexadecimal form into a quad form may be used to reorganize the graphics data for performing raster operations. Prior to performing raster operations the graphics data received for each component is assembled to interleave the components for each pixel as needed to perform the raster operations. The assembly process varies depending on the number of bits per component, the number of components to be processed, and the memory format of the render target used to store the processed graphics data.
    Type: Grant
    Filed: June 1, 2006
    Date of Patent: February 10, 2009
    Assignee: NVIDIA Corporation
    Inventor: Bryon S. Nordquist
  • Patent number: 7477260
    Abstract: A system of processing data in a graphics processing unit having a core configured to process data in hexadecimal form and other graphics modules configured to process data in quads includes a transpose buffer with a crossbar to reorganize incoming data, several memory banks to store the reorganized data over a period of several clock cycles, and a second crossbar for reorganizing the stored data after it is read from the bank of memories in one clock cycle. The method for converting between data in hexadecimal form and data in quads includes providing data in hexadecimal form, reorganizing the data provided in hexadecimal form, storing the reorganized data in several memories, and reading several of the memory locations, which contain all of the elements of the quad, in one clock cycle.
    Type: Grant
    Filed: February 1, 2006
    Date of Patent: January 13, 2009
    Assignee: NVIDIA Corporation
    Inventor: Bryon S. Nordquist
  • Patent number: 7447873
    Abstract: In a multithreaded processing core, groups of threads are executed using single instruction, multiple data (SIMD) parallelism by a set of parallel processing engines. Input data defining objects to be processed received as a stream of input data blocks, and the input data blocks are loaded into a local register file in the core such that all of the data for one of the input objects is accessible to one of the processing engines. The input data can be loaded directly into the local register file, or the data can be accumulated in a buffer and loaded after accumulation, for instance during a launch operation for a SIMD group. Shared input data can also be loaded into a shared memory in the processing core.
    Type: Grant
    Filed: November 29, 2005
    Date of Patent: November 4, 2008
    Assignee: NVIDIA Corporation
    Inventor: Bryon S. Nordquist
  • Patent number: 7404059
    Abstract: State information in a processor is managed using a lookup table that has multiple memory circuits, each with multiple entries. Items of state information belonging to a first state version are stored in a first group of the entries, with each entry in the first group being in a different one of the memory circuits. To create an updated state version, the items of state information are copied in parallel from the first group of entries to a second group of entries, with each entry in the second group is in a different one of the memory circuits. The copy in the second group of the item being updated is then replaced with the updated value.
    Type: Grant
    Filed: December 7, 2005
    Date of Patent: July 22, 2008
    Assignee: NVIDIA Corporation
    Inventor: Bryon S. Nordquist
  • Patent number: 7404056
    Abstract: State information in a processor is managed using a lookup table that has multiple memory circuits, each with multiple entries. Items of state information belonging to a current state version are stored in a first group of entries in the memory circuits. To create an updated state version, a virtual copy of each of the items of state information is created in a second group of entries in the memory circuits, and the virtual copy of the item being updated is replaced with a real copy of the item from the first group of entries. The item in the first group of entries is then updated.
    Type: Grant
    Filed: December 7, 2005
    Date of Patent: July 22, 2008
    Assignee: Nvidia Corporation
    Inventor: Bryon S. Nordquist