Patents by Inventor David Conrad Tannenbaum

David Conrad Tannenbaum 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: 11150721
    Abstract: A system and method are described for providing hints to a processing unit that subsequent operations are likely. Responsively, the processing unit takes steps to prepare for the likely subsequent operations. Where the hints are more likely than not to be correct, the processing unit operates more efficiently. For example, in an embodiment, the processing unit consumes less power. In another embodiment, subsequent operations are performed more quickly because the processing unit is prepared to efficiently handle the subsequent operations.
    Type: Grant
    Filed: November 7, 2012
    Date of Patent: October 19, 2021
    Assignee: NVIDIA Corporation
    Inventors: David Conrad Tannenbaum, Ming Y. Siu, Stuart F Oberman, Colin Sprinkle, Srinivasan Iyer, Ian Chi Yan Kwong
  • Patent number: 10503513
    Abstract: A subsystem is configured to support a distributed instruction set architecture with primary and secondary execution pipelines. The primary execution pipeline supports the execution of a subset of instructions in the distributed instruction set architecture that are issued frequently. The secondary execution pipeline supports the execution of another subset of instructions in the distributed instruction set architecture that are issued less frequently. Both execution pipelines also support the execution of FFMA instructions as well as a common subset of instructions in the distributed instruction set architecture. When dispatching a requested instruction, an instruction scheduling unit is configured to select between the two execution pipelines based on various criteria. Those criteria may include power efficiency with which the instruction can be executed and availability of execution units to support execution of the instruction.
    Type: Grant
    Filed: October 23, 2013
    Date of Patent: December 10, 2019
    Assignee: NVIDIA CORPORATION
    Inventors: David Conrad Tannenbaum, Srinivasan (Vasu) Iyer, Stuart F. Oberman, Ming Y. Siu, Michael Alan Fetterman, John Matthew Burgess, Shirish Gadre
  • Patent number: 9829956
    Abstract: An approach is provided for enabling power reduction in floating-point operations. In one example, a system receives floating-point numbers of a fused multiply-add instruction. The system determines the fused multiply-add instruction does not require compliance with a standard of precision for floating-point numbers. The system generates gating signals for an integrated circuit that is configured to perform operations of the fused multiply-add instruction. The system then sends the gating signals to the integrated circuit to turn off a plurality of logic gates included in the integrated circuit.
    Type: Grant
    Filed: November 21, 2012
    Date of Patent: November 28, 2017
    Assignee: NVIDIA Corporation
    Inventors: David Conrad Tannenbaum, Colin Sprinkle, Stuart F. Oberman, Ming Y. Siu, Srinivasan Iyer, Ian-Chi Yan Kwong
  • Patent number: 9665969
    Abstract: One embodiment of the present invention discloses a method for processing video data within a video data processing path of a processing unit. The video data processing path includes three stages. In the first stage, source operands are extracted from a local register file and are ordered to map efficiently onto the downstream data path. In the second stage, arithmetic operations are performed on the source operands based on video processing instructions to generate intermediate results. In the third stage, additional operations are performed on the intermediate results based on the video processing instructions. In some embodiment, the intermediate results are combined with additional operands retrieved from the local register file.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: May 30, 2017
    Assignee: NVIDIA Corporation
    Inventors: Shirish Gadre, Robert Jan Schutten, David Conrad Tannenbaum
  • Patent number: 9600235
    Abstract: One embodiment of the present invention includes a method for performing arithmetic operations on arbitrary width integers using fixed width elements. The method includes receiving a plurality of input operands, segmenting each input operand into multiple sectors, performing a plurality of multiply-add operations based on the multiple sectors to generate a plurality of multiply-add operation results, and combining the multiply-add operation results to generate a final result. One advantage of the disclosed embodiments is that, by using a common fused floating point multiply-add unit to perform arithmetic operations on integers of arbitrary width, the method avoids the area and power penalty of having additional dedicated integer units.
    Type: Grant
    Filed: September 13, 2013
    Date of Patent: March 21, 2017
    Assignee: NVIDIA Corporation
    Inventors: Srinivasan Iyer, Michael Alan Fetterman, David Conrad Tannenbaum
  • Patent number: 9465575
    Abstract: A fused floating-point multiply-add element includes a multiplier that generates a product, and a shifter that shifts an addend within a narrow range. Interpreting logic analyzes the magnitude of the addend relative to the product and then causes logic arrays to position the shifted addend within the left, center, or right portions of a composite register depending in the magnitude of the addend relative to the product. The interpreting logic also forces other portions of the composite register to zero. When the addend is zero, the interpreting logic forces all portions of the composite register to zero. Final combining logic then adds the contents of the composite register to the product.
    Type: Grant
    Filed: August 5, 2013
    Date of Patent: October 11, 2016
    Assignee: NVIDIA Corporation
    Inventors: Srinivasan Iyer, David Conrad Tannenbaum, Stuart F. Oberman, Ming (Michael) Y. Siu
  • Patent number: 9383968
    Abstract: One embodiment of the present invention includes a method for simplifying arithmetic operations by detecting operands with elementary values such as zero or 1.0. Computer and graphics processing systems perform a great number of multiply-add operations. In a significant portion of these operations, the values of one or more of the operands are zero or 1.0. By detecting the occurrence of these elementary values, math operations can be greatly simplified, for example by eliminating multiply operations when one multiplicand is zero or 1.0 or eliminating add operations when one addend is zero. The simplified math operations resulting from detecting elementary valued operands provide significant savings in overhead power, dynamic processing power, and cycle time.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: July 5, 2016
    Assignee: NVIDIA Corporation
    Inventors: Daniel Finchelstein, David Conrad Tannenbaum, Srinivasan (Vasu) Iyer
  • Publication number: 20150193203
    Abstract: A four cycle fused floating point multiply-add unit includes a radix 8 Booth encoder multiplier that is partitioned over two stages with the compression element allocated to the second stage. The unit further includes an improved shifter design. Processing logic analyzes the input operands, detects values of zero and one, and inhibits portions of the processing logic accordingly. When one of the multiplicand inputs has a value of zero or one, the required multiplication becomes trivial, and the unit inhibits the associated coding logic and data transfer to reduce power consumption. The unit then performs an add-only operation. When the addend input has a value of zero, the addition becomes trivial, and the unit inhibits the improved shifter and data transfer to further reduce power consumption. The unit then performs a multiply-only operation.
    Type: Application
    Filed: January 7, 2014
    Publication date: July 9, 2015
    Applicant: NVIDIA CORPORATION
    Inventors: Srinivasan (Vasu) IYER, David Conrad TANNENBAUM, Stuart F. OBERMAN
  • Publication number: 20150113254
    Abstract: A subsystem is configured to support a distributed instruction set architecture with primary and secondary execution pipelines. The primary execution pipeline supports the execution of a subset of instructions in the distributed instruction set architecture that are issued frequently. The secondary execution pipeline supports the execution of another subset of instructions in the distributed instruction set architecture that are issued less frequently. Both execution pipelines also support the execution of FFMA instructions as well a common subset of instructions in the distributed instruction set architecture. When dispatching a requested instruction, an instruction scheduling unit is configured to select between the two execution pipelines based on various criteria. Those criteria may include power efficiency with which the instruction can be executed and availability of execution units to support execution of the instruction.
    Type: Application
    Filed: October 23, 2013
    Publication date: April 23, 2015
    Applicant: NVIDIA CORPORATION
    Inventors: David Conrad TANNENBAUM, Srinivasan (Vasu) IYER, Stuart F. OBERMAN, Ming Y. SIU, Michael Alan FETTERMAN, John Matthew BURGESS, Shirish GADRE
  • Publication number: 20150095394
    Abstract: One embodiment of the present invention includes a method for simplifying arithmetic operations by detecting operands with elementary values such as zero or 1.0. Computer and graphics processing systems perform a great number of multiply-add operations. In a significant portion of these operations, the values of one or more of the operands are zero or 1.0. By detecting the occurrence of these elementary values, math operations can be greatly simplified, for example by eliminating multiply operations when one multiplicand is zero or 1.0 or eliminating add operations when one addend is zero. The simplified math operations resulting from detecting elementary valued operands provide significant savings in overhead power, dynamic processing power, and cycle time.
    Type: Application
    Filed: September 27, 2013
    Publication date: April 2, 2015
    Applicant: NVIDIA CORPORATION
    Inventors: Daniel FINCHELSTEIN, David Conrad TANNENBAUM, Srinivasan (Vasu) IYER
  • Publication number: 20150081753
    Abstract: One embodiment of the present invention includes a method for performing arithmetic operations on arbitrary width integers using fixed width elements. The method includes receiving a plurality of input operands, segmenting each input operand into multiple sectors, performing a plurality of multiply-add operations based on the multiple sectors to generate a plurality of multiply-add operation results, and combining the multiply-add operation results to generate a final result. One advantage of the disclosed embodiments is that, by using a common fused floating point multiply-add unit to perform arithmetic operations on integers of arbitrary width, the method avoids the area and power penalty of having additional dedicated integer units.
    Type: Application
    Filed: September 13, 2013
    Publication date: March 19, 2015
    Applicant: NVIDIA CORPORATION
    Inventors: Srinivasan (Vasu) IYER, Michael Alan FETTERMAN, David Conrad TANNENBAUM
  • Publication number: 20150039662
    Abstract: A fused floating-point multiply-add element includes a multiplier that generates a product, and a shifter that shifts an addend within a narrow range. Interpreting logic analyzes the magnitude of the addend relative to the product and then causes logic arrays to position the shifted addend within the left, center, or right portions of a composite register depending in the magnitude of the addend relative to the product. The interpreting logic also forces other portions of the composite register to zero. When the addend is zero, the interpreting logic forces all portions of the composite register to zero. Final combining logic then adds the contents of the composite register to the product.
    Type: Application
    Filed: August 5, 2013
    Publication date: February 5, 2015
    Applicant: NVIDIA CORPORATION
    Inventors: Srinivasan IYER, David Conrad TANNENBAUM, Stuart F. OBERMAN, Ming (Michael) Y. SIU
  • Publication number: 20140143564
    Abstract: An approach is provided for enabling power reduction in floating-point operations. In one example, a system receives floating-point numbers of a fused multiply-add instruction. The system determines the fused multiply-add instruction does not require compliance with a standard of precision for floating-point numbers. The system generates gating signals for an integrated circuit that is configured to perform operations of the fused multiply-add instruction. The system then sends the gating signals to the integrated circuit to turn off a plurality of logic gates included in the integrated circuit.
    Type: Application
    Filed: November 21, 2012
    Publication date: May 22, 2014
    Applicant: NVIDIA Corporation
    Inventors: David Conrad TANNENBAUM, Colin SPRINKLE, Stuart F. OBERMAN, Ming Y. SIU, Srinivasan IYER, Ian-Chi Yan KWONG
  • Publication number: 20140129807
    Abstract: A system and method are described for providing hints to a processing unit that subsequent operations are likely. Responsively, the processing unit takes steps to prepare for the likely subsequent operations. Where the hints are more likely than not to be correct, the processing unit operates more efficiently. For example, in an embodiment, the processing unit consumes less power. In another embodiment, subsequent operations are performed more quickly because the processing unit is prepared to efficiently handle the subsequent operations.
    Type: Application
    Filed: November 7, 2012
    Publication date: May 8, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: David Conrad TANNENBAUM, Ming Y. SIU, Stuart F. OBERMAN, Colin SPRINKLE, Srinivasan IYER, Ian Chi Yan KWONG
  • Patent number: 5720020
    Abstract: A system and method for drawing non-opaque objects with realistic refraction attributes. The system adjusts the pixel values of an object with a refraction index other than unity so that the resulting image approximates a refracted image. Adjacent pixel values are copied and blended with the pixel being rendered based upon a calculated refraction value. Refraction can be approximated as a surface effect by offset vectors, as a property of an object having parallel front and back surfaces and as an arbitrary object with non-parallel opposing surfaces. The more complex representations provide improved approximations of the refracted image. The resulting image presents a more realistic view of the refracted image.
    Type: Grant
    Filed: September 1, 1995
    Date of Patent: February 17, 1998
    Assignee: International Business Machines Corporation
    Inventors: David Conrad Tannenbaum, Andrew David Bowen, Jeffrey Scott Spencer
  • Patent number: 5659671
    Abstract: The present invention provides an apparatus for displaying an image of an object, as illuminated by a light source, on a display within a computer graphics display system. The image is graphically represented by a mesh of polygons and each polygon within the mesh has a surface defined by a set of vertices. The vertices define the surface of the polygon. The apparatus includes a processor, such as a rasterizer, that is responsive to each set of vertices for rendering each surface within the mesh of polygons in response to ambient lighting to produce a number of initially rendered surfaces within the mesh of polygons. Phong shading is utilized by the present invention. The processor produces a specular highlight contribution for each surface within the mesh of polygons utilizing a halfway vector, pointing from each surface to a direction halfway between a light vector and a vector pointing towards a viewpoint, associated with a vector normal to each surface.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: August 19, 1997
    Assignee: International Business Machines Corporation
    Inventors: David Conrad Tannenbaum, Andrew David Bowen, Robert Spencer Horton