IP Library Granted Patent US 7,031,885
Granted Patent B2
US 7,031,885 · App. 10/608,244 · Granted Apr 18, 2006

Method and apparatus for measuring accuracies of fixed-point computations

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,031,885
App. No.
10/608,244
Granted
Apr 18, 2006
Kind
B2
Abstract

Method and apparatus for measuring accuracies of fixed-point computations are described herein. In one embodiment, the exemplary process includes identifying an operation involving a plurality of input values, invoking an object associated with the identified operation, performing the operation via the invoked object, and automatically generating, as a part of the operation via the object, accuracy information associated with the operation for each of the plurality of input values. Other methods and apparatuses are also described.

Claims (62)

1. A computer implemented method, comprising:

identifying an operation involving a plurality of input values;

invoking an object associated with the identified operation, the object including a computational model as a member of the object to generate accuracy information for the operation, the computational model being defined by

identifying a theoretical result of the operation based on an input value,

defining an input independent error associated with the input value,

defining an input dependent error associated with the input value, and

obtaining an actual result of the operation based on the theoretical result, the input independent error, and input dependent error;

performing the operation via the invoked object; and

automatically generating, as a part of the operation via the object, the accuracy information associated with the operation for each of the plurality of input values.

2. The method of claim 1 , further comprising:

creating the object associated with the identified operation; and

initializing the object using the plurality of input values prior to performing the operation.

3. The method of claim 2 , further comprising receiving the plurality of input values as parts of parameters associated with the object when the object is created.

4. The method of claim 1 , wherein the object comprises one or more member functions to perform the operation and to substantial concurrently generate the accuracy information associated with the operation.

5. The method of claim 1 , further comprising defining a computational model, as a member of the object, to generate the accuracy information for the operation.

6. The method of claim 1 , wherein the actual result of the operation is obtained via a summation of the theoretical result, the input independent error, and input dependent error.

7. The method of claim 1 , wherein the computational model comprises one of a probability density function and one or more upper-bound functions representing the accuracy of the operation.

8. The method of claim 7 , wherein the probability density function represents a probability density of the input independent errors.

9. The method of claim 7 , wherein the one or more upper-bound functions comprise a first upper-bound function and a second upper-bound function, the first upper-bound function representing upper bound values associated with the input dependent errors and the second upper-bound function representing upper bound values associated with the actual results of the operation.

10. The method of claim 1 , wherein the operation comprises one of an addition, a multiplication, and a shifting operation.

11. The method of claim 1 , wherein the accuracy information includes differences between a theoretical result and an actual result of the operation.

12. The method of claim 1 , wherein the plurality of input values comprises multi-dimensional vectors of values.

13. The method of claim 1 , wherein the object is invoked via an inheritance of an object oriented programming (OOP) environment.

14. The method of claim 13 , further comprising overloading an operator associated with the operation via the OOP environment, such that the accuracy information is obtained transparently with respect to the actual operation.

15. A machine-readable medium having executable code to cause a machine to perform a method, the method comprising:

identifying an operation involving a plurality of input values;

invoking an object associated with the identified operation, the object including a computational model as a member of the object to generate accuracy information for the operation, the computational model being defined by

identifying a theoretical result of the operation based on an input value,

defining an input independent error associated with the input value,

defining an input dependent error associated with the input value, and

obtaining an actual result of the operation based on the theoretical result, the input independent error, and input dependent error;

performing the operation via the invoked object; and

automatically generating, as a part of the operation via the object, the accuracy information associated with the operation for each of the plurality of input values.

16. The machine-readable medium of claim 15 , wherein the method further comprises defining a computational model, as a member of the object, to generate the accuracy information for the operation.

17. The machine-readable medium of claim 15 , wherein the actual result of the operation is obtained via a summation of the theoretical result, the input independent error, and input dependent error.

18. The machine-readable medium of claim 15 , wherein the computational model comprises one of a probability density function and one or more upper-bound functions representing the accuracy of the operation.

19. The machine-readable medium of claim 18 , wherein the probability density function represents a probability density of the input independent errors.

20. The machine-readable medium of claim 18 , wherein the one or more upper-bound functions comprise a first upper-bound function and a second upper-bound function, the first upper-bound function representing upper bound values associated with the input dependent errors and the second upper-bound function representing upper bound values associated with the actual results of the operation.

21. The machine-readable medium of claim 15 , wherein the operation comprises one of an addition, a multiplication, and a shifting operation.

22. The machine-readable medium of claim 15 , wherein the object is invoked via an inheritance of an object oriented programming (OOP) environment.

23. The machine-readable medium of claim 22 , wherein the method further comprises overloading an operator associated with the operation via the OOP environment, such that the accuracy information is obtained transparently with respect to the actual operation.

24. A data processing system, comprising:

a processor;

a memory coupled to the processor; and

a process executed by the processor from the memory to cause the processor to identify an operation involving a plurality of input values,

invoke an object associated with the identified operation, the object including a computational model as a member of the object to generate accuracy information for the operation, the computational model being defined by

identifying a theoretical result of the operation based on an input value,

defining an input independent error associated with the input value,

defining an input dependent error associated with the input value, and

obtaining an actual result of the operation based on the theoretical result, the input independent error, and input dependent error,

perform the operation via the invoked object, and

automatically generate, as a part of the operation via the object, the accuracy information associated with the operation for each of the plurality of input values.

25. The data processing system of claim 24 , wherein the process further causes the processor to define a computational model, as a member of the object, to generate the accuracy information for the operation.

26. A data processing system, comprising:

a processor;

a memory coupled to the processor; and

a process executed by the processor from the memory to cause the processor to identify an operation involving a plurality of input values,

invoke an object associated with the identified operation, the object including a computational model as a member of the object to generate accuracy information for the operation,

perform the operation via the invoked object, and

automatically generate, as a part of the operation via the object, the accuracy information associated with the operation for each of the plurality of input values,

wherein the computational model comprises one of a probability density function and one or more upper-bound functions representing the accuracy of the operation.

27. The data processing system of claim 26 , wherein the probability density function represents a probability density of the input independent errors, and wherein the one or more upper-bound functions comprise a first upper-bound function and a second upper-bound function, the first upper-bound function representing upper bound values associated with the input dependent errors and the second upper-bound function representing upper bound values associated with the actual results of the operation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2006
From: INTEL CORPORATION
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 018515/0817 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2003
From: TANG, PING T.
To: INTEL CORPORATION
Reel/Frame 014246/0808 →