Convolutional Layer Acceleration Unit for Embedded Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Convolutional neural networks face significant computational challenges during forward propagation, particularly in embedded systems with limited resources, where the convolutional layer dominates processing time and requires efficient acceleration techniques to optimize performance.
Innovation Solution
A convolutional layer acceleration unit utilizing OpenCL devices for parallel processing, managed by a Lightweight Intelligent Software Framework (LISF), which initializes and configures entities for parallel mathematical operations, allocates device memory, and executes kernels across multiple OpenCL devices to maximize parallelism and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If convolutional neural network forward propagation is performed using traditional sequential processing, then processing accuracy is maintained, but processing time is excessive and computational efficiency is low
Solution Approach 1:
The patent divides the convolutional layer processing into multiple independent workgroups, where each workgroup processes a specific portion of the convolutional operations. This segmentation enables parallel execution across multiple OpenCL devices, significantly reducing the overall forward propagation time while maintaining processing accuracy.
Solution Approach 2:
The patent transitions from sequential single-device processing to parallel multi-device processing by utilizing the spatial dimension of multiple OpenCL devices. This dimensional expansion allows simultaneous execution of multiple workgroups across different devices, dramatically improving processing throughput.
2Productivity
If parallel processing is implemented across multiple OpenCL devices, then processing efficiency is improved, but system complexity increases
Solution Approach 1:
The patent introduces a Convolutional Layer Parallel Processing Execution Unit as an intermediary layer between the application and the OpenCL devices. This execution unit automatically manages the complexity of parallel processing by handling workgroup distribution, device configuration, and coordinate the processing across multiple devices, thereby shielding users from system complexity while maintaining high productivity.
Solution Approach 2:
The execution unit implements self-service mechanisms by automatically analyzing convolutional layer information, determining optimal parallel processing configurations, and configuring OpenCL devices without requiring professional knowledge from users. This automation reduces the perceived system complexity while maintaining efficient parallel processing.
3Ease of operation
If automatic analysis of convolutional layer features is performed, then ease of use is improved, but computational overhead increases
Solution Approach 1:
The patent performs automatic analysis of convolutional layer features as a preliminary action during the initialization phase, before the actual forward propagation begins. This preliminary analysis enables the system to pre-config optimal parallel processing parameters and workgroup distributions, thereby improving ease of use without adding significant overhead during the actual processing phase.
Data Source
AI summary
Disclosed herein are a convolutional layer acceleration unit, an embedded system having the convolutional layer acceleration unit, and a method for operating the embedded system. The method for operating an embedded system, the embedded system performing an accelerated processing capability programmed using a Lightweight Intelligent Software Framework (LISF), includes initializing and configuring, by a parallelization managing function entity (FE), entities present in resources for performing mathematical operations in parallel, and processing in parallel, by an acceleration managing FE, the mathematical operations using the configured entities.


