Patents by Inventor Thomas A. Piazza

Thomas A. Piazza 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: 20140306970
    Abstract: A scoreboard may keep track of thread dependencies. A set of threads with a common characteristic may be grouped so that if that characteristic is changed, the group of threads can be accessed to account for that change. Examples for such a characteristic include various types of scoreboard address changes. When the characteristic is changed the group of threads are used to identify threads affected by the characteristic change.
    Type: Application
    Filed: April 15, 2013
    Publication date: October 16, 2014
    Inventors: Prasoonkumar Surti, Thomas A. Piazza
  • Publication number: 20140240328
    Abstract: Techniques and architecture are disclosed for using a latency first-in/first-out (FIFO) to modally enable and disable a compute block in a graphics pipeline. In some example embodiments, the latency FIFO collects valid accesses for a downstream compute and integrates invalid inputs (e.g., bubbles), while the compute is in an off state (e.g., sleep). Once a sufficient number of valid accesses are stored in the latency FIFO, the compute is turned on, and the latency FIFO drains a burst of valid inputs thereto. In some embodiments, this burst helps to prevent or reduce any underutilization of the compute which otherwise might occur, thus providing power savings for a graphics pipeline or otherwise improving the energy efficiency of a given graphics system. In some instances, throughput demand at the latency FIFO input is maintained over a time window corresponding to the on and off time of the compute block.
    Type: Application
    Filed: February 26, 2013
    Publication date: August 28, 2014
    Inventors: Prasoonkumar Surti, Thomas A. Piazza
  • Publication number: 20140176541
    Abstract: Various embodiments are generally directed to techniques for causing the storage of a color data value of a clear color to be deferred as rendered color data values are stored for samples. A device comprises a processor circuit and a storage to store instructions that cause the processor circuit to render a pixel from multiple samples taken of a three-dimensional model of an object, the pixel corresponding to a pixel sample data which comprises multiple color storage locations that are each identified by a numeric identifier, and which comprises multiple sample color indices that each correspond to a sample to point to at least one color storage location; and allocate color storage locations in an order selected to define a subset of possible combinations of binary index values among all of the sample color indices as invalid combinations. Other embodiments are described and claimed.
    Type: Application
    Filed: December 24, 2012
    Publication date: June 26, 2014
    Inventors: PRASOONKUMAR SURTI, THOMAS A. PIAZZA
  • Publication number: 20140139512
    Abstract: According to some embodiments of the present invention, pixel throughput may be improved by performing depth tests and recording the results on the granularity of an input geometry object. An input geometry object is any object within the depiction represented by a primitive, such as a triangle within an input triangle list or a patch within an input patch list.
    Type: Application
    Filed: November 21, 2012
    Publication date: May 22, 2014
    Inventors: Thomas A. Piazza, Bimal Poddar, Peter L. Doyle
  • Publication number: 20140136797
    Abstract: A technique to enable information sharing among agents within different cache coherency domains. In one embodiment, a graphics device may use one or more caches used by one or more processing cores to store or read information, which may be accessed by one or more processing cores in a manner that does not affect programming and coherency rules pertaining to the graphics device.
    Type: Application
    Filed: January 20, 2014
    Publication date: May 15, 2014
    Inventors: Zeev Offen, Ariel Berkovits, Thomas A. Piazza, Robert Farrell, Altug Koker, Opher Kahn
  • Publication number: 20140085302
    Abstract: An apparatus may include a memory to store a set of triangle vertices in a triangle, a processor circuit coupled to the memory and a cache to cache a set of triangle vertex indices corresponding to triangle vertices most recently transmitted through a graphics pipeline. The apparatus may also include an autostrip vertex processing component operative on the processor circuit to receive from the memory the set of triangle vertices, compare an index for each vertex of the set of triangle vertices to determine matches to the set of cached triangle vertex indices, and shift a single vertex index into the cache, the single vertex index corresponding to a vertex miss in which a given vertex of the set of triangle vertices does not match any vertex index of the set of cached triangle vertex indices when exactly two matches to the set of cached triangle vertex indices are found.
    Type: Application
    Filed: September 26, 2012
    Publication date: March 27, 2014
    Inventors: PETER L. DOYLE, THOMAS A. PIAZZA
  • Patent number: 8643660
    Abstract: A technique to enable information sharing among agents within different cache coherency domains. In one embodiment, a graphics device may use one or more caches used by one or more processing cores to store or read information, which may be accessed by one or more processing cores in a manner that does not affect programming and coherency rules pertaining to the graphics device.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: February 4, 2014
    Assignee: Intel Corporation
    Inventors: Zeev Offen, Ariel Berkovits, Thomas A. Piazza, Robert L. Farrell, Altug Koker, Opher Kahn
  • Patent number: 8601177
    Abstract: A method may include distributing ranges of addresses in a memory among a first set of functions in a first pipeline. The first set of the functions in the first pipeline may operate on data using the ranges of addresses. Different ranges of addresses in the memory may be redistributed among a second set of functions in a second pipeline without waiting for the first set of functions to be flushed of data.
    Type: Grant
    Filed: June 27, 2012
    Date of Patent: December 3, 2013
    Assignee: Intel Corporation
    Inventor: Thomas A. Piazza
  • Patent number: 8544019
    Abstract: In some embodiments, a method includes receiving a request to generate a thread and supplying a request to a queue in response at least to the received request. The method may further include fetching a plurality of instructions in response at least in part to the request supplied to the queue and executing at least one of the plurality of instructions. In some embodiments, an apparatus includes a storage medium having stored therein instructions that when executed by a machine result in the method. In some embodiments, an apparatus includes circuitry to receive a request to generate a thread and to queue a request to generate a thread in response at least to the received request. In some embodiments, a system includes circuitry to receive a request to generate a thread and to queue a request to generate a thread in response at least to the received request, and a memory unit to store at least one instruction for the thread.
    Type: Grant
    Filed: May 26, 2011
    Date of Patent: September 24, 2013
    Assignee: Intel Corporation
    Inventors: Hong Jiang, Thomas A. Piazza, Brian D. Rauchfuss, Sreedevi Chalasani, Steven J. Spangler
  • Publication number: 20130207987
    Abstract: A technique to enable information sharing among agents within different cache coherency domains. In one embodiment, a graphics device may use one or more caches used by one or more processing cores to store or read information, which may be accessed by one or more processing cores in a manner that does not affect programming and coherency rules pertaining to the graphics device.
    Type: Application
    Filed: March 15, 2013
    Publication date: August 15, 2013
    Inventors: Zeev Offen, Ariel Berkovits, Thomas A. Piazza, Robert L. Farrell, Altug Koker, Opher Kahn
  • Patent number: 8448179
    Abstract: Multiple parallel passive threads of instructions coordinate access to shared resources using “active” semaphores. The semaphores are referred to as active because the semaphores send messages to execution and/or control circuitry to cause the state of a thread to change. A thread can be placed in an inactive state by a thread scheduler in response to an unresolved dependency, which can be indicated by a semaphore. A thread state variable corresponding to the dependency is used to indicate that the thread is in inactive mode. When the dependency is resolved a message is passed to control circuitry causing the dependency variable to be cleared. In response to the cleared dependency variable the thread is placed in an active state. Execution can proceed on the threads in the active state.
    Type: Grant
    Filed: January 24, 2011
    Date of Patent: May 21, 2013
    Assignee: Intel Corporation
    Inventors: Hong Jiang, Thomas A. Piazza
  • Publication number: 20130117509
    Abstract: A technique to enable information sharing among agents within different cache coherency domains. In one embodiment, a graphics device may use one or more caches used by one or more processing cores to store or read information, which may be accessed by one or more processing cores in a manner that does not affect programming and coherency rules pertaining to the graphics device.
    Type: Application
    Filed: December 20, 2012
    Publication date: May 9, 2013
    Inventors: Zeev Offen, Ariel Berkovits, Thomas A. Piazza, Robert Farrell, Altug Koker, Opher Kahn
  • Publication number: 20130038616
    Abstract: A context-free (stateless) dataport may allow multiple processors to perform read and write operations on a shared memory. The operations may include, for example, structured data operations such as image and video operations. The dataport may perform addressing computations associated with block memory operations. Therefore, the dataport may be able, for example, to relieve the processors that it serves from this duty. The dataport may be accessed using a message interface that may be implemented in a standard and generalized manner and that may therefore be easily transportable between different types of processors.
    Type: Application
    Filed: September 24, 2012
    Publication date: February 14, 2013
    Inventors: Dinakar MUNAGALA, Hong JIANG, Bishara SHOMAR, Val COOK, Michael K. DWYER, Thomas PIAZZA
  • Publication number: 20120272032
    Abstract: A method may include distributing ranges of addresses in a memory among a first set of functions in a first pipeline. The first set of the functions in the first pipeline may operate on data using the ranges of addresses. Different ranges of addresses in the memory may be redistributed among a second set of functions in a second pipeline without waiting for the first set of functions to be flushed of data.
    Type: Application
    Filed: June 27, 2012
    Publication date: October 25, 2012
    Inventor: Thomas A. Piazza
  • Patent number: 8279886
    Abstract: A context-free (stateless) dataport may allow multiple processors to perform read and write operations on a shared memory. The operations may include, for example, structured data operations such as image and video operations. The dataport may perform addressing computations associated with block memory operations. Therefore, the dataport may be able, for example, to relieve the processors that it serves from this duty. The dataport may be accessed using a message interface that may be implemented in a standard and generalized manner and that may therefore be easily transportable between different types of processors.
    Type: Grant
    Filed: December 30, 2004
    Date of Patent: October 2, 2012
    Assignee: Intel Corporation
    Inventors: Dinakar Munagala, Hong Jiang, Bishara Shomar, Val Cook, Michael K. Dwyer, Thomas Piazza
  • Patent number: 8271986
    Abstract: Active and/or proactive semaphore mechanisms and thread synchronization techniques can be applied to various visual and graphical processing techniques.
    Type: Grant
    Filed: December 31, 2003
    Date of Patent: September 18, 2012
    Assignee: Intel Corporation
    Inventors: Hong Jiang, Thomas A. Piazza
  • Publication number: 20120200585
    Abstract: A technique to enable information sharing among agents within different cache coherency domains. In one embodiment, a graphics device may use one or more caches used by one or more processing cores to store or read information, which may be accessed by one or more processing cores in a manner that does not affect programming and coherency rules pertaining to the graphics device.
    Type: Application
    Filed: April 15, 2012
    Publication date: August 9, 2012
    Inventors: Zeev Offen, Ariel Berkovits, Thomas A. Piazza, Robert L. Farrell, Altug Koker, Opher Kahn
  • Patent number: 8225012
    Abstract: A method may include distributing ranges of addresses in a memory among a first set of functions in a first pipeline. The first set of the functions in the first pipeline may operate on data using the ranges of addresses. Different ranges of addresses in the memory may be redistributed among a second set of functions in a second pipeline without waiting for the first set of functions to be flushed of data.
    Type: Grant
    Filed: September 3, 2009
    Date of Patent: July 17, 2012
    Assignee: Intel Corporation
    Inventor: Thomas A. Piazza
  • Patent number: 8171225
    Abstract: A method includes storing a plurality of data RAM, holding information for all outstanding requests forwarded to a next-level memory subsystem, clearing information associated with a serviced request after the request has been fulfilled, determining if a subsequent request matches an address supplied to one or more requests already in-flight to the next-level memory subsystem, matching fulfilled requests serviced by the next-level memory subsystem to at least one requester who issued requests while an original request was in-flight to the next level memory subsystem, storing information specific to each request comprising a set attribute and a way attribute configured to identify where the returned data should be held in the data RAM once the data is returned, the information specific to each request further including at least one of thread ID, instruction queue position and color, and scheduling hit and miss data returns.
    Type: Grant
    Filed: June 28, 2007
    Date of Patent: May 1, 2012
    Assignee: Intel Corporation
    Inventors: Thomas A Piazza, Michael K Dwyer, Scott Cheng
  • Publication number: 20110314479
    Abstract: In some embodiments, a method includes receiving a request to generate a thread and supplying a request to a queue in response at least to the received request. The method may further include fetching a plurality of instructions in response at least in part to the request supplied to the queue and executing at least one of the plurality of instructions. In some embodiments, an apparatus includes a storage medium having stored therein instructions that when executed by a machine result in the method. In some embodiments, an apparatus includes circuitry to receive a request to generate a thread and to queue a request to generate a thread in response at least to the received request. In some embodiments, a system includes circuitry to receive a request to generate a thread and to queue a request to generate a thread in response at least to the received request, and a memory unit to store at least one instruction for the thread.
    Type: Application
    Filed: May 26, 2011
    Publication date: December 22, 2011
    Inventors: Hong Jiang, Thomas A. Piazza, Brian D. Rauchfuss, Sreedevi Chalasani, Steven J. Spangler