Check Buffer for Partial Data Handling in Sparse Accelerators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deep learning methods for 3D scene understanding tasks face inefficiencies due to spatial sparsity in 3D data, leading to irregular data accesses and poor energy efficiency, and existing solutions to address these issues result in increased memory transactions and power consumption.
Innovation Solution
An on-the-fly partial data handling approach using a check buffer with a pipelined arrangement of registers and control blocks to accumulate and manage partial data efficiently, avoiding memory transactions and stalls, and ensuring only unique updated values are processed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If sparse accelerator hardware converts sparse data into dense metadata format, then data access patterns are regularized, but memory transactions increase and partial data handling becomes more complex
Solution Approach 1:
The system performs preliminary actions by pre-computing and storing accumulation results in a check buffer before they are needed. This allows the main processing pipeline to continue without waiting for memory transactions, effectively handling partial data accumulation in advance and reducing the complexity of real-time partial data management.
Solution Approach 2:
The check buffer acts as an intermediary component between the sparse accelerator and the memory system. It mediates the interaction by buffering partial accumulation results, thereby reducing the frequency and complexity of memory transactions while maintaining regular data access patterns.
2Area of stationary object
If traditional partial data handling methods are used, then circuit area is minimized, but power consumption and memory transactions increase
Solution Approach 1:
The check buffer is designed to serve multiple functions: it stores accumulation results, manages partial data, reduces memory transactions, and optimizes power consumption. By making this component multi-functional, the system achieves efficient partial data handling without requiring separate dedicated circuits for each function, thereby minimizing overall circuit area while reducing power consumption.
3Productivity
If compute operations proceed without partial data accumulation, then compute utilization is maximized, but memory transactions increase and performance decreases
Solution Approach 1:
The check buffer enables continuous compute operations by buffering partial accumulation results locally. This allows the compute pipeline to continue processing without interruption for memory transactions, maintaining high compute utilization while the buffer manages the harmful effect of memory transaction overhead through local accumulation and selective writing.
Data Source
AI summary
Systems, apparatuses and methods may provide for technology that includes a first check buffer to remove first intermediate partial data and first incoming partial data from a first pipeline of the first check buffer in response to a first accumulation condition in which the first intermediate partial data and the first incoming partial data share a first address in a memory, combine the first intermediate partial data and the first incoming partial data to obtain first accumulated partial data, and insert the first accumulated partial data into the first pipeline. The first address may be in either a memory bank non-collision state or a memory bank collision state.


