IP Library Granted Patent US 9,507,726
Granted Patent B2
US 9,507,726 · App. 14/262,475 · Granted Nov 29, 2016

GPU shared virtual memory working set management

Inventor: Derek R. Kumar (Cupertino, CA)
Assignee: Apple Inc.
G06F12/1009G06F2212/657
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,507,726
App. No.
14/262,475
Granted
Nov 29, 2016
Kind
B2
Abstract

A method and apparatus of a device that manages virtual memory for a graphics processing unit is described. In an exemplary embodiment, the device manages a graphics processing unit working set of pages. In this embodiment, the device determines the set of pages of the device to be analyzed, where the device includes a central processing unit and the graphics processing unit. The device additionally classifies the set of pages based on a graphics processing unit activity associated with the set of pages and evicts a page of the set of pages based on the classifying.

Claims (29)

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to track virtual memory access by a graphics processing unit of a device, the method comprising:

detecting a virtual memory access to a virtual memory address by a processing unit, wherein the device includes a central processing unit and the graphics processing unit that are each able to access the virtual memory address;

determining if the processing unit is a graphic processing unit; and

if the processing unit is the graphics processing unit, setting a graphics processing unit reference bit in a page table entry of a page table that corresponds to the virtual memory address, wherein the graphics processing unit reference bit indicates whether the graphics processing unit has recently accessed the virtual memory address, the page table entry further includes a central processing unit reference bit that indicates whether the central processing unit has recently accessed the virtual memory address, and the page table is shared between the central processing unit and the graphic processing unit.

2. The non-transitory machine-readable medium of claim 1 , further comprising:

locating the page table entry.

3. The non-transitory machine-readable medium of claim 1 , wherein if there is not a page table entry that corresponds to the virtual memory address,

creating the page table entry.

4. The non-transitory machine-readable medium of claim 1 , wherein the page table entry includes a physical address that is mapped to the virtual machine address.

5. The non-transitory machine-readable medium of claim 1 , wherein the virtual machine access is selected from the group consisting of a read access to the virtual memory address and a write access to the virtual memory address.

6. A method to track virtual memory access by a graphics processing unit of a device, the method comprising:

detecting an access to a virtual memory address by a processing unit, wherein the device includes a central processing unit and the graphics processing unit that are each able to access the virtual memory address;

determining if the processing unit is a graphic processing unit; and

if the processing unit is the graphics processing unit,

setting a graphics processing unit reference bit in a page table entry of a page table that corresponds to the virtual memory address, wherein the graphics processing unit reference bit indicates whether the graphics processing unit has recently accessed the virtual memory address, the page table entry further includes a central processing unit reference bit that indicates whether the central processing unit has recently accessed the virtual memory address, and the page table is shared between the central processing unit and the graphic processing unit.

7. The method of claim 6 , further comprising:

locating the page table entry.

8. The method of claim 7 , wherein if there is not a page table entry that corresponds to the virtual memory address,

creating the page table entry.

9. The method of claim 6 , wherein the page table entry includes a physical address that is mapped to the virtual machine address.

10. The method of claim 6 , wherein the virtual machine access is selected from the group consisting of a read access to the virtual memory address and a write access to the virtual memory address.

11. A device that tracks virtual memory access by a graphics processing unit of the device, the device comprising:

a processor;

a memory coupled to the processor though a bus; and

a process executed from the memory by the processor that causes the processor to detect an access to a virtual memory address by a processing unit, wherein the device includes a central processing unit and the graphics processing unit that are each able to access the virtual memory address, determine if the processing unit is a graphic processing unit, and if the processing unit is the graphics processing unit, set a graphics processing unit reference bit in a page table entry of a page table that corresponds to the virtual memory address, wherein the graphics processing unit reference bit indicates whether the graphics processing unit has recently accessed the virtual memory address, the page table entry further includes a central processing unit reference bit that indicates whether the central processing unit has recently accessed the virtual memory address, and the page table is shared between the central processing unit and the graphic processing unit.

12. The device of claim 11 , wherein the processor further causes the processor to locate the page table entry.

13. The device of claim 11 , wherein if there is not a page table entry that corresponds to the virtual memory address, the processor further causes the processor to create the page table entry.

14. The device of claim 11 , wherein the page table entry includes a central processing unit reference bit.

15. The device of claim 11 , wherein the page table entry includes a physical address that is mapped to the virtual machine address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2014
From: KUMAR, DEREK R.
To: APPLE INC.
Reel/Frame 032771/0602 →
Continuity (1)
Related Publication 20150309940A1 · Oct 29, 2015