Skip to content

[core/python/runtime] Rework the target configuration specification - #5452

Open
schweitzpgi wants to merge 1 commit into
NVIDIA:mainfrom
schweitzpgi:ch-harden.target.config
Open

schweitzpgi wants to merge 1 commit into
NVIDIA:mainfrom
schweitzpgi:ch-harden.target.config

Conversation

@schweitzpgi

Copy link
Copy Markdown
Collaborator

This is a fairly extensive overhaul that moves the target config from live .yml files in the runtime used whenever they are needed to pre-processing those declarative specifications at build-time so that the information can be loaded/linked into the code without a need for finding files with every run, etc.

This pre-processing allows the specification to be verified, tagged, and checked so as to prevent build-time to run-time skew and mischief, improved performance, a reliable contract from build to run, etc.

This work does not change how the data is used. That functionality, built from querying the relational information in the .yml files today is fully retained. It is merely the container that contains the database of target information that is being changed for safety, performance, etc. This change will also allow the compiler to obtain more clarity on the model each backend executes so that it can optimize for specific targets in direct ways, which the compiler cannot do at all today.

This is a fairly extensive overhaul that moves the target config
from live .yml files in the runtime used whenever they are needed
to pre-processing those declarative specifications at build-time
so that the information can be loaded/linked into the code without
a need for finding files with every run, etc.

This pre-processing allows the specification to be verified, tagged,
and checked so as to prevent build-time to run-time skew and mischief,
improved performance, a reliable contract from build to run, etc.

This work does not change *how* the data is used. That functionality,
built from querying the relational information in the .yml files today
is fully retained. It is merely the container that contains the database
of target information that is being changed for safety, performance, etc.
This change will also allow the compiler to obtain more clarity on the
model each backend executes so that it can optimize for specific targets
in direct ways, which the compiler cannot do at all today.

Signed-off-by: Eric Schweitz <eschweitz@nvidia.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation build The issue related to the CUDA Quantum build runtime CUDA quantum runtime python-lang Anything related to the Python CUDA Quantum language implementation python bridge Involves the python bridge to quake driver (nvq++) The nvq++ compiler driver codegen issue with generating any codegen output (QIR, OpenQASM etc.) core compiler labels Sep 17, 2026
@github-actions

Copy link
Copy Markdown

CI Summary (push) — ❌ failed

Run #35277916889 · ✅ 6 · ⏩ 8 · ❌ 1 · ⛔ 0

❌ Failed or cancelled
Job Result Link
build_and_test ❌ failure view
Top-level jobs (15)
Job Result
binaries ⏩ skipped
build_and_test ❌ failure
changes ✅ success
config_devdeps ✅ success
config_source_build ⏩ skipped
config_wheeldeps ✅ success
devdeps ✅ success
docker_image ⏩ skipped
gen_code_coverage ⏩ skipped
metadata ✅ success
python_devel_wheel ⏩ skipped
python_metapackages ⏩ skipped
python_wheels ⏩ skipped
source_build ⏩ skipped
wheeldeps ✅ success
⏩ Skipped jobs (8) — intentionally skipped on PR builds; run on merge_group / workflow_dispatch
Job
binaries
config_source_build
docker_image
gen_code_coverage
python_devel_wheel
python_metapackages
python_wheels
source_build
All sub-jobs (44) — every matrix leg, with links
Job Status Link
Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) ❌ failure view
Build and test (amd64, gcc12, openmpi) / Dev environment (Python) ❌ failure view
Build and test (amd64, llvm, openmpi) / Dev environment (Debug) ❌ failure view
Build and test (amd64, llvm, openmpi) / Dev environment (Python) ❌ failure view
Build and test (arm64, llvm, openmpi) / Dev environment (Debug) ❌ failure view
Build and test (arm64, llvm, openmpi) / Dev environment (Python) ❌ failure view
CI Summary ❔ in_progress view
Check for stable CUDA-Q changes ✅ success view
Configure build (devdeps) ✅ success view
Configure build (source_build) ⏩ skipped view
Configure build (wheeldeps) ✅ success view
Create CUDA Quantum installer ⏩ skipped view
Create Docker images ⏩ skipped view
Create Python metapackages ⏩ skipped view
Create Python wheels ⏩ skipped view
Create shared Python development wheel ⏩ skipped view
Gen code coverage ⏩ skipped view
Load dependencies (amd64, gcc12) / Caching ✅ success view
Load dependencies (amd64, gcc12) / Finalize ✅ success view
Load dependencies (amd64, gcc12) / Metadata ✅ success view
Load dependencies (amd64, llvm) / Caching ✅ success view
Load dependencies (amd64, llvm) / Finalize ✅ success view
Load dependencies (amd64, llvm) / Metadata ✅ success view
Load dependencies (arm64, gcc12) / Caching ✅ success view
Load dependencies (arm64, gcc12) / Finalize ✅ success view
Load dependencies (arm64, gcc12) / Metadata ✅ success view
Load dependencies (arm64, llvm) / Caching ✅ success view
Load dependencies (arm64, llvm) / Finalize ✅ success view
Load dependencies (arm64, llvm) / Metadata ✅ success view
Load source build cache ⏩ skipped view
Load wheel dependencies (amd64, 12.6) / Caching ✅ success view
Load wheel dependencies (amd64, 12.6) / Finalize ✅ success view
Load wheel dependencies (amd64, 12.6) / Metadata ✅ success view
Load wheel dependencies (amd64, 13.0) / Caching ✅ success view
Load wheel dependencies (amd64, 13.0) / Finalize ✅ success view
Load wheel dependencies (amd64, 13.0) / Metadata ✅ success view
Load wheel dependencies (arm64, 12.6) / Caching ✅ success view
Load wheel dependencies (arm64, 12.6) / Finalize ✅ success view
Load wheel dependencies (arm64, 12.6) / Metadata ✅ success view
Load wheel dependencies (arm64, 13.0) / Caching ✅ success view
Load wheel dependencies (arm64, 13.0) / Finalize ✅ success view
Load wheel dependencies (arm64, 13.0) / Metadata ✅ success view
Prepare cache clean-up ❔ in_progress view
Retrieve PR info ✅ success view
⚠️ Required checks (0/6) — 6 missing — declared in .github/required-checks.yml for push
Required check Status Link
Build and test (amd64, llvm, openmpi) / Dev environment (Debug) ❌ failure view
Build and test (amd64, llvm, openmpi) / Dev environment (Python) ❌ failure view
Build and test (arm64, llvm, openmpi) / Dev environment (Debug) ❌ failure view
Build and test (arm64, llvm, openmpi) / Dev environment (Python) ❌ failure view
Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) ❌ failure view
Build and test (amd64, gcc12, openmpi) / Dev environment (Python) ❌ failure view

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

Labels

build The issue related to the CUDA Quantum build codegen issue with generating any codegen output (QIR, OpenQASM etc.) core compiler documentation Improvements or additions to documentation driver (nvq++) The nvq++ compiler driver python bridge Involves the python bridge to quake python-lang Anything related to the Python CUDA Quantum language implementation runtime CUDA quantum runtime

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant