Hyperdimensional Computing Tile Shuffling for Efficient Analog MACs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing approaches to hyperdimensional computing in analog in-memory computing face challenges in efficiently performing computationally expensive operations such as multiply-accumulate operations, leading to inefficiencies in energy consumption and computational accuracy.
Innovation Solution
The method involves reordering weights and activations associated with rows and tiles in the processing core to optimize computation, allowing for early termination and more even distribution of computation/currents, thereby improving energy efficiency and accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If weights and activations are processed in conventional order without reordering, then the processing sequence is simple, but computational efficiency and energy efficiency are reduced
Solution Approach 1:
The patent applies preliminary action by reordering weights and activations before the multiply-accumulate operations execute. The system pre-processes the data by sorting weights and activations based on their magnitudes and distributing them across tiles in advance, which optimizes the subsequent computational process and improves energy efficiency without adding complexity during the main computation.
Solution Approach 2:
The patent changes the ordering parameter of weights and activations from conventional sequential order to an optimized order based on magnitude. By transforming the data representation and distribution parameters before computation, the system achieves better computational efficiency and energy utilization while maintaining the same hardware architecture.
2Reliability
If all tiles are used for computation, then computational accuracy is maintained, but energy consumption increases
Solution Approach 1:
The patent applies partial action by selectively activating only the necessary number of tiles for computation rather than using all available tiles. The system determines the optimal number of tiles needed based on the reordered weights and activations, allowing early termination of computation when sufficient accuracy is achieved, thereby reducing energy consumption while maintaining computational reliability.
Solution Approach 2:
The patent implements feedback mechanisms to monitor computational progress and determine when early termination is appropriate. By continuously evaluating the computation results and comparing them against accuracy thresholds, the system dynamically adjusts the number of active tiles, optimizing the balance between computational accuracy and energy consumption.
3Productivity
If weights are uniformly distributed across all tiles, then the distribution is simple, but current imbalance and computational inefficiency occur
Solution Approach 1:
The patent applies local quality by distributing weights and activations non-uniformly across different tiles based on their local characteristics and computational importance. The system identifies which tiles should handle which computations based on the magnitude and distribution of weights, optimizing the local computation quality on each tile rather than applying a uniform distribution strategy.
Solution Approach 2:
The patent introduces asymmetry in the weight distribution across tiles, moving from a symmetric uniform distribution to an asymmetric distribution that matches the actual computational needs. By strategically placing larger weights on certain tiles and smaller weights on others, the system optimizes current balance and computational efficiency, accepting increased distribution complexity for significant performance gains.
Data Source
AI summary
A computer-implemented method is provided which includes receiving array information associated with a processing core, the processing core including a plurality of tiles configured for performing one or more multiply-accumulate (MAC) operations. The method includes indexing the tiles, rows of the tiles, or both according to one or more metrics. The method includes performing an ordering based on the one or more metrics, where the ordering includes at least one of: an ordering of weights respectively associated with the rows; and an ordering of weights respectively associated with the tiles.


