Unified Memory Architecture for Parallel Thread Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face challenges in efficiently distributing and processing large amounts of graphical data across parallel computing platforms, particularly in achieving optimal performance and resource utilization in graphics processing units (GPUs) and central processing units (CPUs) for tasks like graphics rendering and parallel computing.

Innovation Solution

A computing system architecture that integrates multiple GPUs and CPUs with a unified memory space, enabling dynamic distribution of graphical data and tasks across parallel processing units, including a scheduler for workload distribution and a memory hub for efficient data transfer, allowing for parallel execution of threads across multiple processing clusters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If graphical data is distributed across multiple GPUs and CPUs for parallel processing, then processing throughput and rendering capabilities are improved, but system complexity and difficulty of thread management increase

Engineering Contradiction:
Improveprocessing throughputVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system divides graphical data processing into separate thread groups that can be independently distributed across multiple GPUs and CPUs. Each processing cluster handles specific thread groups, enabling parallel processing while maintaining manageable system complexity through modular organization of computational tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A host processor acts as an intermediary to manage thread serialization and distribution between the CPU and GPU clusters. The host processor coordinates workload allocation, manages memory access, and handles synchronization, thereby reducing the complexity burden on individual processing units while maintaining high throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If thread execution is serialized on the host graphics processor, then resource conflicts and race conditions are reduced, but processing speed and parallel execution efficiency decrease

Engineering Contradiction:
Improveexecution correctnessVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

Threads are organized into separate thread groups that can execute in parallel on different processing clusters. By segmenting the thread execution space, the system allows concurrent execution of independent thread groups while maintaining serialization within each group to prevent resource conflicts, thus achieving both reliability and speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from single-dimension serialization to multi-dimensional parallel execution by distributing thread groups across multiple processing clusters in parallel. This dimensional expansion allows the system to maintain execution correctness through controlled serialization while achieving high processing speed through parallel cluster execution.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If multiple thread groups are executed in parallel across processing clusters, then processing efficiency is improved, but data synchronization and memory access coordination become more difficult

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsynchronization difficulty
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The host processor serves as a coordinating intermediary that manages memory access and data synchronization between parallel processing clusters. It handles inter-cluster communication, coordinates data transfers, and manages shared resources, thereby enabling efficient parallel execution while simplifying the complexity of synchronization operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a unified memory address space that is uniformly accessible by all processing clusters, eliminating memory access hierarchy differences. This equipotential memory architecture allows parallel thread groups to access shared data without complex coordination, as all processors operate from an equal memory access plane managed by the host processor.

Inventive Principle:
Principle #12Equipotentiality

4Ease of operation

If a unified memory address space is implemented across CPU and GPU, then data sharing and access efficiency are improved, but memory management complexity and resource allocation difficulty increase

Engineering Contradiction:
Improvedata sharing efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The host processor implements a universal memory management system that handles both CPU and GPU memory spaces through a single unified address space. This multi-functional memory manager can allocate, map, and synchronize memory resources across different processor types, enabling efficient data sharing while centralizing memory management complexity in one coordinated system.

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

Data Source

PatentEP3392770B1Thread serialization, distributed parallel programming, and runtime extensions of parallel computing platform
Publication Date: 2024.01.24 INTEL CORP
  • EP3392770B1 patent drawingFigure 1
  • EP3392770B1 patent drawingFigure 2A
  • EP3392770B1 patent drawingFigure 2B

AI summary

Systems, apparatuses, and methods may provide for technology to process graphical data, and to modify a runtime environment in a parallel computing platform for a graphic environment.