Tensor Partitioning Reorder Memory for Reconfigurable Processor Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Reconfigurable processors face underutilization of hardware resources due to idle periods in general-purpose and reconfigurable hardware, leading to inefficiencies in processing applications that require different configurations.
Innovation Solution
The system employs tensor partitioning and partition access ordering to efficiently distribute and process large tensors across multiple configurable units, utilizing a reorder memory unit to ensure correct access order and maximize resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tensor partitioning and concurrent processing are implemented, then productivity is improved, but device complexity increases due to multiple configurable units and reorder memory requirements
Solution Approach 1:
The tensor is divided into multiple partitions that can be processed concurrently by different configurable units. Each partition is independently managed and can be accessed in parallel, enabling throughput scaling with the number of partitions while maintaining manageable complexity through systematic organization
Solution Approach 2:
A reorder memory unit is introduced as an intermediary component between memory and configurable units. This mediator handles the complex reordering of partitioned data streams, allowing configurable units to process data in the correct sequence without requiring complex coordination logic, thus improving productivity while containing complexity growth
2Manufacturing precision
If reconfigurable hardware is used for specialized processing, then manufacturing precision is improved for specific workloads, but adaptability decreases due to dedicated hardware configurations
Solution Approach 1:
The system employs dynamically reconfigurable units that can change their configuration between different workloads. The configurable units can be programmed to implement different tensor processing functions, allowing the hardware to adapt to various computational requirements while maintaining optimized processing paths for each specific configuration
Solution Approach 2:
The configurable units are designed to perform multiple functions through reconfiguration. The same physical hardware resources can be allocated to different tensor processing tasks by changing their configuration, enabling a single system to handle diverse workloads with high efficiency for each specific task
3Loss of time
If partitions are processed in parallel, then loss of time is reduced, but reliability may worsen due to challenges in maintaining correct partition access order
Solution Approach 1:
The reorder memory unit implements feedback mechanisms to track and verify the correct ordering of partitioned data streams. By monitoring the sequence of data elements and comparing against expected patterns, the system ensures reliable reconstruction of original data order while maintaining parallel processing benefits
Solution Approach 2:
Data partitions are pre-organized and tagged with ordering information before being distributed to configurable units. This preliminary organization enables the reorder memory unit to efficiently reconstruct the correct sequence without requiring complex real-time coordination during processing, thus maintaining both speed and reliability
Data Source
AI summary
A method of processing partitions of a tensor in a target order includes receiving, by a reorder unit and from two or more producer units, a plurality of partitions of a tensor in a first order that is different from the target order, storing the plurality of partitions in the reorder unit, and providing, from the reorder unit, the plurality of partitions in the target order to one or more consumer units. In an example, the one or more consumer units process the plurality of partitions in the target order.


