Sharing an accelerator context across multiple processes
US-9671970-B2 · Jun 6, 2017 · US
US9880941B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9880941-B2 |
| Application number | US-201614987357-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 4, 2016 |
| Priority date | Oct 27, 2015 |
| Publication date | Jan 30, 2018 |
| Grant date | Jan 30, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present disclosure relates to sharing a context on a coherent hardware accelerator among multiple processes. According to one embodiment, in response to a first process requesting to create a shared memory space, a system creates a shared hardware context on the coherent hardware accelerator and binds the first process and the shared memory space to the hardware context. In response to the first process spawning one or more second processes, the system binds the one or more second processes to the shared memory space and the hardware context. Subsequently, the system performs one or more operations initiated by the first process or one of the one or more second processes on the coherent hardware accelerator according to the bound hardware context.
Opening claim text (preview).
What is claimed is: 1. A method for multiple processes to share a hardware context established on a coherent hardware accelerator, comprising: using a first process: creating a shared memory space, creating a shared hardware context on the coherent hardware accelerator, attaching the shared memory space to the shared hardware context, and binding the first process to the shared hardware context; in response to the first process spawning one or more second processes, binding the one or more second processes to the hardware context; and performing one or more operations initiated by the first process or one of the one or more second processes on the coherent hardware accelerator according to the bound hardware context. 2. The method of claim 1 , wherein creating the shared hardware context comprises: generating a key identifying the shared hardware context; and providing the key to the first process. 3. The method of claim 2 , wherein binding the one or more second processes to the shared hardware context comprises allowing the one or more second processes to access the shared memory space attached to the shared hardware context. 4. The method of claim 1 , wherein creating the shared hardware context comprises launching a kernel process associated with the shared hardware context to resolve faults generated while performing operations on the coherent hardware accelerator. 5. The method of claim 1 , further comprising: detecting a page fault generated by an operation executed on the coherent accelerator by one of the first process or one or more second processes; and resolving the page fault using a kernel process. 6. The method of claim 5 , wherein resolving the page fault comprises: loading a memory page associated with an address that caused the page fault into the shared memory space. 7. The method of claim 5 , wherein the kernel process is configured to process multiple page faults simultaneously.
by program, e.g. task dispatcher, supervisor, operating system · CPC title
Emulated environment, e.g. virtual machine · CPC title
for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence) · CPC title
on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247) · CPC title
Saving or restoring of program or task context · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.