GPU Transposer for Parallel Processing via Virtual Data Stream Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing units (GPUs) are not well suited for supporting multi-threaded processing due to their single instruction, single data (SISD) processing techniques, which limits their ability to adapt to single data streams and hinder parallel processing in graphics pipelines.

Innovation Solution

A transposer is introduced to generate parallel data streams by converting a single data stream into multiple data streams, utilizing a memory arrangement with rows and columns to emulate transposition, reducing memory size requirements and increasing memory utilization, and allowing parallel processing through SIMD-based vertex processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single data stream is used in SISD processing, then the processing structure is simple, but parallel processing capability is limited

Engineering Contradiction:
Improveprocessing structureVSAvoidparallel processing capability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The single data stream is segmented into multiple parallel attribute streams, where each stream contains a specific type of attribute (e.g., position, color, texture) that can be processed independently by different processing elements, enabling parallel processing while maintaining structural simplicity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional data stream to a multi-dimensional data structure by organizing attributes into parallel streams with different orientations (row-major vs. column-major), allowing simultaneous access to different attribute types across multiple processing elements

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

2Productivity

If physical data transposition is implemented to enable parallel processing, then parallel processing efficiency is improved, but memory size requirements increase

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidmemory size
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

Instead of physically transposing data in memory, the patent creates virtual copies of data through different access patterns and orientations. The same physical memory location can be interpreted as different logical positions depending on the active orientation, eliminating the need for duplicate data storage

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent changes the access parameters (orientation, stride, offset) rather than the physical data arrangement. By dynamically adjusting these parameters, the system can switch between row-major and column-major access patterns without physically reorganizing the data in memory, thus enabling parallel processing efficiency without increasing memory size

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If conventional SISD interfaces are used, then interface simplicity is maintained, but adaptability to SIMD processing is poor

Engineering Contradiction:
Improveinterface complexityVSAvoidadaptability to SIMD processing
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal interface that can handle both SISD and SIMD processing modes. The same interface structure supports single-threaded execution by sequentially processing attributes and multi-threaded execution by providing parallel access to different attribute streams, making it adaptable to different processing paradigms without requiring separate interfaces

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

Solution Approach 2:

The interface dynamically adapts its behavior based on the processing mode required. It can switch between providing sequential attribute access for SISD and parallel attribute stream access for SIMD, allowing the system to optimize for different workloads while maintaining a single flexible interface design

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7755631B1Transposition structures and methods to accommodate parallel processing in a graphics processing unit (“GPU”)
Publication Date: 2010.07.13 NVIDIA CORP
  • US7755631B1 patent drawing
  • US7755631B1 patent drawing
  • US7755631B1 patent drawing

AI summary

Disclosed are an apparatus, a method, a programmable graphics processing unit (“GPU”), a computer device, and a computer medium to facilitate, among other things, the generation of parallel data streams to effect parallel processing in at least a portion of a graphics pipeline of a GPU. In one embodiment, an input of the apparatus receives graphics elements in a data stream of graphics elements. The graphics pipeline can use the graphics elements to form computer-generated images. The apparatus also can include a transposer configured to produce parallel attribute streams. Each of the parallel attribute streams includes a type of attribute common to the graphics elements. In one embodiment, the transposer can be configured to convert at least a portion of the graphics pipeline from a single data stream to multiple data streams (e.g., executable by multiple threads of execution) while reducing the memory size requirements to implement such a conversion.