Skip to content

External custom QPU plugins for server-side observe#4980

Open
tomers-qedma wants to merge 1 commit into
NVIDIA:mainfrom
tomers-qedma:feature/external-custom-qpu-plugins
Open

External custom QPU plugins for server-side observe#4980
tomers-qedma wants to merge 1 commit into
NVIDIA:mainfrom
tomers-qedma:feature/external-custom-qpu-plugins

Conversation

@tomers-qedma

@tomers-qedma tomers-qedma commented Jul 23, 2026

Copy link
Copy Markdown

Summary

  • Auto-load libcudaq-<platform-qpu>-qpu.so when a target is activated (alongside the existing ServerHelper convention)
  • Add shared ObservableUserData helper and Future global-register expectation handling for server-side observe results
  • Document the Fermioniq-style external custom QPU contract and add the mock_observe_qpu reference plugin

Fixes #4926 (Proposal A). Leaves stock remote_rest / observe-mode unchanged.

Test plan

  • test_target_configautoLoadsPlatformQpuLibrary
  • test_observable_user_data — Fermioniq-compatible observable attachment + global-register expectation
  • Build with -DCUDAQ_EXTERNAL_PROJECTS=mock-observe-qpu and run check-mock-observe-qpu
  • Consumer smoke: external platform-qpu: <custom> plugin activates via cudaq.set_target / nvq++

Enable Fermioniq-style observe backends to ship as external plugins by
auto-loading libcudaq-<platform-qpu>-qpu.so, documenting the custom QPU
contract, and adding a mock_observe_qpu reference plugin. Also share
ObservableUserData and fix Future global-register expectations.

Implements NVIDIA#4926 Proposal A.

Signed-off-by: Tomer Shalev <tomer.shalev@qedma.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@copy-pr-bot

copy-pr-bot Bot commented Jul 23, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

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.

External backends: support Fermioniq/QESEM-style server-side observe (not only ServerHelper + remote_rest sample)

1 participant