Mask Register for Interrupted Gather Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory access mechanisms for ported applications on wide vector architectures, such as 3D image rendering, are inefficient due to complex, inconsistent, or noncontiguous memory access patterns, leading to interrupted gather operations that require repeating the entire operation instead of allowing restarts.

Innovation Solution

Implementing a gather operation that uses a mask register to track the state of data elements, allowing for efficient collection and storage of data from non-contiguous memory locations into a destination register, enabling partial data preservation and restart capability when interrupted.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If gather operations are implemented on wide vector architectures for ported applications, then memory access efficiency is improved, but the complexity of memory access algorithms increases

Engineering Contradiction:
Improvememory access efficiencyVSAvoidmemory access algorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The gather operation is divided into multiple iterations, with each iteration processing a subset of elements. A mask register tracks which elements have been gathered, allowing the operation to be restarted after interruption without repeating already-gathered elements. This segmentation resolves the contradiction by breaking down the complex operation into manageable segments that can be tracked and resumed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A mask register is introduced as an intermediary data structure to track the state of gathered elements. This mask register serves as a mediator between the gather operation and the memory access mechanism, recording which elements have been processed. This intermediary simplifies the control logic by providing a clear state indicator, reducing the overall algorithmic complexity while maintaining efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If gather operations collect data from non-contiguous memory locations, then data collection capability is improved, but the consistency of memory access patterns deteriorates

Engineering Contradiction:
Improvedata collection capabilityVSAvoidmemory access pattern consistency
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

Addresses are for non-contiguous memory locations are pre-calculated and stored in an address register before the gather operation begins. This preliminary action separates the address calculation phase from the data collection phase, allowing the actual gather operation to proceed with consistent access patterns to the pre-computed addresses, thus maintaining stability while achieving versatility.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If interrupted gather operations repeat the entire operation, then reliability is improved by ensuring completeness, but time consumption increases

Engineering Contradiction:
Improveoperation completenessVSAvoidoperation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

A mask register provides feedback about the completion status of each element in the gather operation. After interruption, this feedback mechanism allows the system to determine which elements have already been gathered and which remain. The gather operation can then resume by processing only the remaining elements, ensuring completeness (reliability) while avoiding redundant processing (time loss).

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of repeating the entire gather operation, only the partial set of remaining elements is processed. The mask register enables identification of exactly which elements need processing, allowing the operation to perform only the necessary partial action required to complete the gather, thus reducing time consumption while maintaining reliability.

Inventive Principle:
Principle #16Partial or excessive action

4Ease of operation

If mask registers track element state, then restart capability is improved, but device complexity increases

Engineering Contradiction:
Improverestart capabilityVSAvoidregister structure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The mask register serves multiple functions: it tracks which elements have been gathered, provides feedback for restart capability, and can be used to control subsequent processing operations. This multi-functionality justifies the added complexity by providing several benefits from a single data structure, improving ease of operation without proportionally increasing overall system complexity.

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

Data Source

PatentUS10042814B2System and method for using a mask register to track progress of gathering and scattering elements between data registers and memory
Publication Date: 2018.08.07 INTEL CORP
  • US10042814B2 patent drawing
  • US10042814B2 patent drawing
  • US10042814B2 patent drawing

AI summary

A device, system and method for assigning values to elements in a first register, where each data field in a first register corresponds to a data element to be written into a second register, and where for each data field in the first register, a first value may indicate that the corresponding data element has not been written into the second register and a second value indicates that the corresponding data element has been written into the second register, reading the values of each of the data fields in the first register, and for each data field in the first register having the first value, gathering the corresponding data element and writing the corresponding data element into the second register, and changing the value of the data field in the first register from the first value to the second value. Other embodiments are described and claimed.