Reconfigurable Neural Core Partitioning for Layer-Specific Parallelism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel computational architectures for neural networks face limitations in utilizing available parallelism due to fixed sizes and configurations, which hinder efficient execution of neural network computations, especially as layer dimensions vary significantly within a network.

Innovation Solution

A reconfigurable parallel computational architecture that partitions neural cores and vector units based on layer dimensions, allowing for dynamic allocation and efficient mapping of data and operations across cores and vector units, enabling both core-level and vector-level parallelism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed-size parallel computational architecture is used, then device simplicity is maintained, but adaptability to varying layer dimensions deteriorates

Engineering Contradiction:
Improveadaptability to layer dimensionsVSAvoidarchitecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The parallel computational architecture implements dynamic reconfiguration of core groups and vector units based on the dimensional characteristics of each neural network layer. The system can adaptively adjust the number of active cores and vector unit configurations to match the computational requirements of different layer sizes, transforming a static architecture into a dynamic one that responds to varying workloads.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The computational architecture is divided into multiple independent core groups, where each group can be independently configured and activated. This segmentation allows the system to selectively enable only the necessary number of core groups for each layer computation, providing flexibility in adapting to different layer dimensions while maintaining manageable system complexity through modular organization.

Inventive Principle:
Principle #1Segmentation

2Productivity

If fixed configuration of vector units is used, then device complexity is reduced, but productivity varies significantly with layer dimensions

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidconfiguration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The vector units are configured dynamically based on the dimensional characteristics of each neural network layer. The system adjusts the number of vector units and their operational parameters to match the computational density requirements of different layers, ensuring optimal productivity for each layer while maintaining a relatively simple base configuration that can be adaptively scaled.

Inventive Principle:
Principle #15Dynamics

3Productivity

If cores are not partitioned based on layer dimensions, then ease of operation is maintained, but core utilization efficiency deteriorates

Engineering Contradiction:
Improvecore utilizationVSAvoidconfiguration management
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The total set of computational cores is segmented into multiple core groups that can be independently controlled and configured. This segmentation enables the system to partition and activate only the necessary number of core groups for each layer computation, improving core utilization efficiency while maintaining ease of operation through automated or semi-automated partitioning strategies that reduce manual configuration complexity.

Inventive Principle:
Principle #1Segmentation

4Loss of time

If vector units are not adaptively configured, then device complexity is minimized, but loss of time occurs due to underutilization

Engineering Contradiction:
Improveprocessing timeVSAvoidreconfiguration complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The vector unit configuration is made dynamic and adaptive to the dimensional characteristics of each neural network layer. The system automatically reconfigures the number and arrangement of vector units based on the computational requirements of the current layer, minimizing processing time by ensuring optimal utilization of vector computing resources while managing reconfiguration complexity through systematic adaptation strategies.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11847553B2Parallel computational architecture with reconfigurable core-level and vector-level parallelism
Publication Date: 2023.12.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11847553B2 patent drawing
  • US11847553B2 patent drawing
  • US11847553B2 patent drawing

AI summary

Neural network processing hardware using parallel computational architectures with reconfigurable core-level and vector-level parallelism is provided. In various embodiments, a neural network model memory is adapted to store a neural network model comprising a plurality of layers. Each layer has at least one dimension and comprises a plurality of synaptic weights. A plurality of neural cores is provided. Each neural core includes a computation unit and an activation memory. The computation unit is adapted to apply a plurality of synaptic weights to a plurality of input activations to produce a plurality of output activations. The computation unit has a plurality of vector units. The activation memory is adapted to store the input activations and the output activations. The system is adapted to partition the plurality of cores into a plurality of partitions based on dimensions of the layer and the vector units.