Patent ID: 11886505
Assignee: GRAPHCORE LIMITED
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 11:
12. A method for operating an execution unit of a processor to evaluate a function, the method comprising:
determining, by a table selector, a particular range of a first set of one or more input ranges in which a first input value falls;
selecting, by the table selector, a first look up table for the particular range from a plurality of look up tables associated with the first set of one or more input ranges, each look up table of the plurality of look up tables storing a plurality of entries, each of the entries comprising a respective function value, wherein a spacing between entries of the plurality of entries in each look up table is fixed, wherein the spacing varies in different look up tables in a manner which is inversely correlated with curvature of the function in a given input range for a respective look up table;
receiving into an input buffer of the execution unit the first input value, the first input value including a floating point number comprising an input exponent and an input mantissa;
using the first look up table to determine an output floating point number for the first input value;
providing the output floating number for correction;
determining, by the execution unit, a correction value for the first input value by searching a correction table using at least part of the first input value and selecting as the correction value either a first value from the correction table or a default value; and
applying, by the execution unit, the correction value to the output floating point number to evaluate the function;
wherein using the first look up table to determine the output floating point number comprises using at least part of the input mantissa as an index to search the first look up table, the execution unit further comprising interpolation circuitry and configured to:
search the first look up table using the first input value to select the at least one entry from the first look up table; and
perform interpolation in dependence upon the at least one entry to determine the output floating point number.