Function callback mechanism between a Central Processing Unit (CPU) and an auxiliary processor
First Claim
1. A system for implementing a function between a first processor and a second processor, said system comprising:
- a shared virtual memory (SVM) coupled to the first and second processors, said SVM to store one or more double-ended queues (Deques);
one or more execution units (EUs) of the first processor, a first of said one or more EUs associated with a first of the one or more Deques, to push the function to said first Deque; and
one or more request handler threads executing on said second processor, at least a first of the one or more request handler threads to;
pop the function from the first Deque;
execute the function; and
generate a completion signal to said first EU in response to completion of the function.
0 Assignments
0 Petitions
Accused Products
Abstract
Generally, this disclosure provides systems, devices, methods and computer readable media for implementing function callback requests between a first processor (e.g., a GPU) and a second processor (e.g., a CPU). The system may include a shared virtual memory (SVM) coupled to the first and second processors, the SVM configured to store at least one double-ended queue (Deque). An execution unit (EU) of the first processor may be associated with a first of the Deques and configured to push the callback requests to that first Deque. A request handler thread executing on the second processor may be configured to: pop one of the callback requests from the first Deque; execute a function specified by the popped callback request; and generate a completion signal to the EU in response to completion of the function.
11 Citations
25 Claims
-
1. A system for implementing a function between a first processor and a second processor, said system comprising:
-
a shared virtual memory (SVM) coupled to the first and second processors, said SVM to store one or more double-ended queues (Deques); one or more execution units (EUs) of the first processor, a first of said one or more EUs associated with a first of the one or more Deques, to push the function to said first Deque; and one or more request handler threads executing on said second processor, at least a first of the one or more request handler threads to; pop the function from the first Deque; execute the function; and generate a completion signal to said first EU in response to completion of the function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for function operation between a first processor and a second processor, said method comprising:
-
pushing a function, by a first execution unit (EU) of one or more EUs of said first processor, to a first double-ended queue (Deque) of one or more Deques, said first Deque stored in a shared virtual memory (SVM) coupled to said first and second processors; popping the function from said first Deque, by a first request handler thread of one or more request handler threads executing on said second processor; executing, by said first request handler thread, the function; and generating, by said first request handler thread, a completion signal to said first EU in response to completion of said function. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. At least one computer-readable storage medium having instructions stored thereon which when executed by a processor result in the following operations for a function between a first processor and a second processor, said operations comprising:
-
pushing the function, by a first execution unit (EU) of one or more EUs of said first processor, to a first double-ended queue (Deque) of one or more Deques, said one or more Deques stored in a shared virtual memory (SVM) coupled to said first and second processors; popping the function from said first Deque, by a first request handler thread of one or more request handler threads executing on said second processor; executing, by said first request handler thread, the function; and generating, by said first request handler thread, a completion signal to said first EU in response to completion of said function. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification