GPU Power Reallocation for Non-Gaming Compute Tasks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional gaming consoles do not allow for the reallocation of GPU power for non-gaming purposes, limiting the utilization of high processing throughput GPUs for tasks such as machine learning and cryptocurrency mining.

Innovation Solution

A system and method that reallocates GPU power by defining a kernel function for matrix multiplication, generating a control command queue, and executing it on the GPU to allocate memory and perform computations, allowing for the utilization of GPUs for non-gaming tasks through the use of OpenCL, DirectCompute, or DirectML, and optimizing performance with techniques like local memory caching and asynchronous transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If GPU power is dedicated solely to gaming purposes, then gaming performance is optimized, but versatility and adaptability for non-gaming tasks are limited

Engineering Contradiction:
ImproveGPU usage versatilityVSAvoidGPU computational throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic GPU power reallocation by enabling the system to switch between gaming mode and non-gaming computational tasks based on user needs. The GPU allocation manager dynamically adjusts GPU resource allocation, allowing the same hardware to serve different purposes - optimizing for gaming performance when needed and providing high computational throughput for tasks like machine learning and cryptocurrency mining when gaming is not in use.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If GPU is allocated for non-gaming tasks, then computational versatility improves, but gaming performance may be compromised

Engineering Contradiction:
ImproveNon-gaming task capabilityVSAvoidGaming performance consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system provides dynamic control over GPU allocation through a user interface that allows users to select between gaming mode and non-gaming computational tasks. When gaming mode is selected, the system allocates full GPU resources to ensure consistent gaming performance. When non-gaming tasks are selected, the system reallocates GPU resources to provide high computational throughput for tasks such as machine learning and cryptocurrency mining.

Inventive Principle:
Principle #15Dynamics

3Productivity

If GPU memory is allocated dynamically, then resource utilization efficiency improves, but system complexity increases

Engineering Contradiction:
ImproveResource utilization efficiencyVSAvoidGPU memory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The GPU allocation manager automatically handles memory allocation and deallocation for both gaming and non-gaming tasks without requiring manual intervention. The system self-manages GPU resource allocation by detecting task types, allocating appropriate memory resources, and freeing them when tasks complete. This self-service approach improves resource utilization efficiency while containing complexity within the management system rather than exposing it to users.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240403140A1System and method for reallocation of GPU power
Publication Date: 2024.12.05 HAWKINS JASON
  • US20240403140A1 patent drawing
  • US20240403140A1 patent drawing
  • US20240403140A1 patent drawing

AI summary

A system for reallocating GPU power of a gaming console to non-gaming purposes, including a processor of the gaming console comprising a GPU and a memory on which are stored machine-readable instructions that when executed by the processor, cause the processor to: define a kernel function for matrix multiplication; pass three global memory pointers (A, B, and C) and an integer (N) as input arguments to the kernel function, wherein the arguments represent two matrices A and B being multiplied and their dimensions; calculate a product of the two matrices and store a result in an output matrix C; generate a control command queue based on the outputs of the kernel function for matrix multiplication; execute the control command queue to allocate memory on the GPU for the input and output matrices; copy the input matrices A and B from a gaming console memory to GPU memory; and execute a kernel on the GPU specifying a global work size for the kernel as a two-dimensional array.