Binary Array Dissolution Coding for Memory Traffic Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for compressing and accessing large binary arrays are inefficient, leading to high memory traffic and computational redundancy, particularly in low-end or embedded processors, and fail to optimize for both compression and computational performance simultaneously.
Innovation Solution
The method employs dissolution coding to represent binary arrays as easily computable generating functions, which are then codified into branch-free programs for optimal packing, allowing for fast bitwise operations and reduced memory traffic, and is applicable to both binary and non-binary arrays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If binary arrays are stored in compressed format to reduce memory overhead, then space efficiency is improved, but transfer costs between host and device increase
Solution Approach 1:
The binary array is divided into multiple segments or blocks, each independently compressed and stored. This segmentation allows selective transfer of only the required segments between host and device, reducing overall transfer time while maintaining compression benefits for the entire array.
Solution Approach 2:
The binary array is pre-compressed into an efficient format before transfer to the device. By performing compression in advance on the host system, the actual transfer time is reduced as smaller data volumes need to be transmitted, while the compressed format is preserved for efficient device-side operations.
2Power
If deep neural networks are employed to process large datasets, then computational power is improved, but inference time and computational redundancy increase
Solution Approach 1:
The patent extracts and removes redundant computational operations from the neural network processing pipeline. By identifying and eliminating unnecessary computations in the deep neural network, the system maintains high computational power for essential operations while significantly reducing inference time and computational redundancy.
Solution Approach 2:
Instead of performing complete neural network inference on entire large datasets, the system applies partial processing to subsets of data or uses approximate computing techniques. This approach maintains sufficient computational accuracy while dramatically reducing inference time by avoiding excessive computational actions.
3Ease of operation
If large binary matrices are transferred between host and device, then data availability is improved, but processing time increases
Solution Approach 1:
The patent applies different quality levels or compression ratios to different regions or portions of the binary matrix based on their access patterns and importance. Frequently accessed or critical regions are maintained in higher quality with faster access, while less critical regions use higher compression, optimizing the balance between data availability and processing time.
Data Source
AI summary
In one aspect, a computerized method includes the step of obtaining a binary array, wherein the binary array is utilized for a subsequent set of operations. The method includes the step of performing a dissolution coding on the binary array to yield a one or more generating functions. The method includes the step of codifying the one or more generating functions as a branch-free program to yield an optimal packing of the binary array.


