GPU Self-Test During Idle Cycles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing self-test techniques for graphics processing units (GPUs) in automotive systems require complex software control and intervention from the central processing unit (CPU, leading to inefficiencies and delays in fault detection and compliance with safety standards like ISO 26262.

Innovation Solution

The GPU performs automatic self-tests independently during idle states, using hardware mechanisms to store and restore context without CPU intervention, allowing concurrent and online testing while maintaining normal operation and selectively pausing self-tests to execute other instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the GPU performs automatic self-tests independently during idle states, then the complexity of software control is reduced and fault detection is accelerated, but the GPU must pause normal operations to execute self-tests

Engineering Contradiction:
Improvesoftware control complexityVSAvoidGPU idle time for self-test
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The GPU performs self-tests independently without CPU intervention by using built-in hardware mechanisms to store and restore context. The GPU controller automatically detects idle states, saves current execution context to memory, executes self-test routines, and restores context to resume normal operations, eliminating the need for complex software control and CPU oversight.

Inventive Principle:
Principle #25Self-service

2Reliability

If the GPU enters idle mode to execute self-tests, then safety compliance is improved, but the productivity of the GPU is reduced during test execution

Engineering Contradiction:
Improvesafety complianceVSAvoidGPU task execution rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The GPU executes self-tests periodically during idle states rather than continuously. The GPU controller monitors for idle conditions and triggers self-tests only when the GPU is not actively processing graphics operations, ensuring safety compliance while minimizing impact on productivity during active task execution.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The GPU controller proactively identifies idle states and schedules self-tests during these periods before they affect productivity. By predicting and utilizing idle time windows, the system ensures safety testing occurs without interrupting active graphics processing tasks.

Inventive Principle:
Principle #10Preliminary action

3Speed

If the GPU uses hardware mechanisms to store and restore context, then the speed of self-test execution is improved, but the device complexity increases

Engineering Contradiction:
Improveself-test execution speedVSAvoidhardware mechanism complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The GPU controller is designed to perform multiple functions: managing normal graphics processing operations, detecting idle states, coordinating self-test execution, and handling context save/restore operations. By making the controller multi-functional, the patent avoids adding separate dedicated hardware components, thus improving self-test execution speed without proportionally increasing overall device complexity.

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

Data Source

PatentUS11194683B2Self-test during idle cycles for shader core of GPU
Publication Date: 2021.12.07 QUALCOMM INC
  • US11194683B2 patent drawing
  • US11194683B2 patent drawing
  • US11194683B2 patent drawing

AI summary

The disclosure describes techniques for a self-test of a graphics processing unit (GPU) independent of instructions from another processing device. The GPU may perform the self-test in response to a determination that the GPU enters an idle mode. The self-test may be based on information indicating a safety level, where the safety level indicates how many faults in circuits or memory blocks of the GPU need to be detected.