Skip to content

[CI] Publishing pipeline fixes continued#3579

Merged
khalatepradnya merged 25 commits intomainfrom
test-publishing
Nov 7, 2025
Merged

[CI] Publishing pipeline fixes continued#3579
khalatepradnya merged 25 commits intomainfrom
test-publishing

Conversation

@khalatepradnya
Copy link
Collaborator

@khalatepradnya khalatepradnya commented Nov 5, 2025

This PR follows-up the work from #3544

Successful pipeline - https://github.com/NVIDIA/cuda-quantum/actions/runs/19126706667

  • Updated workflow and validation scripts to use full CUDA version strings (e.g., 12.4.0, 13.0.2) for conda channel selection for compatibility with available CUDA packages
  • Improved detection logic for CUDA versions in setup.py by including CUDA 13 library names, ensuring correct identification of the environment. (python/metapackages/setup.py)
  • Refactored CUDA library path setup in cudaq/__init__.py to dynamically construct and set the CUDAQ_DYNLIBS environment variable based on the detected CUDA version, supporting both CUDA 12 and CUDA 13 and handling missing libraries gracefully. (python/cudaq/__init__.py)
  • Updated Dockerfile installation logic to install the correct set of CUDA Python packages depending on the major CUDA version, improving container compatibility and reducing installation errors. (docker/release/cudaq.ext.Dockerfile)
  • Enhanced notebook validation workflow to create a dedicated Jupyter kernel and virtual environment for container-based notebook execution, allowing notebooks to install their own dependencies and improving isolation and reproducibility. (scripts/validate_container.sh, docs/notebook_validation.py)
  • Added missing Python packages (python3-venv, python3-pip) to the publishing workflow setup to ensure required tools are available for builds and validation. (.github/workflows/publishing.yml)
  • Metapackage validation: (1) explicitly specify the conda channel, don't assume the .0 patch version in the channel name (conda 13.0.0 channel is not a real CUDA 13 channel); (2) install torch (during validation) matching the version of cuda-q wheel dependencies (prevent conflicting dependencies).

mitchdz and others added 20 commits November 3, 2025 12:06
Signed-off-by: Mitchell <mitch_dz@hotmail.com>
Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
…ach library. (#3575)

Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com>
…channel, fix an issue with torch on cu13 (#3576)

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Install `python3-venv`

Signed-off-by: Pradnya Khalate <148914294+khalatepradnya@users.noreply.github.com>
Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com>
Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
* Use cu12 packages for CUDA 12

Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
@github-actions
Copy link

github-actions bot commented Nov 6, 2025

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Nov 6, 2025
@khalatepradnya khalatepradnya enabled auto-merge (squash) November 6, 2025 05:26
Copy link
Collaborator

@sacpis sacpis left a comment

Choose a reason for hiding this comment

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

Overall this PR looks good. Just have one comment. Thanks @khalatepradnya.

github-actions bot pushed a commit that referenced this pull request Nov 6, 2025
@github-actions
Copy link

github-actions bot commented Nov 6, 2025

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

Comment on lines +175 to +177
# For CUDA version 13, we need to use the nightly build.
# This is required because the stable build (as of v2.9.0) depends on cuBlas 13.0,
# while cuquantum-cu13 depends on cuBlas 13.1.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Wow, I assume we need to make a similar change to CUDA-QX? Will this need to go int the docs?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Definitely. I'll update the doc in a follow-up PR. Currently, it has a similar note about using the torch nightly channel for CUDA 12.8. I'll check whether it's still needed and add a note for CUDA 13.

Copy link
Collaborator

Choose a reason for hiding this comment

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

while cuquantum-cu13 depends on cuBlas 13.1.

I do not see this dependency. When I install in a fresh environment, the pipdeptree that I see is this:

cuquantum-cu13==25.9.0
├── custatevec-cu13 [required: ==1.10.0, installed: 1.10.0]
├── cutensornet-cu13 [required: ==2.9.0, installed: 2.9.0]
│   └── cutensor-cu13 [required: >=2.3.1,<3, installed: 2.3.1]
└── cudensitymat-cu13 [required: ==0.3.0, installed: 0.3.0]
    ├── cutensor-cu13 [required: >=2.3.1,<3, installed: 2.3.1]
    └── cutensornet-cu13 [required: ~=2.9, installed: 2.9.0]
        └── cutensor-cu13 [required: >=2.3.1,<3, installed: 2.3.1]

Where do you see that cuquantum-cu13 requires cuBlas 13.1?

And the prerequisites that I see on https://docs.nvidia.com/cuda/cuquantum/latest/custatevec/index.html simply say 12.x and 13.x for CUDA 12 and 13, respectively.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I do, on the other hand, see where we/CUDA-Q are declaring a dependency on 13.1, but perhaps we shouldn't be doing that?

'nvidia-cublas ~= 13.1',

Copy link
Collaborator

Choose a reason for hiding this comment

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

I think #3589 needs to be incorporated to address the Torch issue. That allows us to use a released version of Torch rather than forcing our users to use a nightly version of Torch.

Copy link
Collaborator

@bmhowe23 bmhowe23 left a comment

Choose a reason for hiding this comment

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

LGTM, but it wouldn't hurt my feelings if @bettinaheim reviewed, too.

@khalatepradnya
Copy link
Collaborator Author

Merging to facilitate package creation...

@khalatepradnya khalatepradnya merged commit 4c56a3c into main Nov 7, 2025
193 checks passed
@khalatepradnya khalatepradnya deleted the test-publishing branch November 7, 2025 00:12
github-actions bot pushed a commit that referenced this pull request Nov 7, 2025
@github-actions
Copy link

github-actions bot commented Nov 7, 2025

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

bmhowe23 added a commit that referenced this pull request Nov 9, 2025
Ref: #3579 (comment)

* ✅ Deployment: https://github.com/NVIDIA/cuda-quantum/actions/runs/19187271254
* ✅ Publishing: https://github.com/NVIDIA/cuda-quantum/actions/runs/19196197722

Required by: NVIDIA/cudaqx#350

This allows our users to use a released version of Torch rather than forcing them to use a nightly build.
HarryBromley pushed a commit to Aegiq/cuda-quantum that referenced this pull request Nov 18, 2025
…A#3589)

Ref: NVIDIA#3579 (comment)

* ✅ Deployment: https://github.com/NVIDIA/cuda-quantum/actions/runs/19187271254
* ✅ Publishing: https://github.com/NVIDIA/cuda-quantum/actions/runs/19196197722

Required by: NVIDIA/cudaqx#350

This allows our users to use a released version of Torch rather than forcing them to use a nightly build.
@bettinaheim bettinaheim added the no release notes Don't list this PR in the release notes label Nov 25, 2025
@bettinaheim bettinaheim added this to the release 0.13.0 milestone Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no release notes Don't list this PR in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants