IP Library › Granted Patent US 8,752,064
Granted Patent B2
US 8,752,064 · App. 13/307,505 · Granted Jun 10, 2014

Optimizing communication of system call requests

Inventors: Benjamin Thomas Sander (Austin, TX); Michael Houston (Cupertino, CA); Newton Cheung (San Jose, CA); Keith Lowery (Bothell, WA)
Assignee: Advanced Micro Devices, Inc.
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 8,752,064
App. No.
13/307,505
Granted
Jun 10, 2014
Kind
B2
Abstract

Provided herein is a method for optimizing communication for system calls. The method includes storing a system call for each work item in a wavefront and transmitting said stored system calls to a processor for execution. The method also includes receiving a result to each work item in the wavefront responsive to said transmitting.

Claims (50)

1. A method comprising:

storing, in a corresponding single instructor multiple data (SIMD) element, information to process a system call request for each work item in a wavefront;

grouping the SIMD elements as an SIMD vector to create a system call request data structure;

transmitting the SIMD vector to a processor for execution; and

receiving a result to each work item.

2. The method of claim 1 , further comprising enqueueing the SIMD vector within a high-priority queue visible to a central processing unit (CPU).

3. The method of claim 1 , wherein each SIMD element comprises a function selector, an argument list, and a memory space for the result.

4. The method of claim 1 , wherein the SIMD vector includes system call requests from multiple wavefronts.

5. A method, executed in a computer system having at least one processor, comprising:

receiving a single instructor multiple data CSIMD) vector, wherein the SIMD vector comprises SIMD elements corresponding to a system call request from each work item in a wavefront;

executing each system call request in each SIMD element; and

transmitting, via the SIMD vector, the result of each system call to each work item in the wavefront.

6. The method of claim 5 , wherein the receiving includes receiving the SIMD vector in a high priority queue visible to a graphics processing device.

7. A system comprising:

a memory configured to store, in a corresponding single instructor multiple data (SIMD), element, information to process a system call request for each work item in a wavefront, wherein the SIMD elements are grouped as an SIMD vector; and

a CPU configured to:

execute each system call request stored in the SIMD elements, and

transmit a result of each system call request to each work item in the wavefront.

8. The system of claim 7 , wherein the memory is a high-priority queue configured to enqueue the SIMD vector, the high-priority queue being visible to a CPU.

9. The system of claim 7 , wherein each SIMD element comprises a function selector, an argument list, and a memory space for the result.

10. The system of claim 8 , wherein the SIMD vector includes system call requests from multiple wavefronts.

11. A system, comprising:

a memory; and

a CPU configured to:

receive a single instruction multiple data (SIMD) vector, wherein the SIMD vector includes SIMD elements containing information to process a corresponding system call request for each work item in a wavefront,

execute each system call stored in the SIMD vector, and

transmit the result of each system call to each work item in the wavefront.

12. The system of claim 11 , wherein the CPU is further configured to:

receive the SIMD vector from a high priority queue.

13. An article of manufacture including a computer storage device having instructions stored thereon that, when executed by a computing device, cause said computing device to perform operations comprising:

storing, in a corresponding single instructor multiple data (SIMD) element, information to process a system call request for each work item in a wavefront;

grouping the SIMD elements as an SIMD vector to create a system call request data structure;

transmitting the SIMD vector to a processor for execution; and

receiving a result to each work item in the wavefront.

14. The article of manufacture of claim 13 , further comprising enqueueing the SIMD vector within a high-priority queue visible to a CPU.

15. An article of manufacture including a computer storage device having instructions stored thereon that, when executed by a computing device, cause said computing device to perform operations comprising:

receiving a single instructor multiple data (SIMD) vector, wherein the SIMD vector comprises SIMD elements corresponding to a system call request from each work item in a wavefront;

executing each system call request from the SIMD vector; and

transmitting the result of each system call to each work item in the wavefront.

16. The article of manufacture of claim 15 , wherein the receiving includes receiving the SIMD vector in a high priority queue visible to a graphics processing device.

17. A computer storage device having instructions recorded thereon that, when executed by a computing device, cause the computing device to perforin operations comprising:

storing, in a corresponding single instructor multiple data (SIMD) element, information to process a system call request for each work item in a wavefront;

transmitting said stored system calls, via an SIMD vector, to a processor for execution, wherein the SIMD vector comprises the SIMD elements grouped as a single data structure; and

responsive to said transmitting, receiving a result to each work item in the wavefront.

18. The computer storage device of claim 17 , further comprising enqueueing the SIMD vector within a high-priority queue visible to a central processing unit (CPU).

19. A computer storage device having instructions recorded thereon that, when executed by a computing device, cause the computing device to perform operations comprising:

receiving a single instructor multiple data (SIMD) vector, wherein the SIMD vector comprises SIMD elements corresponding to a system call request from each work item in a wavefront;

executing each system call request from the SIMD vector; and

transmitting the result of each system call to each work item in the wavefront.

20. The computer storpe device of claim 19 , wherein the SIMD vector is received from a high priority queue visible to the graphics processing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: SANDER, BENJAMIN THOMAS; HOUSTON, MICHAEL CLAIR; CHEUNG, NEWTON; LOWERY, KEITH
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 027901/0745 →
Continuity (2)
Provisional Application 61422953 · Dec 14, 2010
Related Publication 20120180072A1 · Jul 12, 2012