IP Library Granted Patent US 12,393,832
Granted Patent B2
US 12,393,832 · App. 17/598,128 · Granted Aug 19, 2025

Neuromorphic processing system and method of operating the same

Inventors: Amirreza Yousefzadeh (Eindhoven, NL); Orlando Miguel Pires Dos Reis Moreira (Eindhoven, NL); Peng Qiao (Eindhoven, NL)
Assignee: Snap Inc.
G06N3/063G06F15/17306
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,393,832
App. No.
17/598,128
Granted
Aug 19, 2025
Kind
B2
Abstract

A neuromorphic processing system ( 1 ) is disclosed comprising a plurality of neuromorphic processing clusters ( 100 ) coupled to a message exchange network ( 20 ) for exchange of event messages. A neuromorphic cluster therein comprises a message receiving facility ( 110 ) to receive event messages from the message exchange network, a message transmitting facility ( 120 ) to transmit event messages via the message exchange network and a neuromorphic processor ( 130 ) having a set of state memory entries ( 10 j ) for storing a value representative of a neuromorphic state associated with a neuromorphic element and a computation facility ( 134 ) to update the neuromorphic state associated with neuromorphic elements that are indicated as the destination of the event message. The message receiving facility ( 110 ) and/or the message transmitting facility ( 120 ) are enhanced to enable message distribution according to a pattern.

Claims (65)

1. A neuromorphic processing system comprising a plurality of neuromorphic processing clusters for exchange of event messages, each one of the event messages comprising a destination indication and an event message payload and further having an event message type indicating a direct event message type or a packed event message type, wherein a neuromorphic processing cluster of the plurality of neuromorphic processing clusters comprises:

a neuromorphic processor having:

a set of state memory entries, each state memory entry for storing a value representative of a neuromorphic state associated with a neuromorphic element, and

a computation facility to update the neuromorphic state associated with each neuromorphic element of one or more neuromorphic elements indicated as a destination in the destination indication of a transmitted event message; and

a message receiving facility to:

retrieve, from a packed event message, a reference to a pattern header memory specifying a pattern,

use the reference to retrieve from the pattern header memory an indication for a set of neuromorphic elements being a destination of the packed event message,

compute a respective address of each of the neuromorphic elements in the set, and

retrieve, from a direct event message, message parameters from the event message payload of the direct event message, the message parameters to be provided to a specific neuromorphic element indicated by the destination indication of the direct event message.

2. The neuromorphic processing system according to claim 1 , wherein the message receiving facility to:

retrieve one or more common update parameter values from a referenced entry in the pattern header memory, and

instruct the computation facility to update the neuromorphic elements of the set of neuromorphic elements in accordance with the one or more common update parameter values.

3. The neuromorphic processing system according to claim 1 , wherein the message receiving facility comprises the pattern header memory and a pattern memory, and

wherein the message receiving facility is to:

retrieve a reference to one or more entries in the pattern memory from a referenced entry of the pattern header memory, and

instruct the computation facility to update the neuromorphic elements of the set of neuromorphic elements in accordance with parameter values specified in the referenced one or more entries in the pattern memory.

4. The neuromorphic processing system according to claim 1 , wherein the message receiving facility comprises the pattern header memory and a pattern memory, and wherein the message receiving facility is to determine whether the packed event message is of a first subtype or of a second subtype,

wherein the message receiving facility is to, upon determining that the packed event message is of the first subtype:

retrieve one or more common update parameter values from a referenced entry in the pattern header memory, and

instruct the computation facility to update the neuromorphic elements of the set of neuromorphic elements in accordance with the one or more common update parameter values; or

wherein the message receiving facility is to, upon determining that the packed event message is of the second subtype:

retrieve a reference to one or more entries in the pattern memory from the referenced entry of the pattern header memory, and

instruct the computation facility to update the neuromorphic elements of the set of neuromorphic elements in accordance with parameter values specified in the referenced one or more entries in the pattern memory.

5. The neuromorphic processing system according to claim 2 , wherein the one or more common update parameters specify a leakage operation.

6. The neuromorphic processing system according to claim 3 , wherein an entry in the pattern memory comprises a weight indication,

wherein the weight indication specifies a weight of an indicated element in the pattern to be applied when updating the neuromorphic element coinciding with the element in the pattern.

7. The neuromorphic processing system according to claim 3 , wherein the indicated entry of the pattern header memory further comprises a specification of a feature map to be updated, and

wherein the computation facility is to update only the neuromorphic state of those neuromorphic elements in the specified set that are inside the feature map.

8. The neuromorphic processing system according to claim 3 , wherein an entry in the pattern memory comprises an offset indication, and

wherein the offset indication specifies a location of a next element in the pattern.

9. The neuromorphic processing system according to claim 8 , wherein the offset indication specifies that the indicated element is the last element of the pattern.

10. A method of operating a neuromorphic processing system with a plurality of neuromorphic processing clusters for exchange of event messages having an event message type indicating a direct event message type or a packed event message type, comprising:

receiving, by a neuromorphic processing cluster, a packed event message, the packed event message including:

a destination indication, and

an event message payload;

retrieving from the event message payload an indication of an entry in a pattern header memory;

obtaining from the indicated entry a specification for a set of neuromorphic elements as a destination of the packed event message;

updating the neuromorphic elements in the set;

receiving a direct event message;

selecting a neuromorphic element specified as the destination of the direct event message; and

updating a state of the neuromorphic element in accordance with message parameters contained in the event message payload of the direct event message.

11. The method according to claim 10 , further comprising:

determining whether the packed event message provides a first pattern indication or a second pattern indication;

upon determining that the first pattern indication is provided, additionally obtaining update parameters from the indicated entry of the pattern header memory and updating all neuromorphic elements in the specified set in accordance with the update parameters; or

upon determining that the second pattern indication is provided, additionally obtaining an indication of one or more entries in a pattern memory from the indicated entry of the pattern header memory and updating the neuromorphic elements in the specified set in accordance with a pattern specified at the indicated one or more entries in the pattern memory.

12. The method according to claim 11 , further comprising:

upon determining that the packed event message provides the second pattern indication, additionally:

obtaining a specification of a feature map to be updated; and

restricting the updating to neuromorphic elements in the specified set that are inside the feature map.

13. The method according to claim 10 , further comprising:

initiating an event procedure;

retrieving, from a respective entry in a synapse header memory, a first destination address component and a reference to a set of one or more entries in a synapse property memory, wherein each of the referenced entries comprise a respective second destination address component; and

computing, for each of the referenced entries, a respective destination address from the first destination address component and the respective second destination address component and transmitting a respective event message to a target neuromorphic processing element indicated by the respective destination address.

14. The neuromorphic processing system according to claim 1 , comprising a message transmitting facility that comprises a synapse header memory and a synapse property memory, wherein an entry in the synapse header memory includes a first destination address component and further comprises a reference to a set of one or more entries in the synapse property memory that each comprise a second destination address component, and wherein the message transmitting facility is to transmit a respective event message associated with each one of the one or more entries having a respective destination address computed from the first destination address component and the second destination address component.

15. The neuromorphic processing system according to claim 4 , wherein the one or more common update parameters specify a leakage operation.

16. The neuromorphic processing system according to claim 4 , wherein an entry in the pattern memory comprises a weight indication, wherein the weight indication specifies a weight of an indicated element in the pattern to be applied when updating the neuromorphic element coinciding with the element in the pattern.

17. The neuromorphic processing system according to claim 4 , wherein the indicated entry of the pattern header memory further comprises a specification of a feature map to be updated, and wherein the computation facility is to update only the neuromorphic state of those neuromorphic elements in the specified set that are inside the feature map.

18. The method according to claim 15 , further comprising:

determining whether the packed event message provides a first pattern indication or a second pattern indication;

upon determining that the first pattern indication is provided, additionally obtaining update parameters from the indicated entry of the pattern header memory and updating all neuromorphic elements in the specified set in accordance with the update parameters or

upon determining that the second pattern indication is provided, additionally obtaining an indication of one or more entries in a pattern memory from the indicated entry of the pattern header memory and updating the neuromorphic elements in the specified set in accordance with a pattern specified at the indicated one or more entries in the pattern memory.

19. The method according to claim 10 , further comprising:

retrieving a reference to one or more entries in a pattern memory from a referenced entry of the pattern header memory; and

updating the neuromorphic elements in the set of neuromorphic elements in accordance with parameter values specified in the referenced one or more entries in the pattern memory.

20. The method according to claim 19 , wherein an entry in the pattern memory comprises an offset indication, and wherein the offset indication specifies a location of a next element in a pattern.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2024
From: GRAI MATTER LABS S.A.S.
To: SNAP INC.
Reel/Frame 067537/0339 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2022
From: YOUSEFZADEH, AMIRREZA; PIRES DOS REIS MOREIRA, ORLANDO MIGUEL; QIAO, PENG
To: GRAI MATTER LABS S.A.S.
Reel/Frame 061590/0698 →
Priority Claims (1)
EP 19165490 · Mar 27, 2019 · regional
Continuity (1)
Related Publication 20220188615A1 · Jun 16, 2022
References Cited (25)
US 9836691B1 · Narayanaswami · 2017 [cited by examiner]
US 11456984B2 · Shingu · 2022 [cited by examiner]
US 20180174032A1 · Davies · 2018 [cited by examiner]
US 20180174033A1 · Davies · 2018 [cited by examiner]
US 20180357530A1 · Beery · 2018 [cited by examiner]
US 20190042930A1 · Pugsley · 2019 [cited by examiner]
US 20190121734A1 · Akopyan · 2019 [cited by examiner]
EP 3340128A1 · 2018 [cited by examiner]
EP 3343458A1 · 2018 [cited by examiner]
EP 3343461A1 · 2018 [cited by examiner]
EP 3343465A1 · 2018 [cited by examiner]
EP 3547227A1 · 2019 [cited by examiner]
EP 3605401A1 · 2020 [cited by examiner]
EP 3640862A1 · 2020 [cited by examiner]
EP 3716154A1 · 2020 [cited by applicant]
EP 3948674A1 · 2022 [cited by applicant]
WO WO2020193690A1 · 2020 [cited by applicant]
“European Application Serial No. 19165490.4, Extended European Search Report mailed Sep. 25, 2019”, 9 pgs. [cited by applicant]
“European Application Serial No. 20712612.9, Response to Communication pursuant to Rules 161(1) and 162 EPC filed May 4, 2022”, 20 pgs. [cited by applicant]
“International Application Serial No. PCT/EP2020/058502, International Preliminary Report on Patentability mailed Oct. 7, 2021”, 9 pgs. [cited by applicant]
“International Application Serial No. PCT/EP2020/058502, Written Opinion mailed Jun. 23, 2020”, 7 pgs. [cited by applicant]
European Patent Office, International Search Report in corresponding International Application No. PCT/EP2020/058502, dated Jun. 23, 2020 (3 pages). [cited by applicant]
“European Application Serial No. 20712612.9, Communication Pursuant to Article 94(3) EPC mailed Jun. 25, 2024”, 6 pgs. [cited by applicant]
“European Application Serial No. 20712612.9, Response filed Oct. 11, 2024 to Communication Pursuant to Article 94(3) EPC mailed Jun. 25, 2024”, 31 pgs. [cited by applicant]
“New international patent application in the name of GrAl Matter Labs S.A.S. claiming priority from EP 19165490.4 filed on Mar. 27, 2019,” PCT Direct / informal comments filed Mar. 6, 2020, 11 pgs. [cited by applicant]