Data Processing Computation Graphs for Heterogeneous Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-performance computing environments, developing applications for diverse hardware devices is challenging due to differences in architectures, instruction sets, and programming models, leading to high development difficulty and poor debugging convenience.

Innovation Solution

A method and apparatus that abstracts computing capabilities of various hardware devices as operators, enabling unified invocation and scheduling through a unified heterogeneous programming interface, allowing users to manage operations without needing to understand specific device details.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users develop applications for different hardware devices using respective runtime libraries and driver libraries, then the applications can be executed on various hardware devices, but the development difficulty increases and debugging convenience deteriorates due to differences in architectures, instruction sets, and programming models

Engineering Contradiction:
Improvehardware device compatibilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a computation graph as an intermediary representation that mediates between the user's high-level computing tasks and the low-level hardware implementations. The computation graph serves as a universal interface that can be mapped to different hardware devices (CPU, GPU, NPU, DSP) without requiring users to understand their specific architectures, instruction sets, or programming models. This intermediary layer resolves the contradiction by maintaining hardware compatibility while simplifying development complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the fundamental parameter of task representation from hardware-specific instructions to hardware-agnostic computation graphs. By transforming tasks into a standardized graph representation with operators, inputs, and outputs, the system enables parameterized mapping to different hardware devices. This parameter change allows the same high-level representation to adapt to multiple hardware architectures, resolving the contradiction between versatility and development complexity.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If users learn and use multiple runtime libraries and driver libraries corresponding to different hardware devices, then they can control various hardware devices, but the development difficulty increases due to the need to master multiple architectures, instruction sets, and programming models

Engineering Contradiction:
Improvehardware device control capabilityVSAvoidease of application development
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent creates a universal programming interface through the computation graph model that can control multiple types of hardware devices (CPU, GPU, NPU, DSP) through a single unified approach. Instead of requiring separate runtime libraries and driver libraries for each hardware type, the computation graph serves as a multi-functional representation that can be executed on any hardware device. This universality directly resolves the contradiction by maintaining hardware control capability while dramatically improving ease of development.

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

Solution Approach 2:

The patent creates an abstract copy of hardware operations in the form of computation graphs. Rather than working directly with hardware-specific instructions, users work with an abstracted representation that copies the essential computational logic without hardware details. This abstracted copy can then be mapped to actual hardware implementations, resolving the contradiction between hardware control capability and ease of development by separating the abstract task definition from concrete hardware execution.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250307106A1Method For Processing Data, Medium, And Device
Publication Date: 2025.10.02 BEIJING HORIZON INFORMATION TECH CO LTD
  • US20250307106A1 patent drawing
  • US20250307106A1 patent drawing
  • US20250307106A1 patent drawing

AI summary

Disclosed is a method for processing data, a medium, and a device. The method includes: determining a data computing task; generating a computation graph corresponding to the data computing task, the computation graph including one or more operators configured to perform the data computing task; determining one or more target hardware devices corresponding respectively to the one or more operators based on performance parameters and current resource usage statuses of a plurality of hardware devices; transmitting one or more computational instruction sequences, each respectively corresponding to each of the one or more operators, to the one or more target hardware devices corresponding to respective operators, such that each of the one or more target hardware devices executes the respective computational instruction sequence; and determining a processing result corresponding to the data computing task based on one or more execution results of the one or more target hardware devices.