Parallel Object Matching Using Alternating Trees and Matrix Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Matching algorithms, such as the Hungarian algorithm, are computationally expensive and challenging to deploy effectively on parallel processing systems, particularly due to their sequential nature, which hinders efficient object detection and autonomous vehicle operations.
Innovation Solution
Implementing a parallel processing system that utilizes a graph-based approach, including an alternating tree and bitwise matrix multiplications, to optimize matching operations by reducing reliance on global memory and enhancing computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If matching algorithms are implemented on parallel processing systems using conventional methods, then the algorithms can be deployed, but the computational expense and processing time remain high due to sequential operations and global memory reliance
Solution Approach 1:
The patent segments the matching algorithm into independent parallel tasks that can be executed simultaneously on multiple processing units. Each processing unit handles specific rows or columns of the cost matrix independently, eliminating sequential dependencies and enabling true parallel execution that improves productivity while reducing computation time.
Solution Approach 2:
The patent transitions from sequential single-threaded execution to multi-dimensional parallel processing by utilizing multiple processing units that can operate simultaneously. This dimensional change from 1D sequential processing to 2D/3D parallel processing across multiple cores and memory hierarchies dramatically increases processing throughput and reduces computation time.
2Ease of operation
If conventional matching algorithms use global memory for processing, then data access is simplified, but memory access redundancy and synchronization overhead increase significantly
Solution Approach 1:
The patent assigns dedicated local memory resources to each processing unit, allowing each unit to access its assigned data locally without competing for global memory bandwidth. This localizes data access patterns, reducing memory access redundancy and synchronization overhead while maintaining ease of operation through clear data ownership boundaries.
Solution Approach 2:
The patent introduces local memory as an intermediary layer between global memory and processing units. This intermediary buffers and caches data locally, reducing direct global memory access requirements and eliminating the need for complex synchronization protocols, thereby reducing device complexity while preserving data access simplicity.
3Ease of manufacture
If sequential matching algorithms are used, then implementation is straightforward, but processing efficiency and throughput are limited
Solution Approach 1:
The patent divides the matching algorithm into segmentable independent tasks that map naturally to parallel processing units. Each segment processes specific portions of the cost matrix independently, maintaining implementation simplicity through modular design while achieving high throughput through parallel execution of multiple segments simultaneously.
Solution Approach 2:
The patent designs a universal parallel processing framework that can handle various matching algorithm variants and cost matrix sizes. This multi-functional approach maintains ease of implementation through a single parallelized code structure that adapts to different problem sizes and types while maximizing productivity through efficient resource utilization.
Data Source
AI summary
In various examples, systems and methods are disclosed relating to detecting objects on parallel processing systems. The systems can generate a graph of a cost matrix associating a plurality of first object elements with a plurality of second object elements. The graph can include a plurality of first nodes representing rows of the cost matrix and a plurality of second nodes representing columns of the cost matrix. The systems can determine a matching between the plurality of first nodes and the plurality of second nodes based at least on the cost matrix. The systems can then update the matching by generating an alternating tree and performing one or more matrix multiplications to update the matching based on the alternating tree detecting an unmatched second node of the graph.


