Replacing multipliers with luts in an ai engine
AssigneeXilinx, Inc.
InventorsJuan J. NOGUERA SERRA, Francisco BARAT QUESADA
Life of this patent
Estimating the term…
Abstract
Embodiments herein describe an artificial intelligence (AI) engine including circuitry to divide a first operand into multiple groups, populate a lookup table (LUT) from multiple multiplications performed by the first operand with bit-groups of a second operand, and reuse the LUT across the bit-groups of the second operand. The first operand remains static for multiple cycles. In a first cycle, the first operand is used to pre-populate the LUT and, in subsequent cycles, the second operand is used to index the LUT. Indexing the LUT includes memory accesses configured to reduce power consumption.
Claims20
An artificial intelligence (AI) engine comprising:
- circuitry configured to:
- divide a first operand into multiple groups;
- populate a lookup table (LUT) from multiple multiplications performed by the first operand with bit-groups of a second operand;
- and
- reuse the LUT across the bit-groups of the second operand.
A method comprising:
- dividing a first operand into multiple groups;
- populating a lookup table (LUT) from multiple multiplications performed by the first operand with bit-groups of a second operand;
- and
- reusing the LUT across the bit-groups of the second operand.
A processor comprising:
- one or more artificial intelligence (AI) engines, each AI engine having circuitry configured to:
- divide a first operand into multiple groups;
- populate a lookup table (LUT) from multiple multiplications performed by the first operand with bit-groups of a second operand;
- and
- reuse the LUT across the bit-groups of the second operand.
Dependencies are inferred from the claim text.