ANN Weight Array Tiling for Computational Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies, including CPUs, GPUs, and FPGAs, face challenges in efficiently processing artificial neural networks (ANNs) due to high computational loads, power consumption issues, and lack of integration with AI software environments, limiting their ability to handle massive data movements and parallel computations effectively.

Innovation Solution

A system and method that modify the structure of ANNs by reordering, splitting, or inserting arrays of weights to reduce computational operations, allowing weights to be processed in a single cycle while maintaining output equality, thereby reducing the overall computational complexity and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPUs are used to process large ANNs, then throughput capacity is improved, but power consumption increases excessively

Engineering Contradiction:
Improvethroughput capacityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the weight arrays into multiple sub-arrays and distributes them across multiple processing elements. Each processing element handles a portion of the computation, allowing the system to achieve high throughput through parallel processing while each individual element consumes less power, thereby resolving the contradiction between throughput capacity and power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional organization of weight arrays by creating tiled structures with multiple sub-arrays. This dimensional transformation allows weights to be organized in a way that enables parallel access and computation across multiple processing elements, achieving high throughput without requiring a single high-power processor.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If FPGAs are used to compute ANNs, then parallel computation capability is improved, but programming complexity increases significantly

Engineering Contradiction:
Improveparallel computation capabilityVSAvoidprogramming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal weight array structure with standardized tiling and sub-array organization that can be applied to different ANN configurations. This universal approach allows the same programming methodology to work across various FPGA implementations, reducing programming complexity while maintaining parallel computation capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent changes the organizational parameters of weight arrays from traditional flat structures to tiled multi-dimensional structures. This parameter transformation enables systematic parallel processing on FPGAs while providing a regular, predictable pattern that simplifies programming compared to custom parallel architectures.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If weight arrays are processed in traditional sequential manner, then programming simplicity is maintained, but computational efficiency decreases

Engineering Contradiction:
Improveprogramming simplicityVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent performs preliminary organization of weight arrays into tiled structures with multiple sub-arrays before the actual computation begins. This pre-processing step creates an optimized data layout that enables efficient parallel access during computation, improving computational efficiency while the tiling process itself can be performed once during initialization rather than during each computation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent transforms the traditional one-dimensional sequential weight array into a multi-dimensional tiled structure. This dimensional change enables parallel processing by organizing weights in a way that allows simultaneous access from multiple processing elements, thereby improving computational efficiency while maintaining programming simplicity through regular pattern repetition.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11748623B2Modifying structure of artificial neural networks by collocating parameters
Publication Date: 2023.09.05 XILINX INC
  • US11748623B2 patent drawing
  • US11748623B2 patent drawing
  • US11748623B2 patent drawing

AI summary

Systems and methods for modifying a structure of an artificial neural network (ANN) are provided. An example method comprises receiving, by one or more processing units, a plurality of arrays of weights associated with the ANN, modifying, by the processing units, the plurality of arrays of weights to generate a further plurality of further arrays of weights, where after the modification the following conditions are satisfied: an amount of operations required for computing neurons of the ANN using the further plurality of further arrays of weights is less than an amount of operations required for computing same neurons of the ANN using the plurality of arrays of weights; and outputs of the neurons of the ANN computed using the plurality of arrays of weights are substantially equal to further outputs of the neurons of the ANN using the further plurality of further arrays of weights.