Vector Circuit Scalar Operations Accelerator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing machine learning systems, such as artificial neural networks, rely heavily on central processing units (CPUs) for operations, leading to significant bandwidth consumption and increased power usage, particularly when performing extensive mathematical operations like those required in linear algebra.

Innovation Solution

An accelerator circuit is designed with a vector circuit capable of executing instructions for flexible operations on vector elements, incorporating a scalar circuit and memory components to perform vector operations efficiently, thereby offloading resource-intensive tasks from the CPU.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If CPU is used to perform mathematical operations in machine learning systems, then flexibility and ease of configuration are improved, but power consumption and bandwidth usage increase significantly

Engineering Contradiction:
Improveflexibility and ease of configurationVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system is divided into two distinct parts: a CPU that handles high-level control and configuration tasks, and a specialized accelerator circuit that handles computationally intensive mathematical operations. This segmentation allows the CPU to remain flexible and programmable while the accelerator circuit provides power-efficient execution of specific mathematical workloads, thereby resolving the contradiction between versatility and power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An accelerator circuit acts as an intermediary between the CPU and the mathematical operations. The CPU communicates instructions to the accelerator circuit, which then executes the computationally intensive tasks independently. This intermediary approach allows the system to maintain CPU flexibility while offloading power-consuming operations to a specialized unit designed for energy efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If CPU is used to perform extensive mathematical operations, then general-purpose computing capability is maintained, but bandwidth consumption increases

Engineering Contradiction:
Improvegeneral-purpose computing capabilityVSAvoidbandwidth consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The computing system is segmented into a general-purpose CPU for control and a specialized accelerator circuit for mathematical operations. This segmentation reduces bandwidth consumption by allowing the accelerator circuit to process data locally with minimal CPU intervention, while the CPU maintains its general-purpose capability through independent instruction execution.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If vector circuit performs flexible operations on vector elements, then operational versatility is improved, but device complexity increases

Engineering Contradiction:
Improveoperational versatilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The vector circuit is designed with a universal instruction format that can handle multiple types of operations (scalar, vector, and mixed operations) through a single unified architecture. This multi-functionality approach allows the circuit to achieve operational versatility without proportionally increasing device complexity, as the same hardware structure can execute different operation types by interpreting varying instruction parameters.

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

Data Source

PatentUS20230267168A1Vector circuit with scalar operations in accelerator circuit for mathematical operations
Publication Date: 2023.08.24 APPLE INC
  • US20230267168A1 patent drawing
  • US20230267168A1 patent drawing
  • US20230267168A1 patent drawing

AI summary

Embodiments of the present disclosure relate to a vector circuit in an accelerator circuit for performing vector and scalar operations. The vector circuit reads a subset of instructions from an instruction memory, each instruction including an identification of at least a portion of a first vector and an identification of at least a portion of a second vector. The vector circuit further receives a portion of input data from a data memory corresponding to the subset of instructions. The vector circuit performs a respective operation in accordance with each instruction on at least one first element of the first vector and at least one second element of the second vector to generate at least one output element of an output vector. Each instruction indicates positions in respective vectors for the at least one first element, the at least one second element and the at least one output element.