-
Notifications
You must be signed in to change notification settings - Fork 434
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[XLA:GPU] Support partially pipelined async send recv ops
This is needed for pipeline parallelism on GPU where the send/recv operations are issued in one loop iteration and completed in the next. The same buffer must be alive throughout the process and no copies can be inserted. Avoid copies for these partially pipelined async send/recv ops. Insert the required copies and controlflow constraints on the send/recv ops separately. This is to ensure that the live times of the buffers do not overlap. Send: For send, a copy is inserted on the operand, starting a new live range. By enforcing this copy after the corresponding send/done, buffer live times are disjoint. Recv: For recv, a copy is inserted after recv-done, ending the live time of the buffer. Bt enforcing the copy to be before the corresponding recv. buffer live times are disjoint. PiperOrigin-RevId: 687010243
- Loading branch information
1 parent
3acc53a
commit 9d05dcf
Showing
4 changed files
with
448 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.