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: 11150721Abstract: 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: GrantFiled: November 7, 2012Date of Patent: October 19, 2021Assignee: NVIDIA CorporationInventors: David Conrad Tannenbaum, Ming Y. Siu, Stuart F Oberman, Colin Sprinkle, Srinivasan Iyer, Ian Chi Yan Kwong
-
Patent number: 10503513Abstract: 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: GrantFiled: October 23, 2013Date of Patent: December 10, 2019Assignee: NVIDIA CORPORATIONInventors: David Conrad Tannenbaum, Srinivasan (Vasu) Iyer, Stuart F. Oberman, Ming Y. Siu, Michael Alan Fetterman, John Matthew Burgess, Shirish Gadre
-
Patent number: 9829956Abstract: 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: GrantFiled: November 21, 2012Date of Patent: November 28, 2017Assignee: NVIDIA CorporationInventors: David Conrad Tannenbaum, Colin Sprinkle, Stuart F. Oberman, Ming Y. Siu, Srinivasan Iyer, Ian-Chi Yan Kwong
-
Patent number: 9665969Abstract: 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: GrantFiled: May 24, 2010Date of Patent: May 30, 2017Assignee: NVIDIA CorporationInventors: Shirish Gadre, Robert Jan Schutten, David Conrad Tannenbaum
-
Patent number: 9600235Abstract: 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: GrantFiled: September 13, 2013Date of Patent: March 21, 2017Assignee: NVIDIA CorporationInventors: Srinivasan Iyer, Michael Alan Fetterman, David Conrad Tannenbaum
-
Patent number: 9465575Abstract: 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: GrantFiled: August 5, 2013Date of Patent: October 11, 2016Assignee: NVIDIA CorporationInventors: Srinivasan Iyer, David Conrad Tannenbaum, Stuart F. Oberman, Ming (Michael) Y. Siu
-
Patent number: 9383968Abstract: 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: GrantFiled: September 27, 2013Date of Patent: July 5, 2016Assignee: NVIDIA CorporationInventors: Daniel Finchelstein, David Conrad Tannenbaum, Srinivasan (Vasu) Iyer
-
Publication number: 20150193203Abstract: 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: ApplicationFiled: January 7, 2014Publication date: July 9, 2015Applicant: NVIDIA CORPORATIONInventors: Srinivasan (Vasu) IYER, David Conrad TANNENBAUM, Stuart F. OBERMAN
-
Publication number: 20150113254Abstract: 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: ApplicationFiled: October 23, 2013Publication date: April 23, 2015Applicant: NVIDIA CORPORATIONInventors: David Conrad TANNENBAUM, Srinivasan (Vasu) IYER, Stuart F. OBERMAN, Ming Y. SIU, Michael Alan FETTERMAN, John Matthew BURGESS, Shirish GADRE
-
Publication number: 20150095394Abstract: 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: ApplicationFiled: September 27, 2013Publication date: April 2, 2015Applicant: NVIDIA CORPORATIONInventors: Daniel FINCHELSTEIN, David Conrad TANNENBAUM, Srinivasan (Vasu) IYER
-
Publication number: 20150081753Abstract: 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: ApplicationFiled: September 13, 2013Publication date: March 19, 2015Applicant: NVIDIA CORPORATIONInventors: Srinivasan (Vasu) IYER, Michael Alan FETTERMAN, David Conrad TANNENBAUM
-
Publication number: 20150039662Abstract: 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: ApplicationFiled: August 5, 2013Publication date: February 5, 2015Applicant: NVIDIA CORPORATIONInventors: Srinivasan IYER, David Conrad TANNENBAUM, Stuart F. OBERMAN, Ming (Michael) Y. SIU
-
Publication number: 20140143564Abstract: 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: ApplicationFiled: November 21, 2012Publication date: May 22, 2014Applicant: NVIDIA CorporationInventors: David Conrad TANNENBAUM, Colin SPRINKLE, Stuart F. OBERMAN, Ming Y. SIU, Srinivasan IYER, Ian-Chi Yan KWONG
-
Publication number: 20140129807Abstract: 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: ApplicationFiled: November 7, 2012Publication date: May 8, 2014Applicant: NVIDIA CORPORATIONInventors: David Conrad TANNENBAUM, Ming Y. SIU, Stuart F. OBERMAN, Colin SPRINKLE, Srinivasan IYER, Ian Chi Yan KWONG
-
Patent number: 5720020Abstract: 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: GrantFiled: September 1, 1995Date of Patent: February 17, 1998Assignee: International Business Machines CorporationInventors: David Conrad Tannenbaum, Andrew David Bowen, Jeffrey Scott Spencer
-
Patent number: 5659671Abstract: 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: GrantFiled: April 25, 1996Date of Patent: August 19, 1997Assignee: International Business Machines CorporationInventors: David Conrad Tannenbaum, Andrew David Bowen, Robert Spencer Horton