-
Notifications
You must be signed in to change notification settings - Fork 500
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
PR #21708: NUMA-pin host memory buffers for D2H/H2D transfers
Imported from GitHub PR #21708 This ensures that the pinned host buffers used for transfers between host and device are pinned to the NUMA node closest to the device. It had a previous life as #15216. In a benchmark that triggers large, concurrent, copies from all devices to the host then achieved D2H throughput is around 33 GiB/s with NUMA pinning on a DGX H100 node (2xCPU, 8xH100). Without pinning, the achieved throughput is around 13.5 GiB/s from the same benchmark. While it is already possible to achieve the correct NUMA pinning in process-per-GPU and process-per-NUMA-node configurations using `numactl` or similar, achieving correct pinning in process-per-node configuration requires logic inside XLA. Copybara import of the project: -- 0eab66c by Olli Lupton <[email protected]>: NUMA-pin host memory buffers for D2H/H2D transfers -- 57a4664 by Olli Lupton <[email protected]>: 256 byte alignment for host allocations when NUMA is not enabled -- ad2895a by Olli Lupton <[email protected]>: Address review comments -- 629777e by Olli Lupton <[email protected]>: std::string_view -> absl::string_view -- 21587a5 by Olli Lupton <[email protected]>: Apply @beckerhe's suggested Bazel changes -- 175c5f6 by Olli Lupton <[email protected]>: add missing dependency Merging this change closes #21708 FUTURE_COPYBARA_INTEGRATE_REVIEW=#21708 from olupton:numa 175c5f6 PiperOrigin-RevId: 722688719
- Loading branch information
1 parent
383d9bd
commit d261874
Showing
8 changed files
with
195 additions
and
72 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
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.