Configurable Neural Network Engine Optimizing MAC Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional machine learning systems face challenges in efficiently performing deep learning network operations due to the high demand for multiply-accumulate (MAC) operations, which are space-intensive and require specialized hardware, especially in system-on-a-chip (SoC) devices, where space is limited, and current open-sourced AI engines are not compatible with various field-specific needs.

Innovation Solution

A configurable hardware implementation for neural networks using a controller, configuration buffer, data buffer, and multiple computational layers, including a MAC layer with multiple MAC units, that can load and apply configurations and parameters to perform computations for fully-connected neural networks (FNN) and convolutional neural networks (CNN) operations, optimizing MAC operations and supporting different network topologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a large amount of hardware components are placed to perform MAC operations, then the computational capability for neural network operations is improved, but the space consumption on SoC chip increases

Engineering Contradiction:
Improvecomputational capabilityVSAvoidspace consumption
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent implements a configurable hardware neural network engine where a single hardware platform can be reconfigured through software loading to support different neural network architectures and computational tasks. The same physical hardware components can perform various MAC operations for different applications by loading appropriate configuration data, eliminating the need for dedicated hardware for each specific computational task.

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

Solution Approach 2:

The patent changes the operational parameters of the hardware neural network engine by loading different configuration data and weights into the computational layers. This allows the same hardware circuitry to be dynamically reconfigured to perform different computational operations, effectively changing its functionality without physical modification.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If open-sourced AI engines are used, then the ease of implementation is improved, but the adaptability to field-specific needs deteriorates

Engineering Contradiction:
Improveease of implementationVSAvoidcompatibility with field-specific needs
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent creates a dynamic hardware neural network engine that can be reconfigured through software loading to adapt to different field-specific requirements. The system transitions from a static, fixed-function hardware design to a dynamic platform where computational layers can be programmed with different architectures and parameters to match specific application needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The configurable hardware engine serves as a universal platform that can be adapted to various field-specific applications by loading appropriate configurations. This single hardware system can support multiple neural network architectures and computational tasks, providing both ease of implementation and high adaptability.

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

Data Source

PatentUS20230237307A1Systems and methods for a hardware neural network engine
Publication Date: 2023.07.27 INNOGRIT CORP
  • US20230237307A1 patent drawing
  • US20230237307A1 patent drawing
  • US20230237307A1 patent drawing

AI summary

Systems, apparatus and methods are provided for performing computations of a neural network using hardware computational circuitry. An apparatus may include a controller, a configuration buffer and a data buffer. The controller may be configured to dispatch computing tasks of a neural network, load configurations into the configuration buffer and load input data and parameters including weights and biases into the data buffer. The apparatus may also include a multiply-accumulate (MAC) layer. The configurations may include at least one FNN configuration. The MAC layer may apply the at least one FNN configuration, which includes settings for a FNN operation topology for the MAC layer to perform computations for at least one FNN layer. Optionally, the neural network may be a CNN and the configurations may further include at least one CNN configuration for the MAC layer to perform computations for at least one CNN layer.