Skip to content

TransferBench v1.69.01 - #347

Merged
nileshnegi merged 1 commit into
developfrom
users/nileshnegi/fix/amdsmi-27-abi-changes
Jul 31, 2026
Merged

TransferBench v1.69.01#347
nileshnegi merged 1 commit into
developfrom
users/nileshnegi/fix/amdsmi-27-abi-changes

Conversation

@nileshnegi

@nileshnegi nileshnegi commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Emergency push to support amd-smi 27 fabric layout.
amd-smi 27.0.0 flattens the fabric v1 payload while preserving its binary layout. Select the payload accessor from the header shape so pod discovery builds with both nested pre-27 and flattened 27+ declarations.

Technical Details

  • Keep the Makefile/CMake build probes layout-independent
  • Modify Makefile to use C++17 for compile-time dispatch.
  • Bump minor version to 1.69.01

Test Plan

Test Result

Submission Checklist

@nileshnegi
nileshnegi changed the base branch from candidate-1.70 to develop July 31, 2026 04:12
@nileshnegi
nileshnegi marked this pull request as ready for review July 31, 2026 04:12
Copilot AI review requested due to automatic review settings July 31, 2026 04:12
@nileshnegi
nileshnegi requested review from a team as code owners July 31, 2026 04:12
@nileshnegi nileshnegi changed the title Support amd-smi 27/ROCm 10.0 fabric layout Support amd-smi 27 fabric layout Jul 31, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates TransferBench to build against both pre-27 and 27+ amd-smi fabric payload layouts (ROCm 10.0+), and also expands executor/preset functionality by adding a new TDM-based GPU executor and related CLI/env-var support.

Changes:

  • Add compile-time dispatch for AMD-SMI fabric v1 accessor to handle nested vs flattened payload declarations.
  • Introduce a new GPU TDM executor path (plus a new tdmsweep preset) and wire it through transfer validation, topology, and CLI output.
  • Add new sweep-bounds environment variables and update build tooling (Makefile C++17 + HIPCC probing) and changelog/versioning.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
src/header/TransferBench.hpp Core: AMD-SMI fabric accessor dispatch; new EXE_GPU_TDM executor + options; timing/config changes; various executor-path adjustments
src/header/tdmCopy.h New device-side TDM copy helper (AMD gfx1250 + NVIDIA sm_90+ backend selection)
src/client/Utilities.hpp Add TDM executor string mapping; flush stdout after printing
src/client/Presets/TdmSweep.hpp New tdmsweep preset to sweep TDM executor parameters
src/client/Presets/Rings.hpp Allow selecting TDM executor via env var and update output labels
src/client/Presets/Presets.hpp Register new tdmsweep preset
src/client/Presets/PodPeerToPeer.hpp Add optional TDM executor selection for pod p2p preset
src/client/Presets/PodAllToAll.hpp Add optional TDM executor selection for pod all-to-all preset
src/client/Presets/PeerToPeer.hpp Add optional TDM executor selection for p2p preset
src/client/Presets/Help.hpp Update help text for 6th executor (TDM) and executor-letter list
src/client/Presets/GfxSweep.hpp Minor env-var display ordering tweak
src/client/Presets/AllToAll.hpp Add optional TDM executor selection for all-to-all preset
src/client/EnvVars.hpp Add SWEEP_{MIN,MAX}POW2 and TDM* env vars; wire into ConfigOptions
src/client/Client.cpp Use sweep exponent env vars to define autogenerated size sweep bounds
Makefile Improve HIPCC discovery for pip ROCm layouts; compile with C++17
CMakeLists.txt Make AMD-SMI fabric probe layout-independent
CHANGELOG.md Add v1.70.00 entry describing new sweep bounds + TDM executor support
Suppressed comments (1)

src/client/EnvVars.hpp:408

  • TDM_BLOCK_ORDER help text omits the supported random ordering (2). Update it so users know all valid values.
    printf(" TDM_BLOCK_ORDER     - How blocks for TDM transfers are ordered. 0=sequential, 1=interleaved\n");
    printf(" TDM_BLOCK_SIZE      - # of threads per threadblock for TDM (async tensor) kernels (Must be multiple of 32)\n");

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/header/TransferBench.hpp
Comment thread src/header/TransferBench.hpp Outdated
Comment thread src/header/TransferBench.hpp Outdated
Comment thread src/header/TransferBench.hpp Outdated
Comment thread src/header/TransferBench.hpp
Comment thread src/client/EnvVars.hpp Outdated
Comment thread src/client/Client.cpp Outdated
Comment thread CHANGELOG.md Outdated
Comment thread src/header/TransferBench.hpp Outdated
Comment thread src/header/TransferBench.hpp Outdated
Copilot AI review requested due to automatic review settings July 31, 2026 04:21
@nileshnegi
nileshnegi force-pushed the users/nileshnegi/fix/amdsmi-27-abi-changes branch from 4b08625 to a058012 Compare July 31, 2026 04:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Suppressed comments (1)

CHANGELOG.md:8

  • Typo in changelog entry: "intorduced" should be "introduced".
- Added support for ABI change intorduced in amd-smi 27.0.0 (ROCm 10.0)

@gilbertlee-amd gilbertlee-amd left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#define CLIENT_VERSION "00"

Comment thread src/header/TransferBench.hpp Outdated
Copilot AI review requested due to automatic review settings July 31, 2026 17:23
@nileshnegi
nileshnegi force-pushed the users/nileshnegi/fix/amdsmi-27-abi-changes branch from a058012 to ff3feb8 Compare July 31, 2026 17:23
Comment thread CHANGELOG.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Comment thread src/header/TransferBench.hpp Outdated
Preserve source compatibility with both nested pre-27 amd-smi
and flattened 27+ amd-smi fabric payload declarations.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copilot AI review requested due to automatic review settings July 31, 2026 17:50
@nileshnegi
nileshnegi force-pushed the users/nileshnegi/fix/amdsmi-27-abi-changes branch from 2c5a086 to 7d49057 Compare July 31, 2026 17:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Comment thread Makefile
Comment thread CMakeLists.txt
@nileshnegi nileshnegi changed the title Support amd-smi 27 fabric layout TransferBench 1.69.01 Jul 31, 2026
@nileshnegi nileshnegi changed the title TransferBench 1.69.01 TransferBench v1.69.01 Jul 31, 2026
@nileshnegi
nileshnegi merged commit 44dec25 into develop Jul 31, 2026
9 of 12 checks passed
@nileshnegi
nileshnegi deleted the users/nileshnegi/fix/amdsmi-27-abi-changes branch July 31, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants