Skip to content

docs(qec): document Decoding Server deployment with Docker - #686

Open
vedika-saravanan wants to merge 25 commits into
NVIDIA:mainfrom
vedika-saravanan:docs/decoding-server
Open

vedika-saravanan wants to merge 25 commits into
NVIDIA:mainfrom
vedika-saravanan:docs/decoding-server

Conversation

@vedika-saravanan

@vedika-saravanan vedika-saravanan commented Jul 13, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Adds a Decoding Server User Guide for using the prebuilt Docker package
without building the server.

  • Explains the configuration, measurement and correction workflow with a diagram.
  • Uses one reusable container and a shared host directory throughout the guide.
  • Covers generated surface-code A/B configurations, mapped BULK/FINAL inputs,
    software playback, CUDA-Q clients and third-party runtimes.
  • Links the color-code AI example and the task-graph and playback reference pages.
  • Explains custom decoder implementation, SDK extraction, compilation outside
    the server container, plugin deployment and startup verification.
  • Documents how to confirm external-server routing and troubleshoot common failures.
  • Corrects mapped-input handling in MESSAGE_FORMAT.md and updates the existing
    color-code example for the Python playback API.

No library or server runtime changes and no new dependencies.

Validation

  • Strict full-site Doxygen/Sphinx build with warnings treated as errors.
  • Generated memory configuration, server startup and UDP playback with the
    expected correction.
  • Compiled CUDA-Q client checks with server-side decode/error counters.
  • Custom plugin SDK extraction, external compilation, deployment and startup;
    missing-plugin negative control.
  • Full tracked-tree formatting: clang-format 22 and YAPF 0.43.0, plus
    git diff --check.

These are functional checks, not hardware or performance qualification.

Release image

The public decoding-server registry path remains a clearly marked placeholder
pending confirmation of the final release image name.

Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
@vedika-saravanan vedika-saravanan changed the title docs(qec): standalone decoding server reference page docs(qec): guide users through the prebuilt decoding server package Oct 16, 2026
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
@vedika-saravanan
vedika-saravanan marked this pull request as ready for review October 23, 2026 17:56
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
@vedika-saravanan vedika-saravanan changed the title docs(qec): guide users through the prebuilt decoding server package docs(qec): document Decoding Server deployment with Docker Oct 26, 2026

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

Thanks, Vedika; I left a few comments.

Also, do you think this should live in the Libraries section of the docs or the Examples? Right now it reads more like an example, and the new file decoding_server.rst lives in examples_rst, but it is only linked to from components/qec/index.rst, and not the Examples toctree.

Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
@vedika-saravanan

vedika-saravanan commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator Author

Regarding documentation placement:

Thanks, I agree the walkthrough fits better under Examples. It is now listed under Examples -> Realtime Decoding, with a cross-link from Libraries. Updated in f6d6108f.

Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
``playback-emulator``, and the compiler and headers for the CUDA-Q client examples.
The general CUDA-Q QEC library and development images are different packages.

Replace ``<decoding-server-registry>`` with the registry path published for

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.

Since this path should be established by the release, can we put it here? I believe it is already named: realtime_decoding_demo.rst:11-15 gives nvcr.io/nv-quantum/cudaq-qec/cudaq-decoding:cu13-latest

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I synced with @anjbur earlier, and we agreed to keep the placeholder until she finalizes the release image path. She’ll update it in a follow-up PR

Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
@bmhowe23

bmhowe23 commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator

@vedika-saravanan - can you please be sure to add a section on how users can write their own decoders and drop in the resulting .so file into the decoder-plugins directory, too? While users may develop the decoders in our decoding server Docker container for convenience, I don't think that is the typical use-case expected in the long term. That is - in the long term, we expect the Decoding server to not necessarily have C++ compilers in it.

Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
Document extracting the matching SDK from the server container before
building a custom decoder in a separate development environment.
Introduce custom.yaml and its shared run-directory location before
starting the server.

Signed-off-by: vedika-saravanan <vsaravanan@nvidia.com>
@vedika-saravanan

Copy link
Copy Markdown
Collaborator Author

@vedika-saravanan - can you please be sure to add a section on how users can write their own decoders and drop in the resulting .so file into the decoder-plugins directory, too? While users may develop the decoders in our decoding server Docker container for convenience, I don't think that is the typical use-case expected in the long term. That is - in the long term, we expect the Decoding server to not necessarily have C++ compilers in it.

Addressed in e360ddb. The guide now covers obtaining the matching SDK and building and deploying a custom decoder plugin without requiring a compiler in the server image.

This branch has not been deployed

No deployments
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.

3 participants