-
Notifications
You must be signed in to change notification settings - Fork 96
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add noc read/write burst command support to CCL command kernel. Also …
…add automated command lowering to these noc commands (#16461) Add two new commands to CCL command infrastructure: - noc read burst - noc write burst The program factory can specify bursts of noc reads and writes by specifying a base address and then sequences of src/dests and sizes (source and dest depend on if it is read or write). The new commands are only implemented in the existing reference kernel. However, future work will be to enable a dedicated kernel that only supports noc reads/writes that can be more easily optimized to reach peach utilization. Additionally, added an initial command lowering pass and enabled it in all-gather (conditionally), which lowers tensor slice commands to noc read/write burst command streams. This eliminates all tensor iteration and page address lookup overheads at runtime from within the kernel. Additionally, the lowering process is done by performing a single call in the program factory. When adopting this approach, runtime arg overrides change and the details about which runtime args require overriding become hidden from the user. To account for this, infrastructure was added to automatically track which runtime args require updates as the program is invoked over time (with different tensors). This also further starts to generalize command stream use and simplifies their adoption since the user doesn't need to manually carry state (implicitly or explicitly) through the program factory to manage runtime argument overrides on op reruns. Note that for the time being, the noc burst count is limited by runtime arg counts. This limitation will be lifted in the future. ### Ticket [Link to Github Issue](#16395)
- Loading branch information
1 parent
924f017
commit 7764bf5
Showing
23 changed files
with
1,315 additions
and
288 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.