Executable Graph Workload Adaptation via Parameter Modification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for parallel computing are limited in their ability to efficiently modify and reuse executable graphs for performing different workloads, as they are typically designed for a single workload and lack flexibility.

Innovation Solution

The development of techniques to modify and adapt executable graphs to accommodate various workloads by utilizing advanced processing systems and software frameworks, such as CUDA and OpenCL, which enable the translation and execution of task graphs across diverse processing units, including CPUs and GPUs, allowing for the reuse of task graphs for multiple workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If an executable graph is designed for a single workload, then it can perform that specific workload efficiently, but it cannot be reused for different workloads

Engineering Contradiction:
Improveworkload execution efficiencyVSAvoidworkload flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The executable graph is designed to perform multiple different workloads by maintaining a generic structure with placeholder nodes and edges that can be configured for various computational tasks. The graph includes computing nodes, data transfer nodes, and synchronization nodes that can be adapted to different workload requirements through parameter modification rather than structural redesign.

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

Solution Approach 2:

The executable graph employs dynamic configuration where computing parameters, data transfer specifications, and synchronization settings can be modified between workload executions. This allows the same graph structure to adapt to different computational requirements by changing operational parameters rather than the graph topology itself.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If an executable graph is modified to perform different workloads, then versatility improves, but the modification process becomes complex

Engineering Contradiction:
Improveworkload flexibilityVSAvoidgraph modification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The executable graph is pre-configured with a comprehensive structure that anticipates multiple workload types. Placeholder nodes and edges are established in advance with generic configurations, allowing future workload adaptations to be achieved through parameter assignment rather than structural creation. This preliminary setup reduces modification complexity when new workloads are introduced.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system achieves workload diversity primarily through parameter modification rather than structural changes. Computing parameters, data transfer rates, synchronization intervals, and resource allocation settings are adjusted to match different workload requirements while maintaining the same underlying graph topology, thereby simplifying the adaptation process.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If computing resources are configured for each workload separately, then workload specificity is achieved, but resource utilization efficiency decreases

Engineering Contradiction:
Improveworkload execution accuracyVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

A single executable graph serves multiple workload functions, eliminating the need to create and configure separate computing resources for each workload. The same computing nodes, data transfer mechanisms, and synchronization structures are reused across different workloads by modifying operational parameters rather than deploying duplicate infrastructure.

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

Solution Approach 2:

Multiple workload requirements are merged into a unified executable graph structure that handles diverse computational tasks. By combining different workload configurations within one graph framework, the system avoids the overhead of maintaining separate resource configurations and achieves better overall resource utilization while maintaining workload-specific execution accuracy.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3822785A1Techniques for modifying executable graphs to perform different workloads
Publication Date: 2021.05.19 NVIDIA CORP
  • EP3822785A1 patent drawingFigure 1
  • EP3822785A1 patent drawingFigure 2
  • EP3822785A1 patent drawingFigure 3

AI summary

Techniques to modify executable graphs to perform different workloads. In at least one embodiment, an executable graph created from a task graph for a first workload is modified to perform a second workload that differs from first workload.