Parallelism Controller for CNN PE Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Convolutional Neural Networks (CNNs), the utilization percentage of Processing Elements (PEs) decreases due to the imbalance between the number of Kernels and the size of Feature Maps, leading to inefficient parallel computation in the Convolutional Layer.
Innovation Solution
An information processing apparatus and method that employs a Parallelism Controller to determine whether pixels in Output matrix data should be calculated individually or in groups, optimizing the distribution of computations across PEs based on the dimensions of Input and Output matrix data and the number of Kernels, thereby selecting the appropriate parallelism scheme to maximize PE utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of Kernels is small in the Convolutional Layer, then the computation amount is reduced, but the number of used PEs decreases and PE utilization percentage decreases
Solution Approach 1:
The patent dynamically switches between two parallelism schemes (Scheme 1 and Scheme 2) based on the relationship between the number of Kernels and PEs. When the number of Kernels is less than the number of PEs, it switches to Scheme 2 where multiple PEs share the same Kernel to ensure full PE utilization. This dynamic adaptation resolves the contradiction by adjusting the computation distribution strategy according to the actual workload.
Solution Approach 2:
The patent changes the parallelism scheme parameter based on the Kernel-PE count relationship. By monitoring whether the number of Kernels is greater than or less than the number of PEs, the system adjusts the computation distribution method accordingly, transforming the fixed parallelism approach into a variable one that maintains optimal PE utilization across different computational scenarios.
2Quantity of substance
If the Data size of Feature Maps is reduced by compression in the Subsampling Layer, then the computation amount is reduced, but the number of Feature Maps increases requiring more Kernels
Solution Approach 1:
The patent implements dynamic scheme switching that adapts to the changing computational conditions at different network depths. As the network progresses and Feature Maps are compressed with increasing depth, the system dynamically adjusts the parallelism scheme to match the evolving Kernel-PE relationship, ensuring consistent high utilization of PEs throughout the entire CNN processing pipeline.
Solution Approach 2:
The patent segments the computation into two distinct schemes that can be independently selected based on conditions. Scheme 1 handles cases where Kernels >= PEs, while Scheme 2 handles cases where Kernels < PEs. This segmentation allows the system to optimize for different computational scenarios that arise during CNN processing, particularly as Feature Maps are compressed and their dimensions change through multiple layers.
3Ease of operation
If a fixed parallelism scheme is used for all layers, then the system is simple to control, but PE utilization percentage decreases in shallow layers with small number of Kernels
Solution Approach 1:
The patent introduces dynamic adaptability by automatically selecting between Scheme 1 and Scheme 2 based on the Kernel-PE count relationship. This eliminates the need for manual configuration or complex control logic while maintaining high PE utilization. The system self-adjusts to the appropriate parallelism scheme, combining the benefits of automated optimization with operational simplicity.
Data Source
AI summary
An object is to provide an information processing apparatus capable of preventing utilization percentage of PEs from decreasing in a series of processes in CNN. An information processing apparatus (1) according to the present disclosure includes a PE (Processing Element) Grid (20) configured to perform a convolution by using a plurality of Kernels for Input matrix data and thereby generate a different Output matrix data for each of the used Kernels, the PE Grid (20) including a plurality of PEs configured to calculate pixels constituting the Output matrix data, and a Parallelism Controller (10) configured to determine, based on the Input matrix data or a dimension of the Output matrix data, and the number of the Kernels, whether pixels included in respective Output matrix data should be parallelly calculated or a plurality of pixels included in one Output matrix data should be parallelly calculated.


