Asymmetric Shared Virtual Memory for CPU-GPU Data Exchange

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current GPU programming models are inefficient due to the inability to directly access data between host and device memory, relying on data arrays and lacking virtual paging mechanisms, making them sensitive to physical memory size and limiting data exchange.

Innovation Solution

The implementation of an Asymmetric Shared Virtual Memory (A-SVM) model, where device memory acts as a 'mega-cache' for host memory, enabling page-level caching and dynamic swapping, and supporting virtual paging by using host memory as a 'swap file' for graphics memory, allowing for efficient data exchange and memory coherency between CPU and GPU.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data is copied explicitly between host and device memory, then data transfer is possible, but programming efficiency deteriorates and data exchange is limited

Engineering Contradiction:
Improveprogramming efficiencyVSAvoiddata transfer efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges host memory and device memory into a unified virtual address space, allowing both CPU and GPU to access the same memory region without explicit data copying. The virtualization layer translates addresses to route data flows appropriately, eliminating the need for programmers to manually copy data between separate memory spaces while maintaining efficient data transfer paths.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a virtualization layer as an intermediary between host and device memory systems. This layer includes address translation mechanisms and data flow routing logic that automatically manages data transfer, allowing efficient communication without requiring explicit copy operations in the programming model.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If physical memory size on graphics card is limited, then device complexity is reduced, but adaptability to different applications deteriorates

Engineering Contradiction:
Improvememory capacity flexibilityVSAvoidvirtual paging mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a virtual paging mechanism that allows the graphics device to access both local device memory and remote host memory through a unified interface. This multi-functional memory system can dynamically allocate storage capacity between local and remote memory, providing adaptability to different application requirements without requiring separate memory management interfaces.

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

Solution Approach 2:

The patent employs dynamic memory allocation through virtual paging, where the boundary between local and remote memory is not fixed but can be adjusted based on application needs. The system can dynamically swap data between device memory and host memory, providing flexible memory capacity that adapts to different workloads while managing complexity through standardized paging operations.

Inventive Principle:
Principle #15Dynamics

3Productivity

If pointers are used for data structures, then data exchange efficiency is improved, but compatibility with current GPU model deteriorates

Engineering Contradiction:
Improvedata exchange efficiencyVSAvoidcompatibility with GPU programming model
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent combines host and device memory into a unified virtual address space where pointers can naturally reference data structures across both memory regions. This unified model allows complex data structures with pointers to be shared between CPU and GPU without requiring special handling or conversion to index-based access, maintaining both efficiency and compatibility.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9064330B2Shared virtual memory between a host and discrete graphics device in a computing system
Publication Date: 2015.06.23 INTEL CORP
  • US9064330B2 patent drawing
  • US9064330B2 patent drawing
  • US9064330B2 patent drawing

AI summary

In one embodiment, the present invention includes a device that has a device processor and a device memory. The device can couple to a host with a host processor and host memory. Both of the memories can have page tables to map virtual addresses to physical addresses of the corresponding memory, and the two memories may appear to a user-level application as a single virtual memory space. Other embodiments are described and claimed.