Modulo-space processing in multiply-and-accumulate units
AssigneeQUALCOMM Incorporated
InventorsEdwin Chongwoo PARK, Ravishankar SIVALINGAM
Life of this patent
Estimating the term…
Abstract
Certain aspects of the present disclosure provide techniques and apparatus for performing mathematical operations on processing units based on data in the modulo space. An example method includes receiving a binary-space input to process (e.g., using a neural network or other processing system). The binary-space input is converted into a modulo-space input based on a set of coprimes defined for executing operations in a modulo space. A modulo-space result is generated through one or more modulo-space multiply-and-accumulate (MAC) units based on the modulo-space input. The modulo-space result is converted into a binary-space result, and the binary-space result is output.
Claims30
A computer-implemented method, comprising:
- receiving a binary-space input for processing;
- converting the binary-space input into a modulo-space input based on a set of coprimes defined for executing operations in a modulo space;
- generating a modulo-space result through one or more modulo-space multiply-and-accumulate (MAC) units based on the modulo-space input;
- converting the modulo-space result into a binary-space result;
- and
- outputting the binary-space result.
A processing system comprising:
- a memory comprising computer-executable instructions;
- and
- one or more processors configured to execute the computer-executable instructions in order to cause the processing system to:
- receive a binary-space input for processing;
- convert the binary-space input into a modulo-space input based on a set of coprimes defined for executing operations in a modulo space;
- generate a modulo-space result through one or more modulo-space multiply-and-accumulate (MAC) units based on the modulo-space input;
- convert the modulo-space result into a binary-space result;
- and
- output the binary-space result.
A processing system comprising:
- means for receiving a binary-space input for processing;
- means for converting the binary-space input into a modulo-space input based on a set of coprimes defined for executing operations in a modulo space;
- means for generating a modulo-space result based on the modulo-space input;
- means for converting the modulo-space result into a binary-space result;
- and
- means for outputting the binary-space result.
A non-transitory computer-readable medium comprising computer-executable instructions that, when executed by one or more processors of a processing system, cause the processing system to perform an operation comprising:
- receiving a binary-space input to process;
- converting the binary-space input into a modulo-space input based on a set of coprimes defined for executing operations in a modulo space;
- generating a modulo space result through one or more modulo-space multiply-and-accumulate (MAC) units based on the modulo-space input;
- converting the modulo-space result into a binary-space result;
- and
- outputting the binary-space result.
Dependencies are inferred from the claim text.