IP Library Granted Patent US 12,346,752
Granted Patent B2
US 12,346,752 · App. 17/578,255 · Granted Jul 1, 2025

Efficient multi-device synchronization barriers using multicasting

Inventors: Glenn Alan Dearth (Groton, MA); Mark Hummel (Franklin, MA); Daniel Joseph Lustig (Somerville, MA)
Assignee: NVIDIA Corporation
G06F9/522G06F9/3004G06F9/4881
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,346,752
App. No.
17/578,255
Granted
Jul 1, 2025
Kind
B2
Abstract

In various examples, a single notification (e.g., a request for a memory access operation) that a processing element (PE) has reached a synchronization barrier may be propagated to multiple physical addresses (PAs) and/or devices associated with multiple processing elements. Thus, the notification may allow an indication that the processing element has reached the synchronization barrier to be recoded at multiple targets. Each notification may access the PAs of each PE and/or device of a barrier group to update a corresponding counter. The PEs and/or devices may poll or otherwise use the counter to determine when each PE of the group has reached the synchronization barrier. When a corresponding counter indicates synchronization at the synchronization barrier, a PE may proceed with performing a compute task asynchronously with one or more other PEs until a subsequent synchronization barrier may be reached.

Claims (29)

1. A computer-implemented method comprising:

receiving, by a coherent fabric interconnecting processing elements (PEs) participating in a synchronization barrier, a notification from a PE of the PEs that the PE has reached the synchronization barrier;

mapping, by the coherent fabric, the notification to devices hosting a plurality of the PEs; and

based at least on the mapping, multicasting, by the coherent fabric, one or more memory operations that correspond to the notification to the devices to update counters, the one or more memory operations causing each device of the devices to update a counter of the counters, wherein each counter tracks arrivals by the PEs to the synchronization barrier and is used to control passage of one or more PEs of the PEs through the synchronization barrier.

2. The method of claim 1 , wherein the notification comprises a memory access request for an atomic reduction operation, and the multicasting is of the memory access request to each of the devices.

3. The method of claim 1 , wherein the receiving of the notification is from a device hosting the PE and the device is included in the devices to which the notification is propagated.

4. The method of claim 1 , wherein the counter comprises a numerical counter in which a value of the numerical counter being greater than a threshold value indicates all of the PEs have reached the synchronization barrier, and the update includes incrementing the value.

5. The method of claim 1 , wherein the mapping includes determining, from the notification, memory addresses corresponding to respective memory spaces of the devices, and the multicasting uses the memory addresses to provide the one or more memory operations to corresponding ones of the devices.

6. The method of claim 1 , wherein a device of the devices enables a corresponding PE of the PEs hosted on the device to proceed past the synchronization barrier based at least on comparing the counter to an epoch value that corresponds to a quantity of synchronization barriers that have been tracked using the counter.

7. The method of claim 1 , wherein the receiving, the mapping of the notification, and the multicasting are performed by a switch of the coherent fabric, the switch being external to the devices.

8. The method of claim 1 , wherein the mapping includes an address translation of a first memory address included in the notification to at least a second memory address corresponding to a first counter of the counters and a third memory address corresponding to a second counter of the counters.

9. The method of claim 1 , wherein the PE is a streaming multiprocessor, a single instruction, multiple data unit, a processing core, a multithreaded processing unit, a thread, or a group of threads.

10. A system comprising:

a device including a participant of participants of a synchronization barrier, the device to execute operations comprising:

receiving, by a memory manager of the device, an indication of an arrival of the participant to the synchronization barrier; and

responsive to the receiving of the indication, transmitting, by the memory manager and to a coherent fabric, data that causes, the coherent fabric to map the data to devices hosting a plurality of the participants, and to multicast one or more memory operations that correspond to the data, the one or more memory operations causing each device of the devices to update a counter of the counters, wherein each counter tracks arrivals by the participants to the synchronization barrier and is used to control passage of one or more participants of the participants through the synchronization barrier.

11. The system of claim 10 , wherein the memory manager is a memory management unit (MMU) of the device.

12. The system of claim 10 , wherein the data represents a memory access request for an atomic reduction operation, and the multicasting is of the memory access request to each of the devices.

13. The system of claim 10 , wherein the coherent fabric is a switch that is external to the devices.

14. The system of claim 10 , wherein each device of the devices analyzes the counter to enable a corresponding participant of the participants hosted on the device to proceed past the synchronization barrier.

15. The system of claim 10 , wherein the operations further include the memory manager generating the data based at least on performing at least a portion of a memory address translation.

16. The system of claim 10 , wherein the operations further include responsive to the receiving of the indication, polling, by the memory manager, a counter of the counters that corresponds to the participant to control whether the participant can proceed past the synchronization barrier.

17. One or more devices of devices hosting participants of a synchronization barrier, the one or more devices comprising:

one or more hardware components to:

receive data indicating a notification of an arrival of a participant of the participants to the synchronization barrier;

transmit the notification to a coherent fabric interconnecting the devices, the transmitting causing the coherent fabric to map the notification to multiple devices of the devices and multicast one or more memory operations that correspond to the notification to the multiple devices, the one or more memory operations causing the multiple devices to respectively track progress of the participants through the synchronization barrier.

18. The one or more devices of claim 17 , wherein the one or more hardware components include one or more memory management units.

19. The one or more devices of claim 17 , wherein each device of the multiple devices corresponds to a respective counter that is updated responsive to the multicasting.

20. The one or more devices of claim 17 , wherein the notification comprises a memory access request and the memory access request is multicasted to the multiple devices to track the progress.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2022
From: DEARTH, GLENN ALAN; HUMMEL, MARK; LUSTIG, DANIEL JOSEPH
To: NVIDIA CORPORATION
Reel/Frame 058730/0874 →
Continuity (1)
Related Publication 20230229524A1 · Jul 20, 2023
References Cited (1)
US 20150339173A1 · Champseix · 2015 [cited by examiner]