Grid DMA Controller for Tensor Data Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing machine learning accelerators face performance bottlenecks due to high computations and data movement in convolutional neural networks, particularly in edge devices with strict power consumption constraints, such as AR/VR headsets and mobile devices, where they struggle to perform well for real-time inference exercises.

Innovation Solution

A grid direct-memory access (DMA) controller is used to efficiently read and write tensor data in bursts, with source and destination memory controllers executing loop instructions in lockstep to generate addresses, allowing for arbitrary alignment and optimizing data transfer between tensor processor units within the ML accelerator.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing ML accelerators use high compute parallelism and optimized data orchestration, then processing speed of convolutional layers is improved, but power consumption increases making them unsuitable for edge devices

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent introduces a DMA controller as an intermediary component that manages data transfer between memory and tensor processor units independently of the main processing units. This mediator handles data orchestration tasks, allowing the tensor processor units to focus on computation while reducing overall system power consumption through specialized, optimized data movement pathways.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments data transfer operations into discrete bursts handled by the DMA controller, separating data movement functions from computation functions. This segmentation allows independent optimization of each function, enabling efficient data transfer without requiring continuous high-power computation resources.

Inventive Principle:
Principle #1Segmentation

2Productivity

If tensor data is transferred in bursts with arbitrary alignment between source and destination memory, then data transfer efficiency is improved, but controller complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The DMA controller executes loop instructions in lockstep to automatically generate source and destination addresses without external intervention. This self-service mechanism handles arbitrary alignment internally through iterative address generation, eliminating the need for complex external address management while maintaining efficient burst transfer capabilities.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary address generation and alignment calculations before actual data transfer begins. By pre-computing address sequences using loop instructions, the DMA controller prepares all necessary addressing information in advance, simplifying the actual transfer operation and reducing runtime complexity.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If source and destination memory addresses are arbitrarily aligned, then flexibility in data placement is improved, but address generation complexity increases

Engineering Contradiction:
Improvedata placement flexibilityVSAvoidaddress generation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The address generation system uses dynamic loop instructions that can adapt to any alignment requirement between source and destination memory. The iterative nature of the loop allows the system to handle arbitrary address alignments flexibly, adjusting address sequences on-the-fly without requiring complex static addressing logic.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11709783B1Tensor data distribution using grid direct-memory access (DMA) controller
Publication Date: 2023.07.25 META PLATFORMS INC
  • US11709783B1 patent drawing
  • US11709783B1 patent drawing
  • US11709783B1 patent drawing

AI summary

In one embodiment, a method for tensor data distribution using a direct-memory access agent includes generating, by a first controller, source addresses indicating locations in a source memory where portions of a source tensor are stored. A second controller may generate destination addresses indicating locations in a destination memory where portions of a destination tensor are to be stored. The direct-memory access agent receives a source address generated by the first controller and a destination address generated by the second controller and determines a burst size. The direct-memory access agent may issue a read request comprising the source address and the burst size to read tensor data from the source memory and may store the tensor data into an alignment buffer. The direct-memory access agent then issues a write request comprising the destination address and the burst size to write data from the alignment buffer into the destination memory.