Abstract Graphic Resource Management for Multi-GPU Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-GPU rendering techniques are limited to specific scenarios, such as gaming and multiscreen rendering, and do not effectively utilize the computing resources of multiple GPUs for parallel processing of different viewpoints, leading to inefficiencies in 3D scene rendering.

Innovation Solution

A computer-implemented method that modifies abstract graphic resources to manage multiple GPUs by adding identifiers for new GPUs, allowing data transfer and rendering across multiple GPUs, enabling the Render Engine to handle multiple GPUs without duplicating rendering orders and supporting dynamic addition of GPUs during rendering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional multi-GC rendering techniques (SLI, Mosaic mode) are used, then rendering performance is improved for specific scenarios, but the system complexity and limitations increase

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

Solution Approach 1:

The patent introduces a scene manager as an intermediary component between the render engine and multiple graphic cards. This scene manager handles the complexity of multi-GC management, resource allocation, and coordination, allowing the render engine to focus on rendering while the scene manager manages the computational complexity of distributing work across multiple GPUs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the rendering system into distinct functional components: a render engine that generates rendering orders, a scene manager that distributes and coordinates these orders across multiple graphic cards, and individual graphic cards that execute specific rendering tasks. This segmentation allows each component to specialize and reduces overall system complexity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple graphic cards are used for rendering, then rendering speed is improved, but the ability to handle multiple viewpoints in parallel is limited

Engineering Contradiction:
Improverendering speedVSAvoidparallel viewpoint processing capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent makes the rendering system universal by enabling graphic cards to dynamically handle different types of rendering tasks including multiple viewpoints, different scene portions, and various rendering orders. The scene manager can assign different viewpoints to different graphic cards simultaneously, making the system adaptable to various rendering scenarios beyond single-viewport applications.

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

3Productivity

If graphic resources are duplicated across multiple graphic cards, then rendering capability is improved, but memory usage and data management complexity increase

Engineering Contradiction:
Improverendering capabilityVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges the management of graphic resources across multiple graphic cards through a centralized scene manager that coordinates resource allocation. Instead of completely independent resource management on each card, the scene manager combines control to optimize memory usage, allowing graphic resources to be shared or selectively duplicated only when necessary for specific rendering requirements.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

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

AI summary

The invention notably relates to a computer-implemented method for modifying a number of graphic cards used for rendering a scene, a graphic card comprising one or more graphic processing units. The method comprises providing a scene that is already loaded in a render engine, the scene comprising at least one graphic data to be used for rendering a view of the scene; modifying an abstract graphic resource for a graphic resource of the at least one graphic data, the abstract graphic resource storing an identifier of the graphic resource for each graphic card, by adding a new identifier of the said graphic resource for each newly added graphic card; transferring, on each newly added graphic card, the said at least one graphic data already stored on one of the graphic cards.