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

Claim 18:
19. A non-transitory computer readable medium storing a computer program instruction which when executed causes a method for evaluating a function to be carried out by an execution unit which executes the instruction, the method comprising:
receiving, at an input buffer, an input floating point number comprising an input exponent and an input mantissa;
determining, by the execution unit, that the input floating point number falls within a first set of one or more input ranges;
determining, by a table selector, a first input range in which the input floating point number falls in the first set of input ranges and selecting, by the table selector, a first look up table for the first input range from a plurality of look up tables, each associated with a respective range within the first set of one or more input ranges, each look up table comprising a plurality of entries, each of the entries comprising a corresponding function value at a corresponding input value,
using the first look up table to determine an output floating point number for the input floating point number,
searching, by the execution unit, a correction table using at least part of the input floating point number to determine a correction value for that input floating unit number, the correction table comprising a plurality of correction values fewer than a quantity of the entries of the lookup tables, wherein the execution unit is configured to determine the correction value by selecting either a first value stored in the correction table or a default value;
applying, by the execution unit, the correction value to the output floating point number to evaluate the function;
determining, by the execution unit, that a second input floating point number falls in a second set of input ranges; and
supplying the second input floating point number to the execution unit, which is further configured to evaluate the function using approximation;

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.