Inter-processor communication techniques in a multiple-processor computing platform

US9626234B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9626234-B2
Application numberUS-201414570974-A
CountryUS
Kind codeB2
Filing dateDec 15, 2014
Priority dateSep 20, 2010
Publication dateApr 18, 2017
Grant dateApr 18, 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.

This disclosure describes communication techniques that may be used within a multiple-processor computing platform. The techniques may, in some examples, provide software interfaces that may be used to support message passing within a multiple-processor computing platform that initiates tasks using command queues. The techniques may, in additional examples, provide software interfaces that may be used for shared memory inter-processor communication within a multiple-processor computing platform. In further examples, the techniques may provide a graphics processing unit (GPU) that includes hardware for supporting message passing and/or shared memory communication between the GPU and a host CPU.

First claim

Opening claim text (preview).

The invention claimed is: 1. A device comprising: a graphics processing unit (GPU) comprising: a GPU cache configured to perform caching services for a shared memory space of a memory, the shared memory space being accessible by another processing unit; and one or more processing modules configured to selectively use caching services of the GPU cache to execute at least one of a read operation or a write operation with respect to the shared memory space of the memory in response to receiving information specifying whether caching services should be used for executing at least one of read operations or write operations with respect to the shared memory space, wherein to selectively use the caching services of the GPU cache to execute the at least one of the read operation or the write operation with respect to the shared memory space of the memory, the one or more processing modules are configured to: disable the caching services performed by the GPU cache for the shared memory space of the memory when the information specifying whether the caching services should be used specifies that an immediate mode should be enabled; and enable a shared memory cache coherency mode for the GPU cache when the information specifying whether the caching services should be used specifies that the immediate mode should be enabled. 2. The device of claim 1 , wherein the one or more processing modules are configured to use the caching services of the GPU cache to execute the at least one of the read operation or the write operation with respect to the shared memory space of the memory in response to receiving information specifying that caching services should be used for executing the at least one of read operations or write operations with respect to the shared memory space, and to not use the caching services of the GPU cache to execute the at least one of the read operation or the write operation with respect to the shared memory space of the memory in response to receiving information specifying that caching services should not be used for executing the at least one of read operations or write operations with respect to the shared memory space. 3. The device of claim 1 , wherein the information specifying whether caching services should be used for executing the at least one of read operations or write operations with respect to the shared memory space comprises at least one of a read instruction or a write instruction that specifies whether a cached mode is enabled for the at least one of the read instruction or the write instruction. 4. The device of claim 1 , wherein the information specifying whether caching services should be used for executing the at least one of read operations or write operations with respect to the shared memory space comprises the immediate mode attribute of a memory object associated with the shared memory space, the immediate mode attribute specifying whether the immediate mode is enabled for the memory object. 5. The device of claim 1 , wherein the one or more processing modules comprise a GPU cache control module. 6. The device of claim 1 , wherein the one or more processing modules comprise a bus controller. 7. The device of claim 1 , wherein the GPU comprises a programmable shader unit. 8. A method comprising: performing caching services for a shared memory space of a memory, the shared memory space being accessible by another processing unit; and selectively using, with one or more processing modules of a graphics processing unit (GPU), caching services of a GPU cache to execute at least one of a read operation or a write operation with respect to the shared memory space of the memory in response to receiving information specifying whether caching services should be used for executing at least one of read operations or write operations with respect to the shared memory space, the GPU cache being included in the GPU, the GPU cache being configured to perform caching services for the shared memory space of the memory, wherein selectively using the caching services of the GPU cache to execute the at least one of the read operation or the write operation with respect to the shared memory space of the memory comprises: disabling the caching services performed by the GPU cache for the shared memory space of the memory when the information specifying whether the caching services should be used specifies that an immediate mode should be enabled; and enabling a shared memory cache coherency mode for the GPU cache when the information specifying whether the caching services should be used specifies that the immediate mode should be enabled. 9. The method of claim 8 , wherein selectively using the caching services of the GPU cache comprises: using the caching services of the GPU cache to execute the at least one of the read operation or the write operation with respect to the shared memory space of the memory in response to receiving information specifying that caching services should be used for executing the at least one of read operations or write operations with respect to the shared memory space; and not using the caching services of the GPU cache to execute the at least one of the read operation or the write operation with respect to the shared memory space of the memory in response to receiving information specifying that caching services should not be used for executing the at least one of read operations or write operations with respect to the shared memory space. 10. The method of claim 8 , wherein the information specifying whether caching services should be used for executing the at least one of read operations or write operations with respect to the shared memory space comprises at least one of a read instruction or a write instruction that specifies whether a cached mode is enabled for the at least one of the read instruction or the write instruction. 11. The method of claim 8 , wherein the information specifying whether caching services should be used for executing the at least one of read operations or write operations with respect to the shared memory space comprises an immediate mode attribute of a memory object associated with the shared memory space, the immediate mode attribute specifying whether an immediate mode is enabled for the shared memory object. 12. The method of claim 8 , wherein the one or more processing modules comprise a GPU cache control module. 13. The method of claim 8 , wherein the one or more processing modules comprise a bus controller. 14. The method of claim 8 , wherein the GPU comprises a programmable shader unit. 15. An apparatus comprising: a graphics processing unit (GPU) comprising: a GPU cache configured to perform caching services for a shared memory space of a memory, the shared memory space being accessible by another processing unit; and means for selectively using caching services of the GPU cache to execute at least one of a read operation or a write operation with respect to the shared memory space of the memory in response to receiving information specifying whether caching services should be used for executing at least one of read operations or write operations with respect to the shared memory space, wherein the means for selectively using the caching services of the GPU cache to execute at least one of the read operation or the write operation with respect to the shared memory space of the memory comprises: means for disabling the caching services performed by the GPU cache for the shared memory space of the memory when the information specifying whether the caching services should be used specifies that an immediate mode should be enabl

Assignees

Inventors

Classifications

  • G06F9/546Primary

    Message passing systems or structures, e.g. queues · CPC title

  • Memory management · CPC title

  • G06F9/544Primary

    Buffers; Shared memory; Pipes · CPC title

  • Interprogram communication · CPC title

  • Processor architectures; Processor configuration, e.g. pipelining · 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 US9626234B2 cover?
This disclosure describes communication techniques that may be used within a multiple-processor computing platform. The techniques may, in some examples, provide software interfaces that may be used to support message passing within a multiple-processor computing platform that initiates tasks using command queues. The techniques may, in additional examples, provide software interfaces that may …
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/546. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 18 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).