Programmable Counters for Accurate FLOP Measurement in SIMD Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a lack of efficient mechanisms for accurately counting floating-point operations (FLOPs) in high-performance computing environments, where dynamic conditions such as array alignment and loop iteration counts complicate the precise measurement of scalar and packed FLOPs.

Innovation Solution

Programmable counters, such as general-purpose counters, are configured to count FLOPs by specifying instruction types and sizes, allowing software components to apply multipliers for accurate arithmetic operation counting, focusing on instructions that have been executed and retired from execution units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional FLOP counting methods are used, then the counting mechanism is simple, but the measurement precision is insufficient due to inability to distinguish different instruction types and sizes

Engineering Contradiction:
ImproveFLOP counting accuracyVSAvoidcounter configuration complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments FLOP counting into multiple independent counters, each dedicated to counting a specific combination of instruction types and register/element sizes. This segmentation allows precise measurement of different instruction categories (scalar vs. packed, different precision levels) while keeping each individual counter's configuration simple and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic configurability where software can programmatically configure counters to track different instruction combinations based on specific analysis needs. This dynamic approach allows the counting system to adapt to various measurement requirements without hardware redesign, balancing precision with operational flexibility.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If static analysis is used to determine FLOP counts, then the analysis is simple, but the measurement precision is insufficient due to dynamic execution conditions

Engineering Contradiction:
Improvedynamic FLOP measurement accuracyVSAvoidoperation complexity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent sets up counter configurations in advance before execution, defining which instruction types and sizes should be tracked. This preliminary configuration allows the system to automatically capture accurate dynamic FLOP counts during execution without requiring complex real-time analysis or post-processing of execution traces.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs feedback mechanisms where the retirement unit monitors executed instructions and provides feedback to the counting logic, which then updates counter values accordingly. This closed-loop feedback ensures accurate tracking of dynamically executed instructions while automating the measurement process, reducing operational complexity.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If all instruction combinations are tracked in a single counter, then the device complexity is low, but the measurement precision is insufficient due to inability to differentiate instruction types

Engineering Contradiction:
Improveinstruction type differentiationVSAvoidnumber of counters
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the FLOP counting function into multiple specialized counters, each configured to track specific instruction type combinations (e.g., scalar single-precision, packed double-precision). This segmentation provides fine-grained differentiation of instruction types while keeping each counter's function simple and well-defined.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent designs counters with universal programmable configuration capabilities, allowing each counter to be dynamically assigned to track different instruction combinations based on analysis requirements. This multi-functionality enables precise instruction type differentiation while maintaining a relatively compact counter architecture that can be reconfigured for different measurement scenarios.

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

Data Source

PatentUS9092214B2SIMD processor with programmable counters externally configured to count executed instructions having operands of particular register size and element size combination
Publication Date: 2015.07.28 INTEL CORP
  • US9092214B2 patent drawing
  • US9092214B2 patent drawing
  • US9092214B2 patent drawing

AI summary

A processor includes an execution unit to execute instructions, where each operand of each executed instruction has one or more elements of an element size and at least one operand of the instruction corresponds to a register of a register size. The processor further includes a counter configured to count a number of instructions that have been executed by the execution unit associated with a particular combination of register size and element size.