General-purpose parallel computing architecture

US11449452B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11449452-B2
Application numberUS-201715481201-A
CountryUS
Kind codeB2
Filing dateApr 6, 2017
Priority dateMay 21, 2015
Publication dateSep 20, 2022
Grant dateSep 20, 2022

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.

An apparatus includes multiple computing cores, where each computing core is configured to perform one or more processing operations and generate input data. The apparatus also includes multiple coprocessors associated with each computing core, where each coprocessor is configured to receive the input data from at least one of the computing cores, process the input data, and generate output data. The apparatus further includes multiple reducer circuits, where each reducer circuit is configured to receive the output data from each of the coprocessors of an associated computing core, apply one or more functions to the output data, and provide one or more results to the associated computing core. In addition, the apparatus includes multiple communication links communicatively coupling the computing cores and the coprocessors associated with the computing cores.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: multiple computing cores, each computing core configured to perform one or more processing operations and generate input data; multiple sets of coprocessors each uniquely associated with a different one of the computing cores, each coprocessor configured to receive the input data from at least one of the computing cores, process the input data, and generate output data; multiple reducer circuits each uniquely associated with a different one of the computing cores, each reducer circuit configured to receive the output data from the coprocessors in the set of coprocessors associated with one of the computing core uniquely associated with the reducer circuit, apply one or more functions to the output data, and provide one or more results to the computing core uniquely associated with the reducer circuit; and multiple communication links communicatively coupling the computing cores and at least some of the coprocessors. 2. The apparatus of claim 1 , wherein the communication links comprise direct connections between the computing cores and at least some of the coprocessors. 3. The apparatus of claim 1 , wherein the communication links comprise one or more direct connections between at least one of the computing cores and one or more coprocessors at a beginning of one or more chains of coprocessors. 4. The apparatus of claim 1 , wherein: the communication links comprise a direct connection between one of the computing cores and one of the coprocessors; and the one of the coprocessors is coupled to multiple additional ones of the coprocessors. 5. The apparatus of claim 1 , wherein at least some of the coprocessors are arranged in at least one tree. 6. The apparatus of claim 1 , wherein the communication links comprise links to a shared resource, the shared resource configured to store the input data from the computing cores and to provide the input data to the coprocessors. 7. The apparatus of claim 6 , wherein the shared resource comprises a shared memory. 8. The apparatus of claim 7 , wherein: the shared memory comprises multiple memory locations having multiple memory addresses; the computing cores are configured to write the input data to different memory addresses; and the coprocessors are configured to read the input data from the different memory addresses. 9. An apparatus comprising: multiple computing cores, each computing core configured to perform one or more processing operations and generate input data; multiple sets of coprocessors each uniquely associated with a different one of the computing cores, each coprocessor configured to receive the input data from at least one of the computing cores, process the input data, and generate output data; and multiple communication links communicatively coupling the computing cores and at least some of the coprocessors; wherein a subset of the coprocessors in each set of coprocessors is also configured to collectively apply one or more functions to the output data generated by the coprocessors in that set of coprocessors, one of the coprocessors in each set of coprocessors further configured to provide one or more results to the computing core uniquely associated with that set of coprocessors. 10. The apparatus of claim 9 , wherein the communication links comprise direct connections between the computing cores and at least some of the coprocessors. 11. The apparatus of claim 9 , wherein the communication links comprise one or more direct connections between at least one of the computing cores and one or more coprocessors at a beginning of one or more chains of coprocessors. 12. The apparatus of claim 9 , wherein: the communication links comprise a direct connection between one of the computing cores and one of the coprocessors; and the one of the coprocessors is coupled to multiple additional ones of the coprocessors. 13. The apparatus of claim 9 , wherein at least some of the coprocessors are arranged in at least one tree. 14. The apparatus of claim 9 , wherein the communication links comprise links to a shared resource, the shared resource configured to store the input data from the computing cores and to provide the input data to the coprocessors. 15. The apparatus of claim 14 , wherein the shared resource comprises a shared memory. 16. The apparatus of claim 15 , wherein: the shared memory comprises multiple memory locations having multiple memory addresses; the computing cores are configured to write the input data to different memory addresses; and the coprocessors are configured to read the input data from the different memory addresses. 17. An apparatus comprising: N parallel computing cores, each computing core configured to perform one or more processing operations and generate input data; N×N coprocessors, wherein each computing core is associated with N distinct parallel coprocessors, each coprocessor configured to receive the input data from at least one of the computing cores, process the input data, and generate output data; N reducer circuits, each computing core associated with a distinct one of the reducer circuits, each reducer circuit configured to receive the output data from the N coprocessors of the computing core distinctly associated with the reducer circuit, apply one or more functions to the output data, and provide one or more results to the computing core distinctly associated with the reducer circuit; and multiple communication links communicatively coupling the computing cores and at least some of the coprocessors. 18. The apparatus of claim 17 , wherein N is an integer having a value of at least sixteen. 19. The apparatus of claim 17 , wherein the communication links comprise links to a shared resource, the shared resource configured to store the input data from the computing cores and to provide the input data to the coprocessors. 20. The apparatus of claim 19 , wherein: the shared resource comprises a shared memory; the shared memory comprises multiple memory locations having multiple memory addresses; the computing cores are configured to write the input data to different memory addresses; and the coprocessors are configured to read the input data from the different memory addresses.

Assignees

Inventors

Classifications

  • Probabilistic graphical models, e.g. probabilistic networks · CPC title

  • Two dimensional arrays, e.g. mesh, torus · CPC title

  • for access to memory bus (G06F13/28 takes precedence) · CPC title

  • G06N20/00Primary

    Machine learning · CPC title

  • using electronic means · 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 US11449452B2 cover?
An apparatus includes multiple computing cores, where each computing core is configured to perform one or more processing operations and generate input data. The apparatus also includes multiple coprocessors associated with each computing core, where each coprocessor is configured to receive the input data from at least one of the computing cores, process the input data, and generate output dat…
Who is the assignee on this patent?
Goldman Sachs & Co, Goldman Sachs & Co Llc
What technology area does this patent fall under?
Primary CPC classification G06N20/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 20 2022 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).