Industrial Simulation Memory Sharing Across CPU-GPU Architectures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing simulation programs for industrial systems struggle with managing memory allocation and sharing instances between heterogeneous processors, leading to complex and intrusive code management, especially when transitioning between Central Processing Units (CPUs) and Graphics Processing Units (GPUs).

Innovation Solution

A method and system utilizing a contiguous memory allocator to manage dynamic memory regions across heterogeneous processors, enabling implicit memory sharing through memory pointers, allowing seamless execution of simulation models on different architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If explicit memory management and copy operations are used to share instances between CPU and GPU, then memory sharing between heterogeneous processors is achieved, but code complexity and management effort increase significantly

Engineering Contradiction:
Improvememory sharing capabilityVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a buffer object as an intermediary between CPU and GPU memory spaces. This buffer object serves as a mediator that allows instances allocated on the CPU to be shared with the GPU without requiring explicit copy operations or complex memory management code. The buffer object handles the memory transfer and sharing semantics automatically, reducing code complexity while enabling adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal memory management mechanism where a single code path can allocate and manage instances that are accessible by both CPU and GPU. The buffer object provides multi-functionality by serving as both a CPU-accessible memory region and a GPU-accessible resource, eliminating the need for separate code paths for different processor types.

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

2Adaptability or versatility

If dynamic memory allocation is performed on CPU before GPU execution, then memory flexibility is maintained, but explicit copy operations are required increasing management effort

Engineering Contradiction:
Improvememory flexibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary allocation of memory buffers on the CPU side before GPU execution, but structures this allocation so that the same buffer can be directly used by the GPU. The buffer object is prepared in advance with the understanding that it will serve both CPU and GPU, eliminating the need for subsequent copy operations and reducing development time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges the CPU memory allocation and GPU memory allocation into a single unified buffer object. Instead of allocating separate memory regions and then copying data between them, the same memory buffer is made accessible to both processors, combining what were previously separate operations into one efficient process.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If class instances are compiled specifically for GPU code, then GPU execution efficiency is improved, but code portability across different architectures decreases

Engineering Contradiction:
Improveexecution efficiencyVSAvoidcode portability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent enables a single class instance implementation to execute efficiently on both CPU and GPU by using the buffer object mechanism. The same code compiled once can run on either processor type, achieving code portability while maintaining execution efficiency through the unified memory access interface provided by the buffer object.

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

Data Source

PatentUS12524270B2Computing platform for simulating an industrial system and method of managing the simulation
Publication Date: 2026.01.13 SIEMENS IND SOFTWARE NV
  • US12524270B2 patent drawing
  • US12524270B2 patent drawing
  • US12524270B2 patent drawing

AI summary

A computing platform for simulating an industrial system and a method of managing the simulation are disclosed. The method relates to generating at least one instance of a simulation model of the industrial system. The method includes: generating the instance using a contiguous memory allocator for a dynamic memory region associated with a first processor of the heterogenous processors; enabling a second processor to use the instance in the dynamic memory region based on a memory pointer associated with the address of a copy of the instance; and simulating the industrial system by the second processor by accessing the instance-copy.