IP Library › Granted Patent US 10,936,533
Granted Patent B2
US 10,936,533 · App. 15/297,079 · Granted Mar 2, 2021

GPU remote communication with triggered operations

Inventors: Michael W. LeBeane (Austin, TX); Steven K. Reinhardt (Vancouver, WA)
Assignee: ADVANCED MICRO DEVICES, INC.
G06F15/17331H04L47/50H04L49/9063
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 10,936,533
App. No.
15/297,079
Granted
Mar 2, 2021
Kind
B2
Abstract

Methods, devices, and systems for transmitting data over a computer communications network are disclosed. A queue of communications commands can be pre-generated using a central processing unit (CPU) and stored in a device memory of a network interface controller (NIC). Thereafter, if a graphics processing unit (GPU) has data to communicate to a remote GPU, it can store the data in a send buffer, where the location in the buffer is pointed to by a pre-generated command. The GPU can then signal to the interface device that the data is ready, triggering execution of the pre-generated command to send the data.

Claims (32)

1. A method for transmitting data, the method comprising:

receiving, by an interface device, a pre-generated network remote communications command from a central processing unit, wherein the pre-generated network remote communications command includes a threshold value that indicates a number of triggers to wait for before sending a message specified by a pending put command;

receiving, by the interface device, a signal from a graphics processing unit indicating that data is ready in a memory, wherein the signal comprises a trigger;

determining that, after receiving the trigger from the graphics processing unit, a number of triggers experienced by the interface device matches the threshold value stored in the pre-generated network remote communications command; and

in response to the determining, executing, by the interface device, the pre-generated network command based on the signal, to transmit the data to a remote target device over a network.

2. The method of claim 1 , wherein the pre-generated network remote communications command comprises a put command.

3. The method of claim 1 , wherein the signal indicates a change in a value of a counter variable.

4. The method of claim 1 , wherein the pre-generated network remote communications command comprises a counter variable threshold.

5. The method of claim 1 , wherein the pre-generated network remote communications command comprises a pointer to an address in the memory.

6. The method of claim 1 , wherein the pre-generated network remote communications command comprises information indicating the remote target device.

7. The method of claim 6 , wherein the information comprises metadata.

8. The method of claim 1 , wherein the interface device comprises a network interface controller (NIC).

9. A device for transmitting data, the device comprising:

receiver circuitry configured to receive a pre-generated network remote communications command from a central processing unit, wherein the pre-generated network remote communications command includes a threshold value that indicates a number of triggers to wait for before sending a message specified by a pending put command;

the receiver circuitry further configured to receive a signal from a graphics processing unit indicating that data is ready in a memory, wherein the signal comprises a trigger;

processor circuitry configured to determine that, after receiving the trigger from the graphics processing unit, a number of triggers experienced by the interface device matches the threshold value stored in the pre-generated network remote communications command, and in response to the determining, execute the pre-generated network command based on the signal; and

transmitter circuitry configured to transmit the data to a remote target device over a network based on the pre-generated network command.

10. The device of claim 9 , wherein the pre-generated network remote communications command comprises a put command.

11. The device of claim 9 , wherein the signal indicates a change in a value of a counter variable.

12. The device of claim 9 , wherein the pre-generated network remote communications command comprises a counter variable threshold.

13. The device of claim 9 , wherein the pre-generated network remote communications command comprises a pointer to an address in the memory.

14. The device of claim 9 , wherein the pre-generated network remote communications command comprises information indicating the target device.

15. The device of claim 14 , wherein the information comprises metadata.

16. The device of claim 9 , wherein the device comprises a network interface controller (NIC).

17. A system for transmitting data, the system comprising:

a central processing unit (CPU); and

a graphics processing unit (GPU);

the CPU comprising processing circuitry configured to generate a plurality of pre-generated network remote communications commands, and transmitter circuitry configured to transmit the pre-generated network remote communications commands to an interface device, wherein the pre-generated network remote communications commands include threshold values that indicates a number of triggers to wait for before sending a message specified by a pending put command;

the GPU comprising processing circuitry configured to generate data for transmission to a remote target device over a network, storage circuitry configured to store the data in a buffer, and transmitter circuitry configured to signal to the interface device that the data is stored in the buffer such that the interface device executes one of the plurality of pre-generated network remote communications commands.

18. The system of claim 17 , wherein the CPU and the GPU are disposed on a single die.

19. The system of claim 17 , wherein the CPU and the GPU are disposed within the same package.

20. The system of claim 17 , wherein the interface device comprises a network interface controller (NIC).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2016
From: LEBEANE, MICHAEL W.; REINHARDT, STEVEN K.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 040156/0079 →
Continuity (1)
Related Publication 20180107627A1 · Apr 19, 2018
Cited By (3)
US 12,210,468 US 12,229,057 US 12,380,041