Inline Data Inspection Circuit for Zero-Value Workload Simplification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deep learning applications face inefficiencies due to sparse data, where many values are zero, leading to wasteful arithmetic operations and performance issues, and existing methods to address this often require additional instructions that can harm performance.
Innovation Solution
An inline data inspection technique that automatically detects zero or threshold values during data loading, eliminating unnecessary arithmetic operations without adding extra instructions, by using an inspection circuit to set predicate values for conditional execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If arithmetic operations are performed on all data elements including zeros, then processing is simplified and uniform, but processing time and power consumption increase unnecessarily
Solution Approach 1:
The inspection circuit performs preliminary detection of zero values in data elements before they reach the arithmetic processing units. By detecting zeros in advance and setting corresponding predicate values, the system prevents unnecessary arithmetic operations from being executed, thereby improving processing efficiency while maintaining simplified processing logic for non-zero elements
2Productivity
If additional inspection instructions are added to detect zero values, then unnecessary arithmetic operations can be avoided, but instruction execution time increases
Solution Approach 1:
The inspection circuit is merged with the data loading path in the memory subsystem. Instead of adding separate inspection instructions that would increase execution time, the zero-value detection is combined with the existing data load operation. The inspection circuit operates in parallel with data retrieval, detecting zeros and setting predicate values simultaneously with the loading process, thus avoiding additional instruction overhead
Solution Approach 2:
The inspection circuit acts as an intermediary between the memory subsystem and the arithmetic processing units. It intercepts data elements during the loading phase, detects zero values, and modifies predicate values before data reaches the arithmetic units. This intermediary approach allows zero detection to occur without requiring explicit inspection instructions in the program flow
3Productivity
If predicate values are used to conditionally execute instructions, then unnecessary operations are avoided, but device complexity increases
Solution Approach 1:
The system uses self-service predicate registration where the inspection circuit automatically sets predicate values based on detected zero patterns. Instead of requiring complex conditional logic in each instruction or manual predicate management, the system autonomously manages predicate values based on data characteristics, reducing the complexity burden on the instruction execution layer while maintaining operation optimization capabilities
Data Source
AI summary
A method, computer readable medium, and processor are described herein for inline data inspection by using a decoder to decode a load instruction, including a signal to cause a circuit in a processor to indicate whether data loaded by a load instruction exceeds a threshold value. Moreover, an indication of whether data loaded by a load instruction exceeds a threshold value may be stored.


