Complex Dot Product Reordering for Lower-ALU Energy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Complex dot products in digital signal processing, particularly in wireless communications, are time-consuming and energy-intensive due to the large number of operations required by Arithmetic Logic Units (ALUs).
Innovation Solution
A computational method for performing a complex dot product that iteratively performs a first set of operations N times and then performs a second set of operations only once, reducing the number of high-energy operations and increasing the speed by altering the order of operations and reusing results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional iterative methods are used to perform complex dot products, then the calculation can be completed accurately, but the energy consumption and processing time increase significantly
Solution Approach 1:
The patent divides the complex dot product calculation into two distinct phases: a first plurality of operations performed iteratively N times to calculate intermediate results, and a second plurality of operations performed once to compute the final real and imaginary components. This segmentation allows the system to perform necessary calculations while minimizing redundant operations, thereby reducing energy consumption while maintaining accuracy.
Solution Approach 2:
The patent performs preliminary calculations by executing the first plurality of operations iteratively to compute intermediate results that are stored in memory. These preliminary results are then reused in the second plurality of operations, avoiding the need to perform all calculations from scratch and thus reducing overall energy consumption while preserving calculation accuracy.
2Measurement precision
If traditional iterative methods are used to perform complex dot products, then the calculation can be completed accurately, but the processing time increases significantly
Solution Approach 1:
The patent segments the computation into two phases: iterative operations to compute intermediate results and a single execution of final operations. This segmentation reduces the total number of operations executed, thereby reducing processing time while maintaining calculation accuracy through the systematic computation of intermediate values.
Solution Approach 2:
The patent performs preliminary computations iteratively to generate intermediate results that are stored and reused. By preparing these intermediate results in advance, the system avoids redundant calculations and reduces overall processing time while ensuring accuracy through systematic computation.
3Productivity
If the number of operations is reduced to save energy and time, then efficiency improves, but the complexity of the computational method increases
Solution Approach 1:
The patent segments the computational method into two distinct phases with specific operations: a first plurality of operations performed iteratively and a second plurality of operations performed once. This segmentation provides a structured approach that reduces overall operation count and improves efficiency while managing method complexity through clear phase separation.
Solution Approach 2:
The patent employs preliminary actions by performing iterative operations to compute intermediate results that are stored and reused in subsequent operations. This approach reduces the total number of operations needed, improving computational efficiency while managing complexity through the systematic preparation and reuse of intermediate values.
Data Source
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.


