Neural Network Graph Management via Subgraph Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing neural network systems face inefficiencies in processing large calculations due to the lack of effective management of calculation processing graphs across heterogeneous resources, leading to suboptimal performance and increased processing times.

Innovation Solution

A neural network system that employs a task manager to allocate subgraphs to appropriate resources and independent compilers for parallel compilation, allowing each subgraph to be processed through separate calculation paths, thereby optimizing resource utilization and reducing compilation time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single compiler is used to process the entire calculation processing graph, then the system structure is simple, but the compilation time increases and processing efficiency decreases

Engineering Contradiction:
Improvecompilation speedVSAvoidsystem structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The calculation processing graph is divided into multiple subgraphs, each of which can be compiled independently by separate compilers. This segmentation allows parallel compilation processes to occur simultaneously, significantly reducing total compilation time while maintaining manageable system complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If multiple compilers are used for parallel compilation, then compilation time is reduced, but resource management complexity increases

Engineering Contradiction:
Improvecompilation timeVSAvoidresource management
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

A resource manager acts as an intermediary component that coordinates between multiple compilers and heterogeneous resources. It allocates subgraphs to appropriate compilers, manages resource distribution, and handles compilation scheduling, thereby reducing the complexity burden from individual compilers while enabling efficient parallel processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically assigns subgraphs to compilers based on resource availability and compilation priorities. The resource manager can adjust compilation schedules and resource allocation in real-time, allowing the system to adapt to changing conditions and optimize compilation throughput without fixed rigid structures.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If heterogeneous resources are used for processing, then processing capability is enhanced, but resource allocation complexity increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidresource allocation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The resource manager implements a universal interface layer that handles multiple types of heterogeneous resources (GPUs, CPUs, FPGAs, etc.) through a common allocation mechanism. This allows the system to support diverse processing capabilities while maintaining a unified resource management approach, reducing allocation complexity despite the variety of available resources.

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

Data Source

PatentUS11915149B2System for managing calculation processing graph of artificial neural network and method of managing calculation processing graph by using the same
Publication Date: 2024.02.27 SAMSUNG ELECTRONICS CO LTD
  • US11915149B2 patent drawing
  • US11915149B2 patent drawing
  • US11915149B2 patent drawing

AI summary

Provided are a system for managing a calculation processing graph of an artificial neural network and a method of managing a calculation processing graph by using the system. A system for managing a calculation processing graph of an artificial neural network run by a plurality of heterogeneous resources includes: a task manager configured to allocate the plurality of heterogeneous resources to a first subgraph and a second subgraph that are to be run, the first subgraph and the second subgraph being included in the calculation processing graph; a first compiler configured to compile the first subgraph to be executable on a first resource among the plurality of heterogeneous resources; and a second compiler configured to compile the second subgraph to be executable on a second resource among the plurality of heterogeneous resources, wherein the first subgraph and the second subgraph are respectively managed through separate calculation paths.