Tensor Instruction Compilation for Compute-in-Memory Parallelism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The current compute-in-memory architecture is limited by low processing parallelism due to the use of scalar instruction sets, which results in inefficient data transfer and high power consumption, and the storage-computing separated architecture restricts performance and energy efficiency improvement.

Innovation Solution

An operator compilation method is employed to generate tensor instructions for a compute-in-memory system, utilizing a compilation operator to improve processing parallelism by compiling source code into tensor instructions, including operation codes, tensor addresses, data types, and lengths, and storing these instructions in an instruction storage list.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If scalar instruction sets are used in compute-in-memory architecture, then the architecture can be implemented, but processing parallelism remains low

Engineering Contradiction:
Improveprocessing parallelismVSAvoidinstruction set complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transforms scalar instructions into tensor instructions by changing the data dimensionality parameter. Instead of processing single scalar values, the system processes multi-dimensional tensor data structures, enabling parallel computation across multiple data elements simultaneously while maintaining the same compute-in-memory hardware architecture.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces dimensional expansion by transitioning from scalar (0-dimensional) to tensor (multi-dimensional) data structures. This dimensional change allows the system to process batches of data in parallel within the same instruction cycle, significantly improving processing parallelism without requiring additional hardware complexity.

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

2Loss of energy

If storage-computing separated architecture is used, then data transfer can be performed, but power consumption increases due to frequent data transfer

Engineering Contradiction:
Improvepower consumptionVSAvoidcomputing performance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent merges storage and computing operations by implementing compute-in-memory architecture where tensor instructions are executed directly within the memory array. This integration eliminates the need for frequent data transfers between separate storage and computing units, reducing power consumption while maintaining high computing performance through in-situ processing.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If data is transferred frequently between memory and processor, then computing tasks can be executed, but transmission power consumption increases

Engineering Contradiction:
Improvecomputing task executionVSAvoidtransmission power consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the computing function from the central processor and relocates it directly into the memory array through compute-in-memory architecture. Tensor instructions are executed in-place within the memory, eliminating the need for repeated data transfers between memory and processor, thereby reducing transmission power consumption while maintaining computing task execution capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20260079680A1Operator Compilation Method and Apparatus
Publication Date: 2026.03.19 HUAWEI TECH CO LTD
  • US20260079680A1 patent drawing
  • US20260079680A1 patent drawing
  • US20260079680A1 patent drawing

AI summary

An operator compilation method includes: obtaining a compilation operator, where the compilation operator indicates a compilation rule for a source code; compiling the source code based on the compilation operator to obtain one or more tensor instructions, where the tensor instruction is used to execute a computing task in a compute-in-memory system, and the tensor instruction comprises one or more of the following instruction segments: an operation code, a tensor address, a data type, a data bit width, or a tensor length; and storing the tensor instruction into an instruction storage list, where the instruction storage list is used to store a compiled tensor instruction.