High-speed resume for GPU applications
AssigneeIntel Corporation
InventorsTravis Schluessler, Zack Waters, Charles Moidel, Michael Apodaca, Murali Ramadoss
Life of this patent
Estimating the term…
Abstract
Described herein are devices, systems and methods to utilize non-volatile memory to save and retrieve data that is used to accelerate the load and resume of GPU accelerated applications. Non-volatile memory and GPU logic are configured to enable the GPU to directly access the non-volatile memory to enable data to be read without requiring the data to traverse the CPU and CPU memory. This data access path creates a faster method for loading data into GPU local memory.
Claims20
A method comprising:
- on a graphics processor comprising one or more graphics processing resources:
- enabling local execution of at least a portion of graphics processing operations of a gaming application associated with a cloud-based gaming system in response to a determination that one or more capabilities of the graphics processor exceed a threshold;
- receiving a request to create a resource associated with the gaming application that is visible to the graphics processor;
- determining that the resource is to be stored to non-volatile memory that is addressable by the graphics processor;
- storing the resource into the non-volatile memory that is addressable by the graphics processor;
- initializing a reference to the resource to an address of the non-volatile memory that is accessible by the graphics processor;
- and
- loading the resource from the non-volatile memory for storage into volatile memory of the graphics processor in response to execution of a command that causes the graphics processor to access the resource.
A system comprising:
- a memory device;
- and
- one or more processors coupled to the memory device, the one or more processors including a graphics processor comprising one or more graphics processing resources, the one or more processors to execute instructions stored in the memory device, wherein the instructions cause the one or more processors to perform operations comprising:
- enabling local execution of at least a portion of graphics processing operations of a gaming application associated with a cloud-based gaming system in response to a determination that one or more capabilities of the graphics processor exceed a threshold;
- receiving a request to create a resource associated with the gaming application that is visible to the graphics processor;
- determining that the resource is to be stored to non-volatile memory that is addressable by the graphics processor;
- storing the resource into the non-volatile memory that is addressable by the graphics processor;
- initializing a reference to the resource to an address of the non-volatile memory that is accessible by the graphics processor;
- and
- loading the resource from the non-volatile memory for storage into volatile memory of the graphics processor in response to execution of a command that causes the graphics processor to access the resource.
A non-transitory machine readable medium storing instructions which, when executed by one or more processors including graphics processor comprising one or more graphics processing resources, cause the one or more processors to perform operations comprising:
- enabling local execution of at least a portion of graphics processing operations of a gaming application associated with a cloud-based gaming system in response to a determination that one or more capabilities of the graphics processor exceed a threshold;
- receiving a request to create a resource associated with the gaming application that is visible to a graphics processor;
- determining that the resource is to be stored to non-volatile memory that is addressable by the graphics processor;
- storing the resource into the non-volatile memory that is addressable by the graphics processor;
- initializing a reference to the resource to an address of the non-volatile memory that is accessible by the graphics processor;
- and
- loading the resource from the non-volatile memory for storage into volatile memory of the graphics processor in response to execution of a command that causes the graphics processor to access the resource.
Dependencies are inferred from the claim text.