Dynamic precision management for integer deep learning primitives
AssigneeIntel Corporation
InventorsNaveen K. Mellempudi, Dheevatsa Mudigere, Dipankar Das, Srinivas Sridharan
Life of this patent
Estimating the term…
Abstract
One embodiment provides for a graphics processing unit to perform computations associated with a neural network, the graphics processing unit comprising a hardware processing unit having a dynamic precision fixed-point unit that is configurable to convert elements of a floating-point tensor to convert the floating-point tensor into a fixed-point tensor.
Claims26
A graphics processing unit comprising:
- an interface coupled to an interconnect fabric;
- and
- a graphics core cluster including a plurality of multiprocessors that are interconnected via a data interconnect, a multiprocessor of the plurality of multiprocessors including circuitry configured to:
- receive an input tensor associated with an operation to be performed via the graphics core cluster, the input tensor including data elements in a floating-point format;
- divide the data elements of the input tensor into multiple blocks of data elements;
- determine a shared exponent for each of the multiple blocks of data elements;
- generate metadata for the multiple blocks to indicate the shared exponent for each of the multiple blocks of data elements;
- perform a compute operation on input including at least one of the multiple blocks of data elements and the metadata;
- and
- generate an output tensor via the compute operation.
A method comprising:
- receiving an input tensor associated with an operation to be performed via a graphics core cluster including a plurality of multiprocessors that are interconnected via a data interconnect, the input tensor including data elements in a floating-point format;
- dividing the data elements of the input tensor into multiple blocks of data elements;
- determining a shared exponent for each of the multiple blocks of data elements;
- generating metadata for the multiple blocks to indicate the shared exponent for each of the multiple blocks of data elements;
- performing a compute operation on input including at least one of the multiple blocks of data elements and the metadata;
- and
- generating an output tensor via the compute operation.
A graphics processing system comprising:
- a memory device;
- and
- a graphics core cluster coupled with the memory device, the graphics core cluster including a plurality of multiprocessors that are interconnected via a data interconnect, a multiprocessor of the plurality of multiprocessors including circuitry configured to:
- receive an input tensor associated with an operation to be performed via the graphics core cluster, the input tensor including data elements in a floating-point format;
- divide the data elements of the input tensor into multiple blocks of data elements;
- determine a shared exponent for each of the multiple blocks of data elements;
- generate metadata for the multiple blocks to indicate the shared exponent for each of the multiple blocks of data elements;
- perform a compute operation on input including at least one of the multiple blocks of data elements and the metadata;
- and
- generate an output tensor via the compute operation.
A non-transitory machine-readable medium having code stored thereon which, when executed by a machine, causes the machine to perform operations, comprising:
- receiving an input tensor associated with an operation to be performed by a processing circuit comprising one or more field programmable gate arrays (FPGAs), programmable processors, or a graphics core cluster, the graphics core cluster including a plurality of multiprocessors that are interconnected via a data interconnect, the input tensor including data elements in a floating-point format;
- dividing the data elements of the input tensor into multiple blocks of data elements;
- determining a plurality of exponents, each exponent of the plurality of exponents shared by data elements of a corresponding block of data elements;
- generating metadata for the multiple blocks of data elements, the metadata indicating the plurality of exponents;
- performing compute operations based on the input tensor, including a compute operation based on at least one of the multiple blocks of data elements and the metadata;
- and
- generating an output tensor from the compute operation.
Dependencies are inferred from the claim text.