Graph-Based API for Recurrent Neural Network Definition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application programming interfaces (APIs) for implementing recurrent neural networks (RNNs) are complex and result in inefficient code, making them in need of improvement.

Innovation Solution

A graph-based API is introduced that allows for the definition and execution of RNNs by utilizing functions for creating graphs, adding tensors and operations, and associating recurrence attributes with graphs, which simplifies the process and optimizes execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional APIs are used to implement recurrent neural networks, then the implementation is possible, but the code becomes complex and inefficient

Engineering Contradiction:
Improveexecution efficiencyVSAvoidcode complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a graph-based intermediate representation layer between the traditional API and the RNN execution. This graph structure serves as a mediator that automatically manages the complex tensor operations and iteration logic, allowing users to work with a simplified API while the graph handles the computational complexity internally through node and edge definitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces manual code-based RNN implementation with an automated graph execution system. Instead of writing explicit loops and tensor management code, the system compiles the RNN definition into a graph that is automatically executed, substituting manual mechanical coding with automated graph-based computation management.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Ease of operation

If manual code is written to manage tensor access and iteration in RNNs, then fine-grained control is achieved, but the code becomes inefficient and complex

Engineering Contradiction:
Improvesimplicity of definitionVSAvoidexecution efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent requires users to define the RNN computation graph in advance before execution, specifying all tensor operations, data flows, and iteration logic upfront. This preliminary definition is then compiled into an optimized execution plan, allowing the system to prepare and optimize the computation path before actual runtime, improving execution efficiency while maintaining ease of definition.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a dynamic execution engine that adapts the pre-defined graph to runtime conditions. The system automatically manages tensor allocation, memory optimization, and iteration control based on the graph structure, providing both ease of definition through static graph specification and execution efficiency through dynamic runtime optimization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250181889A1API for recurrent neural networks
Publication Date: 2025.06.05 NVIDIA CORP
  • US20250181889A1 patent drawing
  • US20250181889A1 patent drawing
  • US20250181889A1 patent drawing

AI summary

Apparatuses, systems, and techniques to implement a recurrent neural network. In at least one embodiment, an application programming interface receives one or more API calls comprising a graph definition and a recurrence attribute, and executes a recurrent neural network based on the graph definition.