GPU Partitioning for Isolated Multi-Context Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional GPUs struggle with efficiently supporting multiple CPU processes due to resource underutilization and interference between processing subcontexts, leading to reduced performance and multitenancy issues in cloud-based deployments.

Innovation Solution

A parallel processing unit (PPU) is partitioned into logical processors, each with exclusive use of a subset of hardware resources, allowing multiple processing contexts to execute in functional isolation, enhancing resource utilization and multitenancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple CPU processes offload processing tasks to a GPU simultaneously using processing subcontexts, then resource utilization improves, but resource interference and unfair consumption occur

Engineering Contradiction:
ImproveGPU resource utilizationVSAvoidfairness of resource allocation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the GPU into multiple isolated partitions, each dedicated to a specific CPU process or virtual machine. This physical segmentation prevents resource interference between processes while maintaining high utilization, as each partition operates independently with its own resources rather than sharing a common pool that causes contention.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each GPU partition is configured with specific local resources (processing cores, memory, caches) tailored to the requirements of the assigned CPU process. This local quality ensures that each process receives appropriate resource allocation without affecting others, eliminating the unfair consumption problem while maintaining overall system productivity.

Inventive Principle:
Principle #3Local quality

2Device complexity

If processing subcontexts share a parent context, then device complexity is reduced, but functional isolation and fault containment are compromised

Engineering Contradiction:
Improvecontext management structureVSAvoidfault isolation
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent creates completely separate partition contexts instead of nested subcontexts within a parent context. Each partition has its own independent context structure, which provides full fault isolation while maintaining manageable complexity through standardized partition creation and management interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a partition management layer that acts as an intermediary between CPU processes and GPU resources. This intermediary handles context creation, resource allocation, and fault containment, providing functional isolation without requiring complex nested context structures, thus maintaining device complexity at acceptable levels.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If a GPU is configured for a single processing context, then device complexity is minimized, but resource utilization decreases when multiple CPU processes need service

Engineering Contradiction:
Improveprocessing context configurationVSAvoidGPU utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the GPU into multiple independent partitions, each capable of handling a separate CPU process simultaneously. This segmentation enables the GPU to service multiple processes in parallel rather than serially, dramatically improving utilization while keeping each partition's complexity equivalent to a single-context configuration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple single-context GPU configurations into a unified multi-partition architecture. Each partition maintains the simplicity of a single-context GPU, but their combination enables simultaneous service of multiple CPU processes, achieving high utilization without excessive complexity at the individual partition level.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12498979B2Techniques for configuring a processor to function as multiple, separate processors in a virtualized environment
Publication Date: 2025.12.16 NVIDIA CORP
  • US12498979B2 patent drawing
  • US12498979B2 patent drawing
  • US12498979B2 patent drawing

AI summary

A parallel processing unit (PPU), operating in a traditional processing environment or in a virtualized processing environment, can be divided into partitions. Each partition is configured to operate similarly to how the entire PPU operates. A given partition includes a subset of the computational and memory resources associated with the entire PPU. Software that executes on a CPU partitions the PPU for an admin user. A guest user is assigned to a partition and can perform processing tasks within that partition in isolation from any other guest users assigned to any other partitions. Because the PPU can be divided into isolated partitions, multiple CPU processes can efficiently utilize PPU resources.