Configurable Summing Unit for CNN Layer Adaptability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Compute-in-Memory (CIM) systems have a fixed configuration that does not allow for adjustments in the number of inputs and adders in the summing unit, which is inadequate for the varying size and operational requirements of different convolution layers in Convolutional Neural Networks (CNNs).
Innovation Solution
The implementation of a programmable or configurable summing unit within CIM systems that can be set during operation to accommodate different numbers of inputs, adders, and outputs for each convolution layer, enabling flexible operation across multiple layers using the same memory device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a fixed configuration summing unit is used in CIM systems, then the device complexity is reduced and manufacturing is easier, but the adaptability to different convolution layer requirements deteriorates
Solution Approach 1:
The summing unit is designed with dynamic reconfigurability, allowing the number of adders and inputs to be adjusted during operation. Control logic dynamically enables or disables specific adders based on the required configuration for each convolution layer, transforming a static structure into an adaptable one that matches varying computational requirements.
Solution Approach 2:
A single summing unit is designed to perform multiple functions by accommodating different numbers of inputs and adders. Instead of requiring separate summing units for each convolution layer configuration, one universal summing unit can be reconfigured to handle various layer sizes and computational demands, improving versatility without proportionally increasing device complexity.
2Productivity
If the summing unit is configured for maximum capacity, then it can handle the largest convolution layers, but it cannot efficiently accommodate smaller convolution layers, wasting computational resources
Solution Approach 1:
The summing unit employs dynamic configuration where control logic adjusts the number of active adders and inputs based on the specific requirements of each convolution layer. This allows the system to optimize computational resources for each layer size, preventing waste from over-provisioning while maintaining the capability to handle maximum capacity when needed.
3Adaptability or versatility
If separate summing units are provided for each convolution layer configuration, then adaptability is improved, but device complexity and memory resource requirements increase
Solution Approach 1:
Instead of implementing multiple dedicated summing units for different convolution layer configurations, the invention employs a single universal summing unit that can be reconfigured to handle various layer sizes. This is achieved through control logic that dynamically adjusts the number of active adders and inputs, providing multi-functionality without proportionally increasing device complexity or memory resource requirements.
Solution Approach 2:
Multiple summing unit functionalities are merged into a single reconfigurable unit. By combining the capabilities of what would otherwise require separate summing units into one unified structure with dynamic configuration, the system reduces device complexity while maintaining adaptability to support multiple convolution layer configurations.
Data Source
AI summary
A device includes a multiplication unit and a configurable summing unit. The multiplication unit is configured to receive data and weights for an Nth layer, where N is a positive integer. The multiplication unit is configured to multiply the data by the weights to provide multiplication results. The configurable summing unit is configured by Nth layer values to receive an Nth layer number of inputs and perform an Nth layer number of additions, and to sum the multiplication results and provide a configurable summing unit output.


