Macroscalar Predicate Operations for Vector Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional vector processors face challenges in exploiting parallelism with data elements smaller than the fixed element width, leading to underutilization of processing resources.

Innovation Solution

The implementation of enhanced Macroscalar predicate operations allows for dynamic determination of element width and number of elements at runtime, enabling vector-length agnostic operations that adapt parallelism and support vectors of varying lengths, thereby optimizing processing of smaller-sized data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional fixed-width vector operations are used, then processing resources are fully utilized for the specified element width, but processing resources are underutilized when operating on smaller-element vectors

Engineering Contradiction:
Improveprocessing resource utilizationVSAvoidadaptability to different element widths
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by making the vector element width variable rather than fixed. The enhanced predicate operand allows the element width to be dynamically determined at runtime based on the actual data size, enabling the same hardware to efficiently process different element widths (8-bit, 16-bit, 32-bit, 64-bit) without resource underutilization. This resolves the contradiction by allowing the system to adapt to different productivity requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of element width from a fixed architectural constant to a variable that can be specified at runtime through the enhanced predicate operand. This parameter change enables the vector processor to adjust its operation characteristics to match the actual data being processed, thereby maintaining high processing resource utilization across different element widths while improving adaptability.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If vector instructions are defined with fixed element width in the architectural definition, then instruction set is simplified, but element width and number of elements cannot be determined at runtime

Engineering Contradiction:
Improveinstruction set architecture complexityVSAvoidruntime adaptability of element width
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent applies universality by designing the enhanced predicate operand to serve multiple functions: it simultaneously specifies the element width, determines the number of elements to process, and provides control over which elements are processed. This multi-functional approach allows a single instruction format to handle various element widths and runtime adaptation requirements without significantly increasing instruction set complexity, as the same basic instruction structure is extended rather than multiplied.

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

Solution Approach 2:

The enhanced predicate operand acts as an intermediary that carries additional control information between the instruction and the execution unit. By embedding the element width and element selection logic in the predicate operand itself, the system achieves runtime adaptability without requiring separate control signals or complex instruction formats, thus balancing complexity and versatility.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If processor architecture is fixed for a specific vector length, then hardware design is simplified, but legacy code cannot benefit from longer vector lengths without software modifications

Engineering Contradiction:
Improveperformance of legacy codeVSAvoidhardware architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by enabling the effective vector length to be dynamically adjusted at runtime through the enhanced predicate operand, while maintaining a fixed physical hardware architecture. The hardware remains simple and fixed, but the software can dynamically specify different element widths and vector lengths, allowing legacy code to automatically benefit from longer vector lengths without modification. This resolves the contradiction by separating hardware simplicity from software flexibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9817663B2Enhanced Macroscalar predicate operations
Publication Date: 2017.11.14 APPLE INC
  • US9817663B2 patent drawing
  • US9817663B2 patent drawing
  • US9817663B2 patent drawing

AI summary

Systems, apparatuses and methods for utilizing enhanced macro scalar predicate operations which take enhanced predicate operands that designate the element width and which elements are to be processed. The element width and the number of elements per vector are determined at run-time rather than being defined in the architectural definition of the instruction. This enables additional parallelism when processing smaller-sized data. The instruction performs the requested operation on the elements specified by the enhanced control predicate, assuming an element-width also specified by the enhanced control predicate, and returns the result as an enhanced predicate of the same element width.