Skip to content

feat(rccl): IB cast plugin - replace UDMA idx hardcoding with runtime discovery via ionic_dv_ctx_get_udma_count - #12749

Merged
karthikarum merged 3 commits into
developfrom
users/karthik/synctoionicverbs
Oct 22, 2026
Merged

karthikarum merged 3 commits into
developfrom
users/karthik/synctoionicverbs

Conversation

@karthikarum

@karthikarum karthikarum commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

AINIC hardware ships with varying numbers of UDMA engines per NIC (currently 2, but future SKUs may expose more). The net_ib_cast transport layer previously hardcoded a 2-engine assumption
(IONIC_UDMA_MASK_LOW/IONIC_UDMA_MASK_HIGH), which would silently under-utilize DMA bandwidth on hardware with more engines and could break on hardware with fewer. This PR replaces the hardcoded assumption
with runtime discovery via ionic_dv_ctx_get_udma_count and adds comprehensive test coverage — both host-only unit tests and a 2-node HW functional test — to prevent regressions and validate the pinning
end-to-end.

Technical Details

Commit 1: Dynamic UDMA count discovery (b138401)

  • Add soft-fail symbol loading for ionic_dv_ctx_get_udma_count from libionic.so (via LOAD_SYM_VERSION with IONIC_1.0)
  • Add wrap_ionicdv_ctx_get_udma_count() wrapper (returns 0 when driver symbol unavailable)
  • Store discovered udmaCount in capsProvider.ionic.udmaCount during IbCastDevInit, with fallback to 2 for older drivers
  • Replace IONIC_UDMA_MASK_LOW/IONIC_UDMA_MASK_HIGH constants with computed 1u << (idx % udmaCount) for general N-engine round-robin
  • Widen udId / nccl_channel_last_ud from bool to uint8_t to support >2 engines

Commit 2: Unit tests + HW functional test (b22a618)

  • A22 series (host-only unit tests): 8 tests exercising ncclIbCastTestUdmaRoundRobin for 1/2/4/8 engines, full engine coverage verification, sharing-path mask computation, backward compatibility
    (udmaCount=0 → fallback), and invalid argument handling
  • A23 HW functional test (CastUdmaPinningVerify): 2-node MPI test that establishes a CAST connection, reads back per-QP UDMA indices via a new ncclIbCastGetUdmaState inspect API (backed by
    ionic_dv_qp_get_udma_idx), validates indices are in-range and consistent, then confirms data integrity with send/recv. Skips cleanly on non-AINIC or older drivers.
  • Add ionic_dv_qp_get_udma_idx to the DV wrapper layer (soft-fail, returns 0xFF sentinel when unavailable)
  • Add ncclIbCastUdmaState struct and ncclIbCastGetUdmaState() to net_ib_cast_inspect.h
  • Register cast_udma_pinning suite and cast_udma_unit suite in mi300_ainic_ccs_roce.json test runner config

Issue Tracking

JIRA ID: AICOMNET-421

Test Plan

  1. Host-only unit tests (A22): Run via rccl-UnitTestsFixturesDebug --gtest_filter=NetIbCastUdma.* — exercises the round-robin algorithm in isolation without hardware
  2. HW functional test (A23): Run via mpirun -np 2 rccl-UnitTestsMPI --gtest_filter=NetIbMPITest.CastUdmaPinningVerify on 2 AINIC nodes — validates driver readback and data integrity
  3. Full regression: Run all A, B, C series via test_runner.py --config mi300_ainic_ccs_roce.json --system ainic --scope all to verify no regressions
  4. Run RCCL synthetic benchmark tests

Test Result

Full test suite run on MI300 AINIC cluster (gfx942, smc300x-ccs-aus-gpucc5a + smc300x-ccs-aus-gpuf273):

  ┌───────────────────────────────┬──────────────────────────────────────────────────────┐
  │           Category            │                        Result                        │
  ├───────────────────────────────┼──────────────────────────────────────────────────────┤
  │ A-series GTests (A1–A23)      │ 46 passed, 7 skipped (GIN/multiplane not configured) │
  ├───────────────────────────────┼──────────────────────────────────────────────────────┤
  │ B-series perf sweeps (B1–B13) │ 28 passed                                            │
  ├───────────────────────────────┼──────────────────────────────────────────────────────┤
  │ C-series IONIC counters (C1)  │ 4 passed                                             │
  ├───────────────────────────────┼──────────────────────────────────────────────────────┤
  │ Total                         │ 88 passed, 0 failed, 9 skipped, 0 timeout            │
  ├───────────────────────────────┼──────────────────────────────────────────────────────┤
  │ Total time                    │ 29 min 20 sec                                        │
  └───────────────────────────────┴──────────────────────────────────────────────────────┘

A22 unit tests: all 8 cases PASSED. A23 HW test: PASSED — udmaCount=2, all QP UDMA indices in range and consistent, data integrity verified.

Submission Checklist

@karthikarum
karthikarum requested review from a team, VadimKutovoi and alexander-sannikov and a balanced review from Copilot October 3, 2026 20:18
@therock-pr-bot

therock-pr-bot Bot commented Oct 3, 2026

Copy link
Copy Markdown

✅ All Policy Checks Passed

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —

🎉 All policy checks passed!

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

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.

Copilot review overview

🟡 Changes recommended

Unconditional Ionic capability initialization corrupts the overlapping MLX5 Data Direct union member, and the tests do not exercise the production round-robin path.

Review effort: Balanced
Findings: 1 High severity · 3 Medium severity

Open (4)
What changed in this PR

Adds runtime AINIC UDMA discovery and dynamic QP pinning, with host and hardware validation.

Changes:

  • Loads optional Ionic UDMA discovery/readback symbols.
  • Replaces two-engine pinning with runtime round-robin assignment.
  • Adds unit, MPI hardware, and test-runner coverage.
File Description
tools/​scripts/​test_runner/​configs/​mi300_ainic_ccs_roce.json Registers UDMA test suites.
test/​transport/​NetIbMPI/​CastTests.cpp Adds hardware pinning test.
test/​transport/​NetIbCast/​NetIbCastUdmaTests.cpp Adds host unit tests.
test/​test_categories_fixtures_debug.yaml Categorizes new tests.
test/​CMakeLists.txt Builds UDMA tests.
src/​transport/​net_ib_cast/​net_ib_cast_inspect.h Exposes test introspection APIs.
src/​transport/​net_ib_cast/​init.cc Discovers UDMA count.
src/​transport/​net_ib_cast/​connect.cc Implements dynamic pinning and readback.
src/​transport/​net_ib_cast/​common_cast.h Stores Ionic capabilities.
src/​misc/​ionicdvwrap.cc Adds safe UDMA wrappers.
src/​misc/​ionicdvsymbols.cc Loads optional Ionic symbols.
src/​include/​ionic/​ionicdvwrap.h Declares wrapper APIs.
src/​include/​ionic/​ionicdvsymbols.h Adds symbol function pointers.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@karthikarum karthikarum changed the title Users/karthik/synctoionicverbs feat(rccl): IB cast plugin - replace UDMA pinning with runtime discovery via ionic_dv_ctx_get_udma_count Oct 3, 2026

@amd-argus amd-argus Bot 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.

ARGUS

Bottom line: Worth settling before approval: on an AINIC run the new ionic.udmaCount write makes capsProvider.mlx5.dataDirect read non-zero for every device, flipping forceFlush and the DMA-BUF registration branch.

Comment @argus review to re-run, or @argus re-review after pushing.

Comment thread projects/rccl/src/misc/ionicdvwrap.cc Resolved
@karthikarum
karthikarum force-pushed the users/karthik/synctoionicverbs branch from 0311a2d to e59c819 Compare October 4, 2026 02:18

@amd-argus amd-argus Bot 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.

ARGUS

Findings

2 finding(s) that could not be posted as inline comments
  • projects/rccl/tools/scripts/test_runner/configs/mi300_ainic_ccs_roce.json:778 (Medium) cast_udma_pinning_sharing never reaches the new qpIdx sub-branch because IB_COMM_NGROUPS defaults to 4 The new udmaSelector = qpIdx sub-branch at connect.cc:491 runs only when rcclParamIbCastCommNGroups() == 1, and qp_sharing.cc:14 declares RCCL_PARAM(IbCastCommNGroups, "IB_COMM_NGROUPS", 4). Nothing in this config chain sets it, so the suite always takes the pre-existing qpSharingGroupIdx path and the per-QP alternation this PR adds gets no coverage while A24 reports green. Could the suite pin the group count as well?
  • projects/rccl/src/transport/net_ib_cast/connect.cc:484 (Low) udmaCount reaches two divisors unnormalised, which becomes a SIGFPE once the init.cc write is provider-gated udmaCount is read raw here and then used as a divisor twice, at line 493 and inside ncclIbCastUdmaRoundRobinMask, neither of which guards zero. It is safe today only because init.cc:514 writes a normalised value into every device slot; once that write is restricted to non-mlx5 devices, mlx5 slots hold 0 and ncclIbCreateQpIonic still runs for them, since useIonic is the same global flag rather than a per-device property. Normalising at the read site makes both divisors safe whichever way the init side lands.

Bottom line: Worth settling before approval: the capsProvider union write at init.cc:514 is still not gated on provider, so the new IB_PROVIDER_MLX5 guards do not stop an mlx5 device in AINIC mode reading back as data-direct.

Comment @argus review to re-run, or @argus re-review after pushing.

@amd-argus amd-argus Bot 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.

ARGUS

Bottom line: Looks approval ready. What is left is test coverage and comment accuracy, not code defects.

Comment @argus review to re-run, or @argus re-review after pushing.

@karthikarum karthikarum changed the title feat(rccl): IB cast plugin - replace UDMA pinning with runtime discovery via ionic_dv_ctx_get_udma_count feat(rccl): IB cast plugin - replace UDMA idx hardcoding with runtime discovery via ionic_dv_ctx_get_udma_count Oct 5, 2026
@karthikarum
karthikarum force-pushed the users/karthik/synctoionicverbs branch from 7b6c35f to 3818dfe Compare October 13, 2026 01:25
@karthikarum
karthikarum requested a balanced review from Copilot October 13, 2026 01:25

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.

🟡 Changes recommended

Multi-group QP sharing cannot reach every discovered UDMA engine when the engine count exceeds the configured group count.

1 open finding
4 resolved since last review

🧠 Review effort: Balanced

@amd-argus amd-argus Bot 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.

ARGUS

Bottom line: Worth settling before approval: the new EXPECT_GT(distinctEngines.size(), 2u) in CastUdmaPinningSharingVerify can never hold, because the sharing selector is one value per comm, so the sharing path still has no working check.

Comment @argus review to re-run, or @argus re-review after pushing.

@VadimKutovoi VadimKutovoi 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.

LGTM. Should we add the tests to other configuration files?

@amd-argus amd-argus Bot 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.

ARGUS

Bottom line: LGTM.

Comment @argus review to re-run, or @argus re-review after pushing.

@karthikarum
karthikarum force-pushed the users/karthik/synctoionicverbs branch from 6fe87c5 to 414a80f Compare October 14, 2026 16:21
@karthikarum

Copy link
Copy Markdown
Contributor Author

LGTM. Should we add the tests to other configuration files?

The test is added to ainic mi300 cfg and validated on mi300 cluster. About adding to other cluster config, I'm not sure what is available in CI/CD now and how it gets validated. If you are looking to add to a specific config file, let me know and I can follow it up in next PR.

@amd-argus amd-argus Bot 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.

ARGUS

Bottom line: LGTM.

Comment @argus review to re-run, or @argus re-review after pushing.

@karthikarum
karthikarum removed the request for review from alexander-sannikov October 15, 2026 01:05
@karthikarum
karthikarum force-pushed the users/karthik/synctoionicverbs branch from 414a80f to 38b7822 Compare October 19, 2026 02:50

@amd-argus amd-argus Bot 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.

ARGUS

Bottom line: Nothing new worth raising; still open from earlier: init.cc:514. Worth clearing before approval.

Comment @argus review to re-run, or @argus re-review after pushing.

@karthikarum
karthikarum force-pushed the users/karthik/synctoionicverbs branch from 38b7822 to 28c9b1f Compare October 21, 2026 02:05

@amd-argus amd-argus Bot 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.

ARGUS

Bottom line: LGTM.

Comment @argus review to re-run, or @argus re-review after pushing.

karthikarum and others added 3 commits October 21, 2026 05:18
…iscovery

Add soft-fail symbol loading for ionic_dv_ctx_get_udma_count and
ionic_dv_qp_get_udma_idx in the DV wrapper layer. Store the discovered
UDMA engine count in capsProvider.ionic.udmaCount (normalized: 0 falls
back to 2, clamped to 8 max). Log udmaCount at device init.

Guard capsProvider union reads with provider type checks (IB_PROVIDER_MLX5
for mlx5.dataDirect) in init.cc and reg.cc to prevent union corruption
when the ionic union member is populated.

Add shared helpers (ncclIbCastNormalizeUdmaCount, ncclIbCastUdmaRoundRobinMask)
and UDMA introspection structs (ncclIbCastUdmaState, ncclIbCastTestUdmaRoundRobin,
ncclIbCastTestGetDevUdmaCount) to net_ib_cast_inspect.h.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hardcoded IONIC_UDMA_MASK_LOW/HIGH (2-engine assumption) in
ncclIbCastSelectUDMA() with dynamic udmaCount from capsProvider.ionic.
All policy paths (ChannelAffinity, P2pRoundRobin, SplitConnection, and
QP-sharing) now use 1u << (idx % udmaCount) for mask computation.

Fix SplitConnection policy to use (parity + qpIdx) % udmaCount instead
of parity ^ (qpIdx & 1).  The old XOR-with-bit0 formula only ever
produced engine indices 0 or 1 regardless of udmaCount, starving engines
2..N-1 on hardware with more than 2 UDMA pipelines.  The new additive
modulo walks all N engines while remaining algebraically identical for
the udmaCount=2 case ((a + b) mod 2 == a XOR b when a,b in {0,1}), so
there is no behavioral change on current 2-engine hardware.

Widen ncclChannelToUd.udId and nccl_channel_last_ud from bool to uint8_t
to support engine indices beyond 0/1. The channel-affinity fallback uses
ncclIbCastUdmaRoundRobinMask() (shared with unit tests via inspect.h).

Add test inspect implementations: ncclIbCastTestUdmaRoundRobin,
ncclIbCastTestGetDevUdmaCount, and ncclIbCastGetUdmaState for per-QP
UDMA index readback via ionic_dv_qp_get_udma_idx.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…inning

Host-only unit tests (A22 series) for the UDMA round-robin algorithm via
ncclIbCastTestUdmaRoundRobin inspect API: 1/2/4/8 engines, engine
coverage, sharing-path masks, backward compat, normalize helper, and
invalid args.

Two-node MPI functional tests (A23): CastUdmaPinningVerify validates
end-to-end UDMA pinning on AINIC hardware via ionic_dv_qp_get_udma_idx
readback. CastUdmaPinningSharingVerify exercises the QP-sharing path
with NGROUPS=1 (per-QP qpIdx selector). Both include data-integrity
send/recv and skip cleanly on non-AINIC or older drivers.

Test runner config entries added for all new tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@karthikarum
karthikarum force-pushed the users/karthik/synctoionicverbs branch from 28c9b1f to c09abbf Compare October 21, 2026 05:19
@karthikarum

Copy link
Copy Markdown
Contributor Author

Seeing segmentation fault with single node RCCL Coco tests which is unrelated to this change in net-ib-cast plugin.

@wenkaidu @ddurnov can you pls confirm this is not related to the plugin changes.

Job - https://github.com/ROCm/rocm-systems/actions/runs/39548884973/job/119291823128?pr=12749

  • log snip below
========================
nodes: cv350-rck-g03-c13-18
=== test start: 2026-10-21T19:03:47Z ===
# rccl-tests version 2.19.6-HEAD:f82aecda59 rccl-headers=23203 rccl-library=23203
# Collective test starting: reduce_perf
# nThread 1 nGpus 1 minBytes 8 maxBytes 1073741824 step: 2(factor) warmup iters: 0 iters: 1 agg iters: 1 validation: 1 graph: 0 unalign: 0
#
# Using devices
#  Rank  0 Group  0 Pid 2518353 on cv350-rck-g03-c13-18 device  0 [0000:08:00] AMD Instinct MI350X
#  Rank  1 Group  0 Pid 2518354 on cv350-rck-g03-c13-18 device  1 [0000:18:00] AMD Instinct MI350X
#  Rank  2 Group  0 Pid 2518355 on cv350-rck-g03-c13-18 device  2 [0000:68:00] AMD Instinct MI350X
#  Rank  3 Group  0 Pid 2518356 on cv350-rck-g03-c13-18 device  3 [0000:78:00] AMD Instinct MI350X
#  Rank  4 Group  0 Pid 2518357 on cv350-rck-g03-c13-18 device  4 [0000:88:00] AMD Instinct MI350X
#  Rank  5 Group  0 Pid 2518358 on cv350-rck-g03-c13-18 device  5 [0000:98:00] AMD Instinct MI350X
#  Rank  6 Group  0 Pid 2518359 on cv350-rck-g03-c13-18 device  6 [0000:e8:00] AMD Instinct MI350X
#  Rank  7 Group  0 Pid 2518360 on cv350-rck-g03-c13-18 device  7 [0000:f9:00] AMD Instinct MI350X
RCCL version : 2.32.3-HEAD:c09abbf
HIP version  : 7.17.26416-0000000
ROCm version : 10.2.0.0-9999-66800fdd
Hostname     : cv350-rck-g03-c13-18.rck.dcgpu
Librccl path : /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1
#
#                                                                          out-of-place                           in-place
#       size         count      type   redop    root     time   algbw   busbw  #wrong     time   algbw   busbw  #wrong 
#        (B)    (elements)                               (us)  (GB/s)  (GB/s)             (us)  (GB/s)  (GB/s)          
# Network counter collection enabled (RCCL_TESTS_NET_COUNTER_ENABLE=1)
# Device list from NCCL_IB_HCA
# Node cv350-rck-g03-c13-18.rck.dcgpu: lead rank 0 collecting 8 device(s): bnxt_re0(benic7p1) bnxt_re1(benic8p1) bnxt_re2(benic6p1) bnxt_re3(benic5p1) bnxt_re4(benic3p1) bnxt_re5(benic4p1) bnxt_re6(benic2p1) bnxt_re7(benic1p1)
# NIC type: BNXT_RE
# Counters (12): rx_pfc_ena_frames_pri tx_pfc_ena_frames_pri pfc_pri3_rx_transitions pfc_pri3_tx_transitions rx_cnp_pkts tx_cnp_pkts rx_roce_discards rx_stat_discards to_retransmits max_retry_exceeded oos_drop_count seq_err_naks_rcvd
           8             2     float     sum       0  22497.6    0.00    0.00       0    35.34    0.00    0.00       0
          16             4     float     sum       0    25.76    0.00    0.00       0    25.22    0.00    0.00       0
          32             8     float     sum       0    24.86    0.00    0.00       0    24.59    0.00    0.00       0
          64            16     float     sum       0    23.63    0.00    0.00       0    23.67    0.00    0.00       0
         128            32     float     sum       0    23.42    0.01    0.01       0    23.52    0.01    0.01       0
         256            64     float     sum       0    23.86    0.01    0.01       0    23.96    0.01    0.01       0
         512           128     float     sum       0    24.43    0.02    0.02       0    24.08    0.02    0.02       0
        1024           256     float     sum       0    24.24    0.04    0.04       0    23.93    0.04    0.04       0
        2048           512     float     sum       0    24.23    0.08    0.08       0    24.53    0.08    0.08       0
        4096          1024     float     sum       0    25.44    0.16    0.16       0    25.61    0.16    0.16       0
        8192          2048     float     sum       0    27.92    0.29    0.29       0    27.84    0.29    0.29       0
       16384          4096     float     sum       0    30.93    0.53    0.53       0    31.53    0.52    0.52       0
       32768          8192     float     sum       0    37.66    0.87    0.87       0    33.18    0.99    0.99       0
       65536         16384     float     sum       0    40.62    1.61    1.61       0    34.21    1.92    1.92       0
      131072         32768     float     sum       0    43.49    3.01    3.01       0    37.21    3.52    3.52       0
      262144         65536     float     sum       0    42.46    6.17    6.17       0    37.51    6.99    6.99       0
      524288        131072     float     sum       0    61.51    8.52    8.52       0    51.05   10.27   10.27       0
     1048576        262144     float     sum       0    64.80   16.18   16.18       0    52.92   19.81   19.81       0
     2097152        524288     float     sum       0    72.08   29.09   29.09       0    71.85   29.19   29.19       0
     4194304       1048576     float     sum       0    85.67   48.96   48.96       0    81.17   51.67   51.67       0
     8388608       2097152     float     sum       0    98.42   85.23   85.23       0    96.13   87.26   87.26       0
    16777216       4194304     float     sum       0   124.34  134.93  134.93       0   124.08  135.21  135.21       0
    33554432       8388608     float     sum       0   185.91  180.49  180.49       0   185.28  181.10  181.10       0
    67108864      16777216     float     sum       0   323.50  207.45  207.45       0   320.33  209.50  209.50       0
   134217728      33554432     float     sum       0   540.52  248.31  248.31       0   538.94  249.04  249.04       0
   268435456      67108864     float     sum       0  1031.31  260.29  260.29       0  1026.48  261.51  261.51       0
   536870912     134217728     float     sum       0  1872.51  286.71  286.71       0  1862.89  288.19  288.19       0
  1073741824     268435456     float     sum       0  3675.35  292.15  292.15       0  3676.80  292.03  292.03       0

NET_COUNTER_TABLE: node=cv350-rck-g03-c13-18.rck.dcgpu  rank=0  duration_sec=0.311  nic_type=BNXT_RE
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Device                rx_pfc_ena_frames_pri  tx_pfc_ena_frames_pri  pfc_pri3_rx_transitions  pfc_pri3_tx_transitions  rx_cnp_pkts    tx_cnp_pkts    rx_roce_discards  rx_stat_discards  to_retransmits  max_retry_exceeded  oos_drop_count  seq_err_naks_rcvd
                      count          rate/s  count          rate/s  count            rate/s  count            rate/s  count  rate/s  count  rate/s  count     rate/s  count     rate/s  count   rate/s  count       rate/s  count   rate/s  count      rate/s
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
bnxt_re0(benic7p1)        0            0.00      0            0.00      0              0.00      0              0.00      0    0.00      0    0.00      0       0.00      0       0.00      0     0.00      0         0.00      0     0.00      0        0.00
bnxt_re1(benic8p1)        0            0.00      0            0.00      0              0.00      0              0.00      0    0.00      0    0.00      0       0.00      0       0.00      0     0.00      0         0.00      0     0.00      0        0.00
bnxt_re2(benic6p1)        0            0.00      0            0.00      0              0.00      0              0.00      0    0.00      0    0.00      0       0.00      0       0.00      0     0.00      0         0.00      0     0.00      0        0.00
bnxt_re3(benic5p1)        0            0.00      0            0.00      0              0.00      0              0.00      0    0.00      0    0.00      0       0.00      0       0.00      0     0.00      0         0.00      0     0.00      0        0.00
bnxt_re4(benic3p1)        0            0.00      0            0.00      0              0.00      0              0.00      0    0.00      0    0.00      0       0.00      0       0.00      0     0.00      0         0.00      0     0.00      0        0.00
bnxt_re5(benic4p1)        0            0.00      0            0.00      0              0.00      0              0.00      0    0.00      0    0.00      0       0.00      0       0.00      0     0.00      0         0.00      0     0.00      0        0.00
bnxt_re6(benic2p1)        0            0.00      0            0.00      0              0.00      0              0.00      0    0.00      0    0.00      0       0.00      0       0.00      0     0.00      0         0.00      0     0.00      0        0.00
bnxt_re7(benic1p1)        0            0.00      0            0.00      0              0.00      0              0.00      0    0.00      0    0.00      0       0.00      0       0.00      0     0.00      0         0.00      0     0.00      0        0.00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[cv350-rck-g03-c13-18:2518354:0:2518354] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x563bcb859971)
==== backtrace (tid:2518354) ====
0  /opt/sre-tools/ucx/lib/libucs.so.0(ucs_handle_error+0x294) [0x7fa78be46b74]
1  /opt/sre-tools/ucx/lib/libucs.so.0(+0x35d2f) [0x7fa78be46d2f]
2  /opt/sre-tools/ucx/lib/libucs.so.0(+0x35ff6) [0x7fa78be46ff6]
3  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(+0x492c81) [0x7fa79f198c81]
4  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(hipMemUnmap+0x21) [0x7fa79f1d0c81]
5  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1f710e) [0x7fa79ce5d10e]
6  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1ea788) [0x7fa79ce50788]
7  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e9c45) [0x7fa79ce4fc45]
8  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e8785) [0x7fa79ce4e785]
9  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x29728b) [0x7fa79cefd28b]
10  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28de87) [0x7fa79cef3e87]
11  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28b31e) [0x7fa79cef131e]
12  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28875d) [0x7fa79ceee75d]
13  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x296216) [0x7fa79cefc216]
14  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x148659) [0x563ea7c0f659]
15  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x14d304) [0x563ea7c14304]
16  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x149eea) [0x563ea7c10eea]
17  /lib64/libc.so.6(+0x2a610) [0x7fa79c82a610]
18  /lib64/libc.so.6(__libc_start_main+0x80) [0x7fa79c82a6c0]
19  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x137205) [0x563ea7bfe205]
=================================
[cv350-rck-g03-c13-18:2518354] *** Process received signal ***
[cv350-rck-g03-c13-18:2518354] Signal: Segmentation fault (11)
[cv350-rck-g03-c13-18:2518354] Signal code:  (-6)
[cv350-rck-g03-c13-18:2518354] Failing at address: 0x18a4a00266d52
[cv350-rck-g03-c13-18:2518354] [ 0] /lib64/libc.so.6(+0x3fc30)[0x7fa79c83fc30]
[cv350-rck-g03-c13-18:2518354] [ 1] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(+0x492c81)[0x7fa79f198c81]
[cv350-rck-g03-c13-18:2518354] [ 2] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(hipMemUnmap+0x21)[0x7fa79f1d0c81]
[cv350-rck-g03-c13-18:2518354] [ 3] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1f710e)[0x7fa79ce5d10e]
[cv350-rck-g03-c13-18:2518354] [ 4] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1ea788)[0x7fa79ce50788]
[cv350-rck-g03-c13-18:2518354] [ 5] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e9c45)[0x7fa79ce4fc45]
[cv350-rck-g03-c13-18:2518354] [ 6] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e8785)[0x7fa79ce4e785]
[cv350-rck-g03-c13-18:2518354] [ 7] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x29728b)[0x7fa79cefd28b]
[cv350-rck-g03-c13-18:2518354] [ 8] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28de87)[0x7fa79cef3e87]
[cv350-rck-g03-c13-18:2518354] [ 9] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28b31e)[0x7fa79cef131e]
[cv350-rck-g03-c13-18:2518354] [10] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28875d)[0x7fa79ceee75d]
[cv350-rck-g03-c13-18:2518354] [11] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x296216)[0x7fa79cefc216]
[cv350-rck-g03-c13-18:2518354] [12] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x148659)[0x563ea7c0f659]
[cv350-rck-g03-c13-18:2518354] [13] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x14d304)[0x563ea7c14304]
[cv350-rck-g03-c13-18:2518354] [14] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x149eea)[0x563ea7c10eea]
[cv350-rck-g03-c13-18:2518354] [15] /lib64/libc.so.6(+0x2a610)[0x7fa79c82a610]
[cv350-rck-g03-c13-18:2518354] [16] /lib64/libc.so.6(__libc_start_main+0x80)[0x7fa79c82a6c0]
[cv350-rck-g03-c13-18:2518354] [17] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x137205)[0x563ea7bfe205]
[cv350-rck-g03-c13-18:2518354] *** End of error message ***
[cv350-rck-g03-c13-18:2518359:0:2518359] Caught signal 11 (Segmentation fault: address not mapped to object at address 0xffffffff00000030)
==== backtrace (tid:2518359) ====
0  /opt/sre-tools/ucx/lib/libucs.so.0(ucs_handle_error+0x294) [0x7f74cc246b74]
1  /opt/sre-tools/ucx/lib/libucs.so.0(+0x35d2f) [0x7f74cc246d2f]
2  /opt/sre-tools/ucx/lib/libucs.so.0(+0x35ff6) [0x7f74cc246ff6]
3  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(+0x492c81) [0x7f74dc589c81]
4  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(hipMemUnmap+0x21) [0x7f74dc5c1c81]
5  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1f710e) [0x7f74da25d10e]
6  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1ea788) [0x7f74da250788]
7  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e9c45) [0x7f74da24fc45]
8  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e8785) [0x7f74da24e785]
9  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x29728b) [0x7f74da2fd28b]
10  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28de87) [0x7f74da2f3e87]
11  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28b31e) [0x7f74da2f131e]
12  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28875d) [0x7f74da2ee75d]
13  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x296216) [0x7f74da2fc216]
14  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x148659) [0x5574f64ad659]
15  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x14d304) [0x5574f64b2304]
16  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x149eea) [0x5574f64aeeea]
17  /lib64/libc.so.6(+0x2a610) [0x7f74d9c2a610]
18  /lib64/libc.so.6(__libc_start_main+0x80) [0x7f74d9c2a6c0]
19  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x137205) [0x5574f649c205]
=================================
[cv350-rck-g03-c13-18:2518359] *** Process received signal ***
[cv350-rck-g03-c13-18:2518359] Signal: Segmentation fault (11)
[cv350-rck-g03-c13-18:2518359] Signal code:  (-6)
[cv350-rck-g03-c13-18:2518359] Failing at address: 0x18a4a00266d57
[cv350-rck-g03-c13-18:2518359] [ 0] /lib64/libc.so.6(+0x3fc30)[0x7f74d9c3fc30]
[cv350-rck-g03-c13-18:2518359] [ 1] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(+0x492c81)[0x7f74dc589c81]
[cv350-rck-g03-c13-18:2518359] [ 2] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(hipMemUnmap+0x21)[0x7f74dc5c1c81]
[cv350-rck-g03-c13-18:2518359] [ 3] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1f710e)[0x7f74da25d10e]
[cv350-rck-g03-c13-18:2518359] [ 4] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1ea788)[0x7f74da250788]
[cv350-rck-g03-c13-18:2518359] [ 5] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e9c45)[0x7f74da24fc45]
[cv350-rck-g03-c13-18:2518359] [ 6] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e8785)[0x7f74da24e785]
[cv350-rck-g03-c13-18:2518359] [ 7] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x29728b)[0x7f74da2fd28b]
[cv350-rck-g03-c13-18:2518359] [ 8] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28de87)[0x7f74da2f3e87]
[cv350-rck-g03-c13-18:2518359] [ 9] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28b31e)[0x7f74da2f131e]
[cv350-rck-g03-c13-18:2518359] [10] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28875d)[0x7f74da2ee75d]
[cv350-rck-g03-c13-18:2518359] [11] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x296216)[0x7f74da2fc216]
[cv350-rck-g03-c13-18:2518359] [12] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x148659)[0x5574f64ad659]
[cv350-rck-g03-c13-18:2518359] [13] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x14d304)[0x5574f64b2304]
[cv350-rck-g03-c13-18:2518359] [14] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x149eea)[0x5574f64aeeea]
[cv350-rck-g03-c13-18:2518359] [15] /lib64/libc.so.6(+0x2a610)[0x7f74d9c2a610]
[cv350-rck-g03-c13-18:2518359] [16] /lib64/libc.so.6(__libc_start_main+0x80)[0x7f74d9c2a6c0]
[cv350-rck-g03-c13-18:2518359] [17] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x137205)[0x5574f649c205]
[cv350-rck-g03-c13-18:2518359] *** End of error message ***
[cv350-rck-g03-c13-18:2518360:0:2518360] Caught signal 11 (Segmentation fault: address not mapped to object at address 0xffffffff00000030)
==== backtrace (tid:2518360) ====
0  /opt/sre-tools/ucx/lib/libucs.so.0(ucs_handle_error+0x294) [0x7f1cf2646b74]
1  /opt/sre-tools/ucx/lib/libucs.so.0(+0x35d2f) [0x7f1cf2646d2f]
2  /opt/sre-tools/ucx/lib/libucs.so.0(+0x35ff6) [0x7f1cf2646ff6]
3  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(+0x492c81) [0x7f1d02999c81]
4  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(hipMemUnmap+0x21) [0x7f1d029d1c81]
5  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1f710e) [0x7f1d0065d10e]
6  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1ea788) [0x7f1d00650788]
7  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e9c45) [0x7f1d0064fc45]
8  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e8785) [0x7f1d0064e785]
9  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x29728b) [0x7f1d006fd28b]
10  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28de87) [0x7f1d006f3e87]
11  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28b31e) [0x7f1d006f131e]
12  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28875d) [0x7f1d006ee75d]
13  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x296216) [0x7f1d006fc216]
14  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x148659) [0x562671366659]
15  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x14d304) [0x56267136b304]
16  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x149eea) [0x562671367eea]
17  /lib64/libc.so.6(+0x2a610) [0x7f1d0002a610]
18  /lib64/libc.so.6(__libc_start_main+0x80) [0x7f1d0002a6c0]
19  /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x137205) [0x562671355205]
=================================
[cv350-rck-g03-c13-18:2518360] *** Process received signal ***
[cv350-rck-g03-c13-18:2518360] Signal: Segmentation fault (11)
[cv350-rck-g03-c13-18:2518360] Signal code:  (-6)
[cv350-rck-g03-c13-18:2518360] Failing at address: 0x18a4a00266d58
[cv350-rck-g03-c13-18:2518360] [ 0] /lib64/libc.so.6(+0x3fc30)[0x7f1d0003fc30]
[cv350-rck-g03-c13-18:2518360] [ 1] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(+0x492c81)[0x7f1d02999c81]
[cv350-rck-g03-c13-18:2518360] [ 2] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rocm-10.2-latest/10.2/78113ced9e5f/rocm/lib/libamdhip64.so.7(hipMemUnmap+0x21)[0x7f1d029d1c81]
[cv350-rck-g03-c13-18:2518360] [ 3] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1f710e)[0x7f1d0065d10e]
[cv350-rck-g03-c13-18:2518360] [ 4] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1ea788)[0x7f1d00650788]
[cv350-rck-g03-c13-18:2518360] [ 5] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e9c45)[0x7f1d0064fc45]
[cv350-rck-g03-c13-18:2518360] [ 6] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x1e8785)[0x7f1d0064e785]
[cv350-rck-g03-c13-18:2518360] [ 7] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x29728b)[0x7f1d006fd28b]
[cv350-rck-g03-c13-18:2518360] [ 8] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28de87)[0x7f1d006f3e87]
[cv350-rck-g03-c13-18:2518360] [ 9] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28b31e)[0x7f1d006f131e]
[cv350-rck-g03-c13-18:2518360] [10] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x28875d)[0x7f1d006ee75d]
[cv350-rck-g03-c13-18:2518360] [11] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rccl-pr-12749/c09abbf47629/8601aecfb6df/lib/librccl.so.1(+0x296216)[0x7f1d006fc216]
[cv350-rck-g03-c13-18:2518360] [12] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x148659)[0x562671366659]
[cv350-rck-g03-c13-18:2518360] [13] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x14d304)[0x56267136b304]
[cv350-rck-g03-c13-18:2518360] [14] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x149eea)[0x562671367eea]
[cv350-rck-g03-c13-18:2518360] [15] /lib64/libc.so.6(+0x2a610)[0x7f1d0002a610]
[cv350-rck-g03-c13-18:2518360] [16] /lib64/libc.so.6(__libc_start_main+0x80)[0x7f1d0002a6c0]
[cv350-rck-g03-c13-18:2518360] [17] /apps/cvs_tests/actions-runner/_work/_temp/coco.6rM3g7/pr/build/rcclt-develop-perf/develop/c732a04cb53b/reduce_perf(+0x137205)[0x562671355205]
[cv350-rck-g03-c13-18:2518360] *** End of error message ***
--------------------------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun noticed that process rank 1 with PID 2518354 on node cv350-rck-g03-c13-18 exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------
=== test end: 2026-10-21T19:03:56Z ===
 

@nikitaxgusev

Copy link
Copy Markdown
Contributor

@karthikarum
I looked into the log, two separate things are going on, and neither is caused by this PR:

The all-zero NET_COUNTER_TABLE. As I can see, this is a single node, 1 GPU per rank reduce_perf, so the collective runs over intra-node transport and no RoCE traffic hits the bnxt_re NICs. The collector reports deltas (before/after snapshots), so with no traffic every counter is legitimately 0.

The segfault is unrelated to the plugin change. It happens at teardown: the run completes, then every rank faults in hipMemUnmap. It seems this issue: https://amd-hub.atlassian.net/browse/ROCM-33022

@karthikarum
karthikarum merged commit 543f60d into develop Oct 22, 2026
75 of 84 checks passed
@karthikarum
karthikarum deleted the users/karthik/synctoionicverbs branch October 22, 2026 14:49
aduforest added a commit that referenced this pull request Oct 22, 2026
…unt (pre-merge hardening)

#12749 made init.cc call wrap_ionicdv_ctx_get_udma_count, so the Init
binary no longer linked. ionicdvwrap_fakes gains hooks for it and for
wrap_ionicdv_qp_get_udma_idx, defaulting to what the real wrappers return
without libionic. Tests cover the normalized per-device count and the
mlx5-only data-direct checks in GetProperties and DMA-BUF registration.

Co-Authored-By: Claude <noreply@anthropic.com>
aduforest added a commit that referenced this pull request Oct 22, 2026
…me count (pre-merge hardening)

#12749 makes connect.cc pick uDMA engines modulo the device's discovered
count, which the AINIC tests left at 0, so they died on a divide by zero.
The fixture now sets the count as IbCastInitDevices would. New tests cover
every policy with 3 and 4 engines, the fixed 2 without AINIC, and the
uDMA inspect helpers. ionicdvwrap_fakes gains the two new uDMA hooks.

Co-Authored-By: Claude <noreply@anthropic.com>
pvallem pushed a commit that referenced this pull request Oct 25, 2026
…GIN (#13840)

JIRA ID: AICOMRCCL-2813

## What
Host-only microtests for
`src/transport/net_ib_cast/{init,common,capability,reg,gdr,multiplane,gin,net_ib_cast_gid_inspect}.cc`,
in a new `rccl-UnitTestsMicroNetIbCastInit` with one test TU per unit.

## How
- The verbs, mlx5/ionic, socket and neighbouring net_ib_cast seams are
shared fakes. The ones the other net_ib_cast PRs also use are
byte-identical copies; this PR owns the scheduler,
p2p_resiliency_recovery, gdr_peermem and gdr_probe fakes. Fake ibv
contexts route post_send/poll_cq back to the test. `xml.cc`, `utils.cc`
and `net_telemetry.cc` are the real ones. The GDR answers latched by
`std::call_once` are tested in isolated processes.
- `transport_stubs.cc` gains net.cc's `NET_OPTIONAL_RECV_COMPLETION`
param, and `os_fakes.cc` gains `ncclOsStrSep`, the same hunk as #13601.
- Pins 10 production bugs as `KnownBug_` tests:
- AINIC fuses NICs by default, although the code means to require
`NCCL_IB_MERGE_NICS=1` (AICOMRCCL-3088).
- A GDR probe that could not run is latched as "no GDR"
(AICOMRCCL-3089).
  - A data-direct lookup error skips the cleanup (AICOMRCCL-3090).
- A failed device init turns the next one into a silent no-op
(AICOMRCCL-3091).
- Deregistering unsorts the MR cache, so a cached range gets registered
twice (AICOMRCCL-3092).
- A regMr failure on a later device keeps the earlier devices' MRs
(AICOMRCCL-3093).
- GIN connect, context and registration failures leak comms and MRs
(AICOMRCCL-3094).
- The RMA proxy's error report indexes devices by completion slot, and
can crash (AICOMRCCL-3095).
- IPutSignal with data but no destination posts an empty WR instead of
the signal (AICOMRCCL-3096).
- A plane-index failure frees the ibv device list twice
(AICOMRCCL-3143).
- Not pinned, as the outcome depends on uninitialized memory:
`IbCastMakeVDevice` compares and logs PCI roots it never set when a path
has none (AICOMRCCL-3097).

## Coverage
Lines: init.cc 642/652, common.cc 185/185, common_cast.h 57/57,
capability.cc 162/162, reg.cc 116/117, gdr.cc 73/73, multiplane.cc
186/189, gin.cc 491/491 (the GDAKI arm is compiled out, as in the
shipping build), net_ib_cast_gid_inspect.cc 102/102. The misses are
calloc failures, a capability probe that cannot fail, a telemetry slot
that is never out of range, and the return after reg.cc's loop.

## Mutation Testing
172 mutations on the hipified sources, all killed; 5 of them needed a
sharper test first. 1 more against the review changes, also killed. 11
more for #12749's runtime uDMA count and its mlx5-only data-direct
checks, all killed.

## Test Plan
Standalone build: `rccl-UnitTestsMicroNetIbCastInit` 275/275 in about
0.4 s, and `--gtest_shuffle --gtest_repeat=20` is clean. Every other
host binary was rebuilt against the changed fakes and run once. DdaColl
and Rocmwrap fail as they do on develop (the break #13819 fixes) and
link none of the changed files.

---------

Co-authored-by: Claude <noreply@anthropic.com>
@systems-assistant

Copy link
Copy Markdown
Contributor

TheRock Submodule Bump Activity

Newest first

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants