Skip to content

Commit 421e0c6

Browse files
bmhowe23claude
andcommitted
Skip the decoding server entirely on pre-0.16 realtime
The decoding server was the QEC build's last consumer of the 0.16-era realtime dispatch API on this branch: GpuRoceTransceiver.cpp stamps cudaq_function_entry_t::routing_key, which the old cuda-quantum pinned here does not have. Its CMake gates (realtime headers found; HSB + DOCA libs found for the gpuroce component) never consulted CUDAQ_REALTIME_FOR_0_16, so CI built it and failed. Return early from decoding-server-cqr when the 0.16-era API is absent, before the GPU RoCE detection, and pin CUDAQ_GPU_ROCE_AVAILABLE to FALSE in the cache. Every dependent already guards on if(TARGET ...): the core-server unit tests, the CQR plugin consumers (pymatching realtime test, app examples, the link-closure guardrail), the decoding_server tool, and its two-process test disable themselves with the component. No dangling references remain. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Ben Howe <bhowe@nvidia.com>
1 parent d4e07b0 commit 421e0c6

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

libs/qec/lib/realtime/decoding-server-cqr/CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,21 @@ else()
1313
set(_core_include_dir "${CMAKE_SOURCE_DIR}/libs/core/include")
1414
endif()
1515

16+
# The decoding server is built on the 0.16-era cuda-quantum realtime dispatch
17+
# API (routing_key function-table routing, the device-graph scheduler).
18+
# Against an older cuda-quantum, skip the whole component: every dependent
19+
# target -- the gpuroce transport, the CQR plugin, the decoding_server tool,
20+
# and their tests -- is gated on if(TARGET ...) and disables itself with it.
21+
# TEMPORARY (see CUDAQ_REALTIME_FOR_0_16 in ../CMakeLists.txt).
22+
if(NOT CUDAQ_REALTIME_FOR_0_16)
23+
set(CUDAQ_GPU_ROCE_AVAILABLE FALSE CACHE INTERNAL
24+
"GPU RoCE transport component cudaq-qec-decoding-server-gpuroce available")
25+
message(STATUS
26+
"cudaq-qec-decoding-server: SKIPPED (requires the 0.16-era cuda-quantum "
27+
"realtime dispatch API; see CUDAQ_REALTIME_FOR_0_16)")
28+
return()
29+
endif()
30+
1631
# ---------------------------------------------------------------------------
1732
# Optional: GPU RoCE transport via Hololink Sensor Bridge + DOCA
1833
#

0 commit comments

Comments
 (0)