Repository navigation
✨ Add a bounded QDMI device checker - #2600
Closed
flowerthrower wants to merge 51 commits into
Closed
flowerthrower wants to merge 51 commits into
flowerthrower wants to merge 51 commits into
Conversation
Move source-only configuration injection and shared provider fixtures into Core. Keep provider authentication and workload execution in the job process. Real Slurm and both provider integration runs remain pending local Docker setup. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Keep provider source filtering, installation and loaded-library assertions in Core. Prove conflicting values are present in the actual Slurm daemon environment before checking job isolation. Lint standalone SPANK separately because its Slurm headers and compilation database are independent of the Core runtime build. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Keep the existing Braket two-worker build limit in the shared provider installer. Validation: shell syntax check and full Core nox lint, including ty, passed on this tree. Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com>
Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com>
Keep main integration checks and cache wiring while sharing the provider fixture. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com>
7 of 10 tasks
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Build the wheel and native Runtime once before selecting the test installation. Mount source only during setup and keep build tools out of runtime images. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Share the existing device availability check with a supervised native CLI. Package the checker in native installs and wheels, and cover provider failures, deadlines, cleanup, and installed launchers. Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT-6 Astra via Codex
Keep the worker unreaped until its process group is cleaned up, and arrange Linux parent-death termination for outer launch-validator cancellation. Add a focused parent-death case to the installed checker CLI suite. Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT-6 Astra via Codex
Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com>
Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com>
Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com>
Distinguish the earlier validation from the focused native checks on current main. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com>
flowerthrower
force-pushed
the
codex/qdmi-device-checker
branch
from
September 23, 2026 08:24
59dff77 to
95b6201
Compare
Use build-tree RPATHs for the checker and its QDMI dependencies, following the existing test-target policy. CMake still applies the installation RPATH to installed targets. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
🤖 *AI text below* 🤖 Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
🤖 *AI text below* 🤖 Remove the manual build-tree RPATH that survives installation. Exercise the installed command with a distinct catalogue while the build tree remains present. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
🤖 *AI text below* 🤖 Retain the shared fixture and use the new client-visible QDMI device discovery API from main. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
🤖 *AI text below* 🤖 Adapt the checker to the renamed QDMI header and always-shared driver. Reuse the updated runtime-copy helper and install the checker directly in bin. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
🤖 *AI text below* 🤖 Keep the existing separation between build and install RPATHs. The runtime-copy helper does not update the copied SC device dependency paths, so using install RPATHs in the build tree still prevents device loading. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
🤖 *AI text below* 🤖 Include the documentation policy update that landed during merge validation. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
🤖 *AI text below* 🤖 Propagate the current Core documentation policy through the PR stack. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
🤖 *AI text below* 🤖 The builtin driver now retains device sessions for the process lifetime. Exercise the existing shutdown deadline through provider exit cleanup, preserving the separate initialization-hang and worker-cleanup assertions. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com> Assisted-by: GPT 5.6 via Codex
🤖 *AI text below* 🤖 Describe generic driver-session selection and the builtin driver’s catalogue initialization. Remove stale promises of isolated fresh device sessions. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com>
🤖 *AI text below* 🤖 Inherit the shared Slurm documentation correction and clarify that the checker selects a device through the generic opening API. Assisted-by: GPT-6 via Codex Signed-off-by: flowerthrower <flowerthrower@users.noreply.github.com>
3 tasks
Select the candidate Core wheel and its adapter extras even when providers pin another source revision. Exclude host-only CMake presets from Docker build input. Refresh main and describe licensing and caching directly. Assisted-by: GPT-6 via Codex
Clear inherited driver selection in builtin-runtime tests. Document the native checker catalogue boundary and process-exit cleanup. Include the updated shared Slurm base. Assisted-by: GPT-6 via Codex
burgholzer
added this pull request to stack #2727
October 9, 2026 18:58
burgholzer
marked this pull request as ready for review
October 9, 2026 18:58
burgholzer
force-pushed
the
codex/slurm-shared-deployment
branch
from
October 9, 2026 23:22
601f685 to
b965ed9
Compare
Member
|
🤖 AI text below 🤖 The availability command is incorporated into #2599 ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI text below 🤖
Description
Add
mqt-core-qdmi-check --device ID --timeout SECONDSon Linux and macOS. It selects a device through the same client opening API as the Slurm adapter, accepts IDLE/BUSY, and shares its availability check without submitting a job. A supervised worker bounds initialization, status queries, and process-exit cleanup; provider output is suppressed. Native installations and Python wheels expose the same command.The checker uses Core's runtime-copy helper and installs directly in
bin. Builds retain CMake's dependency paths; installation applies the existing relocatable RPATH.Fixes #2311. Stacked on #2599. The MIT checker has no Slurm or GPL dependency. Success is a readiness snapshot, not a reservation or submission guarantee.
The native checker needs its own catalogue configuration; it does not inherit Python entry-point discovery or in-process manifest registration.
Validation
MQT_CORE_QDMI_DRIVER. The installed-catalogue regression also reproduces the failure before test isolation and passes afterward.Codex assisted implementation, validation, and this description. Human review and acceptance are pending.
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).