Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
fcffe50
Set up pipeline for cuquantum 25.03 (#56)
1tnguyen Feb 28, 2025
7fb9c9f
Merge pull request #58 from NVIDIA/main
bmhowe23 Mar 3, 2025
96003fd
Update Python dynamics to use cuquantum 25.03 API (#57)
1tnguyen Mar 4, 2025
abe5c00
Missing private packages for deployment/publishing (#60)
1tnguyen Mar 4, 2025
f000da1
Support MPS general noise channel (#55)
1tnguyen Mar 5, 2025
c973c72
Merge main to staging
bmhowe23 Mar 5, 2025
c2ce345
Fixes for private Publishing (#62)
1tnguyen Mar 7, 2025
7406726
Merge main to staging
bmhowe23 Mar 7, 2025
ecfd2a3
Updating cudensitymat APIs with batchSize parameter (#63)
sacpis Mar 7, 2025
c695d32
Merge main to staging
bmhowe23 Mar 10, 2025
53abe4e
Update mgpu sha: add CUDAQ_FORCE_EXP_PAULI_DECOMPOSE option (#66)
1tnguyen Mar 10, 2025
f28179a
Merge branch 'main' into staging/0.10.0
bettinaheim Mar 11, 2025
2d1094a
Merge pull request #68 from NVIDIA/main_updates
bettinaheim Mar 11, 2025
fe921b0
squashing network issue mitigation into a single commit
bettinaheim Mar 11, 2025
59592b8
Update publishing.yml to split the wheelhouse due to file size limita…
bmhowe23 Mar 12, 2025
f7b3156
[core] Make the get-concrete-matrix pass a Module pass. (#2715)
schweitzpgi Mar 12, 2025
a1b5c92
Fixing class names (#2721)
sacpis Mar 12, 2025
3e8b469
Adding state to a vector of size 1 (#2723)
sacpis Mar 12, 2025
23748a6
Skipping non-dynamics examples for dynamics target (#2722)
sacpis Mar 12, 2025
87f098e
Adding curand dynamic dependency (#72)
bettinaheim Mar 12, 2025
0b0c61d
Adding test_helpers to CI (#2724)
sacpis Mar 12, 2025
1d0d222
removing afqmc notebook
bettinaheim Mar 12, 2025
92c1cd3
fixing typo in the publishing pipeline
bettinaheim Mar 12, 2025
005c063
Suppress deprecation warnings on cuquantum import (#73)
1tnguyen Mar 12, 2025
ca5f6f4
Setting device parameter (#75)
sacpis Mar 13, 2025
a44a939
Fix test_qnn.py for more than 2 GPUs (#2728)
1tnguyen Mar 13, 2025
ad77358
allowing release creation even with manual gitlab commit (to re rever…
bettinaheim Mar 13, 2025
139b4a1
Bump mgpu sha to pick up a thread-safety fix (#76)
1tnguyen Mar 13, 2025
676aae0
Adding deprecation notices for CUDA 11 (#77)
bettinaheim Mar 13, 2025
f24f4f7
Bump mgpu sha to incorporate gate grouping integer overflow hot fix (…
1tnguyen Mar 14, 2025
f9e8e23
Revert temporary changes (#80)
1tnguyen Mar 17, 2025
b3dffed
Update docs for trajectory simulation (#74)
1tnguyen Mar 17, 2025
306e993
Undoing a change for permissive publishing
bettinaheim Mar 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ jobs:
strategy:
matrix:
platform: [amd64, arm64]
python_version: ['3.12'] # FIXME: add '3.10' back
python_version: ['3.10', '3.12']
cuda_version: ["11.8", "12.0"]
fail-fast: false
uses: ./.github/workflows/python_wheels.yml
Expand All @@ -255,7 +255,7 @@ jobs:
uses: ./.github/workflows/python_metapackages.yml
with:
cudaq_version: ${{ needs.python_wheels.outputs.cudaq_version }}
python_versions: "['3.12']" # fixme: reenable 3.10
python_versions: "['3.10', '3.12']"
cuda_versions: "['', '11.8', '12.0']"
wheel_artifacts: 'pycudaq-*'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/config/gitlab_commits.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
nvidia-mgpu-repo: cuda-quantum/cuquantum-mgpu.git
nvidia-mgpu-commit: de32bf2abae42f118a0da36be0066296d76b0dbc
nvidia-mgpu-commit: ddfaacf2ffd7dc1a9a4333e06474b213887d437c
2 changes: 1 addition & 1 deletion .github/workflows/deployments.yml
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ jobs:
cuda_version=${{ matrix.cuda_version }}
base_image=${{ fromJson(needs.config.outputs.json).image_hash[format('{0}-gcc11', matrix.platform)] }}
ompidev_image=${{ fromJson(needs.config.outputs.json).image_hash[format('{0}-cu{1}-ompi', matrix.platform, matrix.cuda_version)] }}
${{ matrix.cuda_version != '11.8' && 'cuda_packages=cuda-cudart cuda-nvrtc cuda-compiler libcublas-dev libcusolver libnvjitlink' || '' }}
${{ matrix.cuda_version != '11.8' && 'cuda_packages=cuda-cudart cuda-nvrtc cuda-compiler libcublas-dev libcurand-dev libcusolver libnvjitlink' || '' }}
registry_cache_from: ${{ needs.metadata.outputs.cache_base }}
update_registry_cache: ${{ needs.metadata.outputs.cache_target }}
environment: ${{ needs.metadata.outputs.environment }}
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/docker_images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ jobs:
driver-opts: |
network=host
image=moby/buildkit:v0.19.0

- name: Build Open MPI
id: docker_build
uses: docker/build-push-action@v5
Expand Down Expand Up @@ -483,6 +483,9 @@ jobs:

platform_tag=${{ needs.metadata.outputs.platform_tag }}
cuda_major=`echo ${{ inputs.cuda_version }} | cut -d . -f1`
if [ "$cuda_major" == "11" ]; then
deprecation_notice="**Note**: Support for CUDA 11 will be removed in future releases. Please update to CUDA 12."
fi
image_tag=${platform_tag:+$platform_tag-}${cuda_major:+cu${cuda_major}-}
if ${{ github.event.pull_request.number != '' }} || [ -n "$(echo ${{ github.ref_name }} | grep pull-request/)" ]; then
pr_number=`echo ${{ github.ref_name }} | grep -o [0-9]*`
Expand All @@ -502,6 +505,7 @@ jobs:
echo "base_image=$base_image" >> $GITHUB_OUTPUT
echo "devdeps_image=$devdeps_image" >> $GITHUB_OUTPUT
echo "dev_image_name=$dev_image_name" >> $GITHUB_OUTPUT
echo "deprecation_notice=$deprecation_notice" >> $GITHUB_OUTPUT

if ${{ inputs.environment == '' }}; then
tar_archive=/tmp/cuda-quantum.tar
Expand Down Expand Up @@ -602,6 +606,7 @@ jobs:
cudaqdev_image=${{ steps.prereqs.outputs.dev_image_name }}@${{ steps.release_build.outputs.digest }}
base_image=${{ steps.prereqs.outputs.base_image }}
release_version=${{ steps.prereqs.outputs.image_tag }}
deprecation_notice=${{ steps.prereqs.outputs.deprecation_notice }}
tags: ${{ steps.cudaq_metadata.outputs.tags }}
labels: ${{ steps.cudaq_metadata.outputs.labels }}
platforms: ${{ inputs.platforms }}
Expand Down Expand Up @@ -719,7 +724,7 @@ jobs:
# Unfortunately, we need to install cuquantum for docs generation to work properly,
# since using mock imports in the autodocs configuration doesn't work properly.
# See also https://github.com/sphinx-doc/sphinx/issues/11211.
docker exec cuda-quantum-dev bash -c "python3 -m pip cache purge && python3 -m pip install cuquantum-python-cu12~=24.11"
docker exec cuda-quantum-dev bash -c "python3 -m pip install cuquantum-python-cu12~=25.03"

(docker exec cuda-quantum-dev bash -c "export $docs_version && bash scripts/build_docs.sh" && built=true) || built=false
if $built; then docker cp cuda-quantum-dev:"/usr/local/cudaq/docs/." docs; \
Expand Down Expand Up @@ -820,7 +825,7 @@ jobs:
docker cp docs/notebook_validation.py cuda-quantum:"/home/cudaq/notebook_validation.py"
# In containers without GPU support, UCX does not work properly since it is configured to work with GPU-support.
# Hence, don't enforce UCX when running these tests.
docker exec cuda-quantum bash -c "python3 -m pip cache purge && python3 -m pip install pandas scipy pandas seaborn 'h5py<3.11' contfrac"
docker exec cuda-quantum bash -c "python3 -m pip install pandas scipy pandas seaborn 'h5py<3.11' contfrac"
(docker exec cuda-quantum bash -c "unset OMPI_MCA_pml && set -o pipefail && bash validate_container.sh | tee /tmp/validation.out") && passed=true || passed=false
docker cp cuda-quantum:"/tmp/validation.out" /tmp/validation.out
docker stop cuda-quantum
Expand Down
29 changes: 19 additions & 10 deletions .github/workflows/publishing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -682,7 +682,7 @@ jobs:
echo "docker_output=type=local,dest=/tmp/wheels" >> $GITHUB_OUTPUT
env:
GH_TOKEN: ${{ secrets.REPO_BOT_ACCESS_TOKEN }}

- name: Log in to DockerHub
uses: docker/login-action@v3
with:
Expand Down Expand Up @@ -942,6 +942,7 @@ jobs:
cuda_version_suffix="$(echo ${{ matrix.cuda_version }} | tr . -)"
apt-get update && apt-get install -y --no-install-recommends \
libcublas-$cuda_version_suffix \
libcurand-$cuda_version_suffix \
cuda-cudart-$cuda_version_suffix \
libcusolver-$cuda_version_suffix \
cuda-nvrtc-$cuda_version_suffix
Expand Down Expand Up @@ -1000,15 +1001,17 @@ jobs:
wheel_validation_piponly:
name: Wheel validation, pip only
needs: [assets, cudaq_wheels, cudaq_metapackages]
runs-on: linux-amd64-gpu-v100-latest-1
permissions:
contents: read

strategy:
matrix:
platform: ['amd64-gpu-v100', 'arm64-gpu-a100']
cuda_major: ['', '11', '12']
fail-fast: false

runs-on: linux-${{ matrix.platform }}-latest-1

container:
image: ubuntu:22.04
options: --user root
Expand Down Expand Up @@ -1036,11 +1039,11 @@ jobs:
name: ${{ needs.cudaq_metapackages.outputs.artifact_name }}
path: /tmp/packages

- name: Run x86 validation
- name: Run basic validation
shell: bash
run: |
# These simple steps are only expected to work for x86 and only for
# targets and test cases that don't require MPI.
# These simple steps are only expected to work for
# test cases that don't require MPI.
# Create clean python3 environment.
apt-get update && apt-get install -y --no-install-recommends python3 python3-pip
mkdir -p /tmp/packages && mv /tmp/wheels/* /tmp/packages && rmdir /tmp/wheels
Expand Down Expand Up @@ -1124,7 +1127,7 @@ jobs:
pattern: '*-wheels'
path: /tmp/wheels
merge-multiple: true

- name: Load metapackage
uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -1211,10 +1214,16 @@ jobs:
for installer in `find installers/ -type f -not -name '*.whl'`; do
mv -v "$installer" "$(basename -- "$installer")"
done
for dir in `ls wheelhouse/`; do
mv -v "wheelhouse/$dir"/* wheelhouse/ && rmdir "wheelhouse/$dir"
# A single wheelhouse.zip file is too big. Split it up by platform.
platforms=$(ls wheelhouse | cut -d- -f1 | sort | uniq)
for p in $platforms; do
mkdir wheelhouse-${p}
for fulldir in wheelhouse/${p}-*; do
dir=$(basename $fulldir)
mv -v "wheelhouse/$dir"/* wheelhouse-${p}/ && rmdir "wheelhouse/$dir"
done
zip -r wheelhouse-${p}.zip wheelhouse-${p}
done
zip -r wheelhouse.zip wheelhouse
zip -r metapackages.zip metapackages

release_id=${{ inputs.assets_from_run || github.run_id }}
Expand All @@ -1231,7 +1240,7 @@ jobs:
--target $github_commit --draft $prerelease \
--generate-notes --notes-start-tag $latest_tag --notes "$rel_notes"
gh release upload $release_id -R ${{ github.repository }} install_cuda_quantum* --clobber
gh release upload $release_id -R ${{ github.repository }} wheelhouse.zip --clobber
gh release upload $release_id -R ${{ github.repository }} wheelhouse-*.zip --clobber
gh release upload $release_id -R ${{ github.repository }} metapackages.zip --clobber
gh release edit $release_id -R ${{ github.repository }} \
--title "$release_title" --tag $version $prerelease # --draft=false
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/python_metapackages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,10 @@ jobs:
echo "Creating README.md for cudaq package"
package_name=cudaq
cuda_version_requirement="11.x (where x \>= 8) or 12.x"
cuda_version_conda=11.8.0 # only used as example in the install script
cuda_version_conda=12.4.0 # only used as example in the install script
deprecation_notice="**Note**: Support for CUDA 11 will be removed in future releases. Please update to CUDA 12."
cat python/README.md.in > python/metapackages/README.md
for variable in package_name cuda_version_requirement cuda_version_conda; do
for variable in package_name cuda_version_requirement cuda_version_conda deprecation_notice; do
sed -i "s/.{{[ ]*$variable[ ]*}}/${!variable}/g" python/metapackages/README.md
done
if [ -n "$(cat python/metapackages/README.md | grep -e '.{{.*}}')" ]; then
Expand Down
9 changes: 1 addition & 8 deletions .github/workflows/python_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,6 @@ jobs:
matrix:
os_image: ${{ fromJSON(needs.create_test_config.outputs.json).os_images }}
pip_install_flags: ['', '--user']
exclude:
- os_image: ubuntu:22.04
pip_install_flags: '--user'
- os_image: ubuntu:24.04
pip_install_flags: '--user'
- os_image: fedora:39
pip_install_flags: ''
fail-fast: false

steps:
Expand Down Expand Up @@ -257,7 +250,7 @@ jobs:
echo "::error file=python_wheel.yml::Python tests failed with status $pytest_status."
exit 1
fi
python${{ inputs.python_version }} -m pip install --user fastapi uvicorn llvmlite openfermionpyscf==0.5
python${{ inputs.python_version }} -m pip install --user fastapi uvicorn llvmlite
for backendTest in /tmp/tests/backends/*.py; do
python${{ inputs.python_version }} -m pytest $backendTest
pytest_status=$?
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/test_in_devenv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -215,16 +215,18 @@ jobs:
-t dev_env:local -f docker/build/cudaq.dev.Dockerfile . \
--build-arg base_image=$base_image

- name: Setup proxy cache
uses: nv-gha-runners/setup-proxy-cache@main

- name: Build and test CUDA Quantum (Python)
uses: ./.github/actions/run-in-docker
with:
image: dev_env:local
shell: bash
run: |
cd $CUDAQ_REPO_ROOT
pip cache purge
pip install iqm_client==16.1 --user -vvv
pip install . -vvv # FIXME: --user causes package hash mismatch on ubuntu...
pip install . --user -vvv
pyinstall_status=$?
if [ ! $pyinstall_status -eq 0 ]; then
echo "::error file=test_in_devenv.yml:: Pip install of CUDA Quantum failed with status $pyinstall_status."
Expand Down
6 changes: 4 additions & 2 deletions docker/build/assets.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ RUN echo "Patching up wheel using auditwheel..." && \
--plat ${MANYLINUX_PLATFORM} \
--exclude libcublas.so.11 \
--exclude libcublasLt.so.11 \
--exclude libcurand.so.10 \
--exclude libcusolver.so.11 \
--exclude libcutensor.so.2 \
--exclude libcutensornet.so.2 \
Expand Down Expand Up @@ -262,7 +263,7 @@ RUN gcc_packages=$(dnf list installed "gcc*" | sed '/Installed Packages/d' | cut

## [Python MLIR tests]
RUN cd /cuda-quantum && source scripts/configure_build.sh && \
python3 -m pip install lit pytest scipy cuquantum-python-cu$(echo ${CUDA_VERSION} | cut -d . -f1)~=24.11 && \
python3 -m pip install lit pytest scipy cuquantum-python-cu$(echo ${CUDA_VERSION} | cut -d . -f1)~=25.03 && \
"${LLVM_INSTALL_PREFIX}/bin/llvm-lit" -v _skbuild/python/tests/mlir \
--param nvqpp_site_config=_skbuild/python/tests/mlir/lit.site.cfg.py
# The other tests for the Python wheel are run post-installation.
Expand Down Expand Up @@ -322,7 +323,8 @@ RUN . /cuda-quantum/scripts/configure_build.sh install-gcc && \
dnf install -y --nobest --setopt=install_weak_deps=False \
cuda-compiler-$(echo ${CUDA_VERSION} | tr . -) \
cuda-cudart-devel-$(echo ${CUDA_VERSION} | tr . -) \
libcublas-devel-$(echo ${CUDA_VERSION} | tr . -) && \
libcublas-devel-$(echo ${CUDA_VERSION} | tr . -) \
libcurand-devel-$(echo ${CUDA_VERSION} | tr . -) && \
if [ $(echo $CUDA_VERSION | cut -d "." -f1) -ge 12 ]; then \
dnf install -y --nobest --setopt=install_weak_deps=False \
libnvjitlink-$(echo ${CUDA_VERSION} | tr . -); \
Expand Down
4 changes: 2 additions & 2 deletions docker/build/devdeps.ext.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ ENV UCX_TLS=rc,cuda_copy,cuda_ipc,gdr_copy,sm

# Install CUDA

ARG cuda_packages="cuda-cudart cuda-nvrtc cuda-compiler libcublas-dev libcusolver"
ARG cuda_packages="cuda-cudart cuda-nvrtc cuda-compiler libcublas-dev libcurand-dev libcusolver"
RUN if [ -n "$cuda_packages" ]; then \
arch_folder=$([ "$(uname -m)" == "aarch64" ] && echo sbsa || echo x86_64) \
&& cuda_packages=`printf '%s\n' $cuda_packages | xargs -I {} echo {}-$(echo ${CUDA_VERSION} | tr . -)` \
Expand Down Expand Up @@ -164,7 +164,7 @@ ENV PATH="${CUDA_INSTALL_PREFIX}/lib64/:${CUDA_INSTALL_PREFIX}/bin:${PATH}"
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 python3-pip && \
apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* && \
python3 -m pip install cuquantum-python-cu$(echo $CUDA_VERSION | cut -d . -f1)~=24.11 && \
python3 -m pip install cuquantum-python-cu$(echo $CUDA_VERSION | cut -d . -f1)~=25.03 && \
if [ "$(python3 --version | grep -o [0-9\.]* | cut -d . -f -2)" != "3.10" ]; then \
echo "expecting Python version 3.10"; \
fi
Expand Down
3 changes: 2 additions & 1 deletion docker/build/devdeps.manylinux.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,8 @@ RUN arch_folder=$([ "$(uname -m)" == "aarch64" ] && echo sbsa || echo x86_64) \
&& dnf install -y --nobest --setopt=install_weak_deps=False wget \
cuda-compiler-$(echo ${CUDA_VERSION} | tr . -) \
cuda-cudart-devel-$(echo ${CUDA_VERSION} | tr . -) \
libcublas-devel-$(echo ${CUDA_VERSION} | tr . -)
libcublas-devel-$(echo ${CUDA_VERSION} | tr . -) \
libcurand-devel-$(echo ${CUDA_VERSION} | tr . -)

ENV CUDA_INSTALL_PREFIX=/usr/local/cuda-$CUDA_VERSION
ENV CUDA_HOME="$CUDA_INSTALL_PREFIX"
Expand Down
4 changes: 3 additions & 1 deletion docker/release/cudaq.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,9 @@ Version: ${CUDA_QUANTUM_VERSION}\n\n\
Copyright (c) 2025 NVIDIA Corporation & Affiliates \n\
All rights reserved.\n\n\
To run a command as administrator (user `root`), use `sudo <command>`.\n"
RUN echo -e "$COPYRIGHT_NOTICE" > "$CUDA_QUANTUM_PATH/Copyright.txt"
ARG deprecation_notice=""
RUN echo -e "$COPYRIGHT_NOTICE" > "$CUDA_QUANTUM_PATH/Copyright.txt" && \
echo -e "$deprecation_notice" >> "$CUDA_QUANTUM_PATH/Copyright.txt"
RUN echo 'cat "$CUDA_QUANTUM_PATH/Copyright.txt"' > /etc/profile.d/welcome.sh

# See also https://github.com/microsoft/vscode-remote-release/issues/4781
Expand Down
2 changes: 1 addition & 1 deletion docker/release/cudaq.ext.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ RUN if [ -d "$CUDA_QUANTUM_PATH/assets/documentation" ]; then \

# Install additional runtime dependencies.
RUN cuda_version_suffix=$(echo ${CUDA_VERSION} | tr . -) && \
for cudart_dependency in libcusolver libcublas cuda-cudart cuda-nvrtc; do \
for cudart_dependency in libcusolver libcublas libcurand cuda-cudart cuda-nvrtc; do \
if [ -z "$(apt list --installed | grep -o ${cudart_dependency}-${cuda_version_suffix})" ]; then \
apt-get install -y --no-install-recommends \
${cudart_dependency}-${cuda_version_suffix}; \
Expand Down
6 changes: 5 additions & 1 deletion docker/release/cudaq.wheel.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,10 @@ RUN cd cuda-quantum && cat python/README.md.in > python/README.md && \
package_name=cuda-quantum-cu$(echo ${CUDA_VERSION} | cut -d . -f1) && \
cuda_version_requirement="\>= ${CUDA_VERSION}" && \
cuda_version_conda=${CUDA_VERSION}.0 && \
for variable in package_name cuda_version_requirement cuda_version_conda; do \
if [ "${CUDA_VERSION#11.}" != "${CUDA_VERSION}" ]; then \
deprecation_notice="**Note**: Support for CUDA 11 will be removed in future releases. Please update to CUDA 12."; \
fi && \
for variable in package_name cuda_version_requirement cuda_version_conda deprecation_notice; do \
sed -i "s/.{{[ ]*$variable[ ]*}}/${!variable}/g" python/README.md; \
done && \
if [ -n "$(cat python/README.md | grep -e '.{{.*}}')" ]; then \
Expand All @@ -79,6 +82,7 @@ RUN echo "Building wheel for python${python_version}." \
--exclude libcutensornet.so.2 \
--exclude libcublas.so.$cudaq_major \
--exclude libcublasLt.so.$cudaq_major \
--exclude libcurand.so.10 \
--exclude libcusolver.so.$cudaq_major \
--exclude libcutensor.so.2 \
--exclude libnvToolsExt.so.1 \
Expand Down
11 changes: 11 additions & 0 deletions docker/release/installer.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,17 @@ RUN source /cuda-quantum/scripts/configure_build.sh && \
## [<CUDAQuantumAssets]

## [Self-extracting Archive]
ARG deprecation_notice=""
RUN if [ -z "${deprecation_notice}" ] && [ "${CUDA_VERSION#11.}" != "${CUDA_VERSION}" ]; then \
deprecation_notice="**Note**: Support for CUDA 11 will be removed in future releases. Please update to CUDA 12."; \
fi && \
if [ -n "${deprecation_notice}" ]; then \
notice="deprecation_notice='"${deprecation_notice}"'" && \
key='expected_key="Enter any key to continue."' && \
# prompt and wait for confirmation if input and output is a terminal, print to error stream otherwise
prompt='if [ -t 0 ] && [ -t 1 ]; then while true; do read -p "$deprecation_notice $expected_key" -r choice < /dev/tty; case "$choice" in * ) break;; esac; done; else echo -e "\e[01;31m${deprecation_notice}\e[0m" >&2; fi' && \
echo "$notice" >> install.sh && echo "$key" >> install.sh && echo "$prompt" >> install.sh; \
fi
RUN bash /makeself/makeself.sh --gzip --sha256 --license /cuda-quantum/LICENSE \
/cuda_quantum_assets install_cuda_quantum_cu$(echo ${CUDA_VERSION} | cut -d . -f1).$(uname -m) \
"CUDA-Q toolkit for heterogeneous quantum-classical workflows" \
Expand Down
2 changes: 1 addition & 1 deletion docker/test/installer/runtime_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ esac
CUDA_DOWNLOAD_URL=https://developer.download.nvidia.com/compute/cuda/repos
CUDA_ARCH_FOLDER=$([ "$(uname -m)" == "aarch64" ] && echo sbsa || echo x86_64)
CUDA_VERSION_SUFFIX=$(echo ${CUDART_VERSION:-'12.0'} | tr . -)
CUDA_PACKAGES=$(echo "cuda-cudart cuda-nvrtc libcusolver libcublas" | sed "s/[^ ]*/&-${CUDA_VERSION_SUFFIX} /g")
CUDA_PACKAGES=$(echo "cuda-cudart cuda-nvrtc libcusolver libcublas libcurand" | sed "s/[^ ]*/&-${CUDA_VERSION_SUFFIX} /g")
if [ $(echo ${CUDART_VERSION} | cut -d . -f1) -gt 11 ]; then
CUDA_PACKAGES+=" libnvjitlink-${CUDA_VERSION_SUFFIX}"
fi
Expand Down
Loading
Loading