Abstract Graphic Resource for Multi-GPU Viewpoint Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-GPU rendering techniques are limited to specific scenarios, such as Mosaic mode for multiscreen rendering and SLI/CrossFire for video games, and do not allow for efficient utilization of multiple viewpoints or direct addressing of specific GPUs, leading to complexity and restricted computing resource utilization.

Innovation Solution

A computer-implemented method that uses an abstract graphic resource to manage multiple GPUs, allowing for the binding of viewpoints to specific GPUs and simplifying the rendering process by using a unique identifier for each GPU, thereby reducing the complexity of handling multiple Resource Names and enabling simultaneous rendering of multiple viewpoints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple GPUs are used for rendering, then rendering performance and computing resource utilization are improved, but system complexity and difficulty of managing multiple graphic resources increase

Engineering Contradiction:
Improverendering performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an abstract graphic resource as an intermediary layer between the render engine and multiple physical GPUs. This abstract resource manages and coordinates multiple underlying graphic resources (buffers, textures, vertex arrays) across different GPUs, allowing the render engine to interact with a unified interface while the abstract resource handles the complexity of distributing and synchronizing rendering tasks across multiple physical devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The abstract graphic resource serves multiple functions simultaneously: it acts as a container for graphic data, a manager for GPU assignment, a coordinator for synchronization, and an interface for the render engine. This multi-functional design consolidates what would otherwise require separate management systems for each GPU, reducing overall system complexity while enabling parallel rendering operations.

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

2Adaptability or versatility

If traditional multi-GPU techniques (SLI, Mosaic mode) are used, then specific rendering scenarios are supported, but flexibility and adaptability to different rendering configurations are limited

Engineering Contradiction:
Improverendering configuration flexibilityVSAvoidscenario limitation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the graphic resource management into distinct layers: the abstract graphic resource layer that provides unified management, and the underlying physical GPU layer that handles specific rendering operations. This segmentation allows different rendering configurations (single GPU, multi-GPU, different viewports) to be implemented by simply changing how the abstract resource is instantiated and configured, without requiring different fundamental approaches for each scenario.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically assigns and reassigns graphic resources to different GPUs based on rendering requirements. The abstract graphic resource can adapt its internal structure and GPU mappings in real-time, allowing the system to transition between different rendering configurations (e.g., from single-GPU to multi-GPU, or changing which GPU handles which viewport) without requiring system reconfiguration or mode switching.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If multiple viewpoints are rendered simultaneously, then rendering coverage and information completeness are improved, but resource management complexity and coordination overhead increase

Engineering Contradiction:
Improverendering coverageVSAvoidcoordination overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent merges the management of multiple viewpoint renderings into a single abstract graphic resource structure. Instead of managing each viewpoint's graphic resources separately, the abstract resource consolidates buffers, textures, and vertex arrays into unified structures that can be shared and coordinated across multiple GPUs and viewpoints, reducing redundancy and simplifying synchronization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system creates copies of the abstract graphic resource structure for each GPU and viewpoint combination, while maintaining centralized coordination. Each GPU receives a copy of the necessary graphic data through the abstract resource's copy mechanism, but the abstract resource itself maintains a single source of truth for resource allocation and synchronization, minimizing coordination overhead while enabling parallel rendering of multiple viewpoints.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3188014B1Management of a plurality of graphic cards
Publication Date: 2022.07.13 DASSAULT SYSTEMES SA
  • EP3188014B1 patent drawingFigure 1
  • EP3188014B1 patent drawingFigure 2~3
  • EP3188014B1 patent drawingFigure 4~5

AI summary

The invention notably relates to a computer-implemented method for managing a plurality of graphic cards, a graphic card comprising one or more graphic processing units, comprising loading a scene in a Render Engine, the scene comprising at least one graphic data to be used for rendering a view of the scene; creating an abstract graphic resource for a graphic resource of the at least one graphic data, the abstract graphic resource storing an identifier of a graphic resource for at least one of graphic card; copying, on the said at least one graphic card, the said graphic resource of the at least one graphic data; providing to the Render Engine with an access to the abstract graphic resource for handling the said graphic resource.