Complex Dot Product Sequencing for Lower-Energy ALU Computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complex dot product operation in digital signal processing is time-consuming and energy-intensive due to the large number of operations required, particularly in applications like wireless communications, where it consumes significant energy and resources.
Innovation Solution
A computational method for performing a complex dot product that iteratively performs a first set of operations N times to calculate a set of results, followed by a second set of operations performed only once to determine the Real and Imaginary components, reducing the number of operations and energy consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If the complex dot product is performed using conventional iterative methods, then the operation can be completed, but the energy consumption and time required are excessive
Solution Approach 1:
The complex dot product calculation is segmented into two distinct phases: an iterative phase that performs N multiplications and accumulations, and a non-iterative phase that performs the final addition and subtraction operations once. This segmentation allows high-energy multiplication operations to be limited to N executions rather than being repeated in a traditional iterative loop, thereby reducing overall energy consumption while maintaining computational accuracy
Solution Approach 2:
The patent performs preliminary accumulation of partial products during the iterative phase, storing intermediate results in memory. The final combination of these accumulated values is then performed in a separate non-iterative phase. This preliminary action allows the computationally intensive multiplication operations to be completed once per element rather than repeatedly, improving both energy efficiency and computation speed
2Reliability
If all operations are performed iteratively N times, then completeness is ensured, but the number of operations and energy consumption increase
Solution Approach 1:
The calculation is divided into segments where iterative operations are strictly limited to the multiplication and accumulation phase (performed N times for N elements), while the final combination phase (addition and subtraction) is executed only once. This segmentation ensures calculation completeness is maintained for all N elements while eliminating redundant energy-consuming operations in the final phase
Solution Approach 2:
The patent extracts the final addition and subtraction operations from the iterative loop, performing them separately after the iterative multiplication-accumulation phase is complete. This extraction ensures that these operations are performed exactly once rather than being repeated N times, reducing energy waste while maintaining the reliability of the complete dot product calculation
3Measurement precision
If multiplication operations are performed repeatedly, then accuracy is maintained, but energy consumption increases significantly
Solution Approach 1:
The patent performs preliminary multiplication and accumulation operations during the iterative phase, storing the accumulated partial products in memory. These preliminary actions ensure that all necessary multiplicative computations are completed with full precision before the final combination phase, maintaining calculation accuracy while avoiding redundant multiplications in subsequent phases
Data Source
Figure 1
Figure 2
Figure 3
AI summary
There is provided herein a computational method for performing a complex dot product on two vectors, each of the two vectors having a dimension N and comprising vector elements, at least one of the vector elements having an imaginary part, j, the computational method being performed by one or more arithmetic logic units, ALUs. The method comprises: iteratively performing N times a first plurality of operations, Sx, by the one or more ALUs, on the vector elements of the two vectors, to calculate a first set of results, the first set of results being stored in memory associated with the one or more ALUs; performing a second plurality of operations, by the one or more ALUs, on the first set of results to calculate a Real component of the complex dot product and an imaginary component of the complex dot product, wherein each of the second plurality of operations is performed a single time. There is also provided a computer processor comprising one or more arithmetic units, each configured to perform the computational method.