Dynamic directional rounding
AssigneeNVIDIA Corporation
InventorsAlex Fit-Florea, Boris Ginsburg, Pooya Davoodi, Amir Gholaminejad
Life of this patent
Estimating the term…
Abstract
A method, computer readable medium, and system are disclosed for rounding floating point values. Dynamic directional rounding is a rounding technique for floating point operations. A floating point operation (addition, subtraction, multiplication, etc.) is performed on an operand to compute a floating point result. A sign (positive or negative) of the operand is identified. In one embodiment, the sign determines a direction in which the floating point result is rounded (towards negative or positive infinity). When used for updating parameters of a neural network during backpropagation, dynamic directional rounding ensures that rounding is performed in the direction of the gradient.
Claims18
A method, comprising:
- performing, using a processor, an operation using two or more floating point operands specified by a program instruction to generate a floating point result;
- and
- rounding, using a rounding unit, the floating point result based, at least in part, on a value from a sign of one of the two or more floating point operands independent of a sign of the floating point result,
- wherein the program instruction specifies which operand of the two or more floating operands is used to round the floating point result.
A processor, comprising:
- one or more circuits to:
- perform an operation using two or more floating point operands specified by a program instruction to generate a floating point result;
- and
- use a rounding unit to round the floating point result based, at least in part, on a value from a sign of one of the two or more floating point operands independent of a sign of the floating point result,
- wherein the program instruction specifies which operand of the two or more floating operands is used to round the floating point result.
An apparatus, comprising:
- one or more circuits to:
- perform an operation using two or more floating point operands specified by a program instruction to generate a floating point result;
- and
- use a rounding unit to round floating point result based, at least in part, on a value from a sign of one of the two or more floating point operands independent of a sign of the floating point result,
- wherein the program instruction specifies which operand of the two or more floating operands is used to round the floating point result.
Dependencies are inferred from the claim text.