Dispatching function calls across accelerator devices

US9547526B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9547526-B2
Application numberUS-201514744048-A
CountryUS
Kind codeB2
Filing dateJun 19, 2015
Priority dateMar 24, 2015
Publication dateJan 17, 2017
Grant dateJan 17, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one embodiment, a computer-implemented method for dispatching a function call includes receiving, at a supervisor processing element (PE) and from an origin PE, an identifier of a target device, a stack frame of the origin PE, and an address of a function called from the origin PE. The supervisor PE allocates a target PE of the target device. The supervisor PE copies the stack frame of the origin PE to a new stack frame on a call stack of the target PE. The supervisor PE instructs the target PE to execute the function. The supervisor PE receives a notification that execution of the function is complete. The supervisor PE copies the stack frame of the target PE to the stack frame of the origin PE. The supervisor PE releases the target PE of the target device. The supervisor PE instructs the origin PE to resume execution of the program.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for dispatching a function call, the method comprising: making, by an origin processing element (PE) of an origin device, during execution of a program by the origin device, a function call to a function to be performed by a target device other than the origin device; storing, by the origin PE, on a stack frame of the origin PE, one or more parameters of the function call; receiving, at a supervisor processing element (PE) and from an origin PE, an identifier of the target device, the stack frame of the origin PE, and an address of the function called from the origin PE; allocating, by the supervisor PE, a target PE of the target device; copying, by the supervisor PE, the stack frame of the origin PE to a new stack frame on a call stack of the target PE, wherein the origin PE and the target PE have distinct memory spaces from each other; instructing, by the supervisor PE, the target PE to execute the function at the address; receiving, by the supervisor PE, notification from the target PE that execution of the function is complete; copying, by the supervisor PE, the new stack frame on the call stack of the target PE to the stack frame of the origin PE; releasing, by the supervisor PE, the target PE of the target device; and instructing, by the supervisor PE, the origin PE to resume execution of the program. 2. The method of claim 1 , wherein the target device is a hardware accelerator, and wherein the origin PE resides on the origin device being a different hardware accelerator than the target device on which the target PE resides. 3. The method of claim 2 , wherein the copying the stack frame of the origin PE to the new stack frame on the call stack of the target PE comprises address translation. 4. The method of claim 1 , wherein the target device and the origin device on which the origin PE resides have different architectures. 5. The method of claim 4 , wherein the copying the stack frame of the origin PE to the new stack frame on the call stack of the target PE comprises marshalling data to comply with an architecture of the target PE. 6. The method of claim 1 , wherein the supervisor PE is a PE on a hardware accelerator.

Assignees

Inventors

Classifications

  • Interprogram communication · CPC title

  • G06F9/485Primary

    Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · CPC title

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · CPC title

  • Transaction processing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9547526B2 cover?
In one embodiment, a computer-implemented method for dispatching a function call includes receiving, at a supervisor processing element (PE) and from an origin PE, an identifier of a target device, a stack frame of the origin PE, and an address of a function called from the origin PE. The supervisor PE allocates a target PE of the target device. The supervisor PE copies the stack frame of the o…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/485. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 17 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).