Skip to content

Commit 508391a

Browse files
atgellerboschmittRenaud-Ksacpisschweitzpgi
authored
Update LLVM Version from 16->22.1 (#4334)
Summary: Migrate CUDA-Q compiler and runtime from LLVM/MLIR 16 to LLVM/MLIR 22.1. This encompasses 154 files with ~7,300 lines of changes across the entire codebase, including op creation APIs, opaque pointer adoption, interface refactors, Python binding migration, and build system updates. Major Changes: - Op Creation API: `builder.create<Op>(loc, ...)` → `Op::create(builder, loc, ...)` - Opaque Pointers: Migrate typed LLVM pointers to opaque pointers (`!llvm.ptr`); remove element-type info from LLVMPointerType::get() - Rewrite Infrastructure: `PatternRewriter::updateRootInPlace` → `modifyOpInPlace`; `applyPatternsAndFoldGreedily → applyPatternsGreedily` - Pass Macros: Update pass definition macros from `GEN_PASS_CLASSES` to `GEN_PASS_DEF_*` - Python Bindings: Fix cross-DSO registration, return value policies, and type coercion - Runtime: Update JIT compilation infrastructure, LLVM target APIs, and argument conversion for opaque pointers - Tests: Update FileCheck patterns, QIR CHECK directives, and clang diagnostic verification for MLIR 22 output format changes - Toolchains: Replace `gcc11`, `gcc12`, and `clang16`, with bootstrapped `llvm` toolchain for CI testing. Follow up will work on re-enabling cross-compiler `gcc12` toolchain (still used for wheel builds). --------- Signed-off-by: boschmitt <7152025+boschmitt@users.noreply.github.com> Signed-off-by: Renaud Kauffmann <rkauffmann@nvidia.com> Signed-off-by: Sachin Pisal <spisal@nvidia.com> Signed-off-by: Eric Schweitz <eschweitz@nvidia.com> Signed-off-by: Adam Geller <adgeller@nvidia.com> Signed-off-by: Adam T. Geller <adgeller@nvidia.com> Co-authored-by: boschmitt <7152025+boschmitt@users.noreply.github.com> Co-authored-by: Renaud Kauffmann <rkauffmann@nvidia.com> Co-authored-by: Sachin Pisal <spisal@nvidia.com> Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
1 parent d2676a3 commit 508391a

383 files changed

Lines changed: 10014 additions & 8655 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/required-checks.yml

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
# An empty list (or missing key) for an event type disables enforcement
99
# for that event — useful for bootstrapping.
1010
merge_group: &full_matrix
11-
- Build and test (arm64, gcc11, openmpi) / Dev environment (Debug)
12-
- Build and test (arm64, gcc11, openmpi) / Dev environment (Python)
13-
- Build and test (arm64, gcc12, openmpi) / Dev environment (Debug)
14-
- Build and test (arm64, gcc12, openmpi) / Dev environment (Python)
11+
- Build and test (amd64, llvm, openmpi) / Dev environment (Debug)
12+
- Build and test (amd64, llvm, openmpi) / Dev environment (Python)
13+
- Build and test (arm64, llvm, openmpi) / Dev environment (Debug)
14+
- Build and test (arm64, llvm, openmpi) / Dev environment (Python)
1515
- Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets
1616
- Create CUDA Quantum installer (amd64, 12.6) / Minimal OpenMPI installation
1717
- Create CUDA Quantum installer (amd64, 12.6) / Validate installer (debian:12)
@@ -44,13 +44,40 @@ merge_group: &full_matrix
4444
- Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user)
4545
- Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10)
4646
push:
47-
- Build and test (amd64, clang16, openmpi) / Dev environment (Debug)
48-
- Build and test (amd64, clang16, openmpi) / Dev environment (Python)
49-
- Build and test (amd64, gcc11, openmpi) / Dev environment (Debug)
50-
- Build and test (amd64, gcc11, openmpi) / Dev environment (Python)
51-
- Build and test (amd64, gcc12, openmpi) / Dev environment (Debug)
52-
- Build and test (amd64, gcc12, openmpi) / Dev environment (Python)
53-
- Build and test (arm64, clang16, openmpi) / Dev environment (Debug)
54-
- Build and test (arm64, clang16, openmpi) / Dev environment (Python)
47+
- Build and test (amd64, llvm, openmpi) / Dev environment (Debug)
48+
- Build and test (amd64, llvm, openmpi) / Dev environment (Python)
49+
- Build and test (arm64, llvm, openmpi) / Dev environment (Debug)
50+
- Build and test (arm64, llvm, openmpi) / Dev environment (Python)
51+
- Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets
52+
- Create CUDA Quantum installer (amd64, 12.6) / Minimal OpenMPI installation
53+
- Create CUDA Quantum installer (amd64, 12.6) / Validate installer (debian:12)
54+
- Create CUDA Quantum installer (amd64, 12.6) / Validate installer (fedora:42)
55+
- Create CUDA Quantum installer (amd64, 12.6) / Validate installer (opensuse/leap:15.5)
56+
- Create CUDA Quantum installer (amd64, 12.6) / Validate installer (redhat/ubi9:9.6)
57+
- Create CUDA Quantum installer (amd64, 12.6) / Validate installer (ubuntu:22.04)
58+
- Create CUDA Quantum installer (arm64, 12.6) / Build CUDA Quantum assets
59+
- Create CUDA Quantum installer (arm64, 12.6) / Minimal OpenMPI installation
60+
- Create CUDA Quantum installer (arm64, 12.6) / Validate installer (redhat/ubi9:9.6)
61+
- Create CUDA Quantum installer (arm64, 12.6) / Validate installer (ubuntu:22.04)
62+
- Create Docker images (amd64) / Documentation
63+
- Create Docker images (amd64) / Validation
64+
- Create Docker images (arm64) / Validation
65+
- Create Python metapackages / Build Python metapackages
66+
- Create Python metapackages / Test Python metapackages (3.11)
67+
- Create Python metapackages / Test Python metapackages (3.13)
68+
- Create Python metapackages / Test Python metapackages (12.6, 3.11)
69+
- Create Python metapackages / Test Python metapackages (12.6, 3.13)
70+
- Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12, --user)
71+
- Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12)
72+
- Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42, --user)
73+
- Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42)
74+
- Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user)
75+
- Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10)
76+
- Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12, --user)
77+
- Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12)
78+
- Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42, --user)
79+
- Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42)
80+
- Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user)
81+
- Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10)
5582
workflow_dispatch: *full_matrix
5683
schedule: *full_matrix

.github/workflows/build_package_sources.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767
else
6868
# cudaqx: devcontainer base, cudaqx target
6969
cu_tag=$(echo "${{ matrix.cuda }}" | tr -d .)
70-
echo "base_image=ghcr.io/nvidia/cuda-quantum-devcontainer:amd64-cu${{ matrix.cuda }}-gcc11-main" | tee -a $GITHUB_OUTPUT
70+
echo "base_image=ghcr.io/nvidia/cuda-quantum-devcontainer:amd64-cu${{ matrix.cuda }}-llvm-main" | tee -a $GITHUB_OUTPUT
7171
echo "target_image=ghcr.io/nvidia/cudaqx:cu${cuda_major}-latest" | tee -a $GITHUB_OUTPUT
7272
fi
7373

.github/workflows/ci.yml

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ jobs:
4242
cache_base: ${{ steps.pr_info.outputs.pr_base }}
4343
llvm_commit: ${{ steps.repo_info.outputs.llvm_commit }}
4444
pybind11_commit: ${{ steps.repo_info.outputs.pybind11_commit }}
45+
nanobind_commit: ${{ steps.repo_info.outputs.nanobind_commit }}
4546
platform_config: ${{ steps.config.outputs.platforms }}
4647
build_test_matrix: ${{ steps.config.outputs.build_test_matrix }}
4748

@@ -65,19 +66,13 @@ jobs:
6566
# (expensive, redundant with amd64/gcc). merge_group/dispatch run all.
6667
if [ "${{ github.event_name }}" = "push" ]; then
6768
build_test_matrix='{"include":[
68-
{"platform":"amd64","toolchain":"clang16","mpi":"openmpi"},
69-
{"platform":"amd64","toolchain":"gcc11","mpi":"openmpi"},
70-
{"platform":"amd64","toolchain":"gcc12","mpi":"openmpi"},
71-
{"platform":"arm64","toolchain":"clang16","mpi":"openmpi"}
69+
{"platform":"amd64","toolchain":"llvm","mpi":"openmpi"},
70+
{"platform":"arm64","toolchain":"llvm","mpi":"openmpi"}
7271
]}'
7372
else
7473
build_test_matrix='{"include":[
75-
{"platform":"amd64","toolchain":"clang16","mpi":"openmpi"},
76-
{"platform":"amd64","toolchain":"gcc11","mpi":"openmpi"},
77-
{"platform":"amd64","toolchain":"gcc12","mpi":"openmpi"},
78-
{"platform":"arm64","toolchain":"clang16","mpi":"openmpi"},
79-
{"platform":"arm64","toolchain":"gcc11","mpi":"openmpi"},
80-
{"platform":"arm64","toolchain":"gcc12","mpi":"openmpi"}
74+
{"platform":"amd64","toolchain":"llvm","mpi":"openmpi"},
75+
{"platform":"arm64","toolchain":"llvm","mpi":"openmpi"},
8176
]}'
8277
fi
8378
echo "build_test_matrix=$(echo "$build_test_matrix" | jq -c .)" >> $GITHUB_OUTPUT
@@ -114,14 +109,14 @@ jobs:
114109
run: |
115110
echo "llvm_commit=$(git rev-parse @:./tpls/llvm)" >> $GITHUB_OUTPUT
116111
echo "pybind11_commit=$(git rev-parse @:./tpls/pybind11)" >> $GITHUB_OUTPUT
112+
echo "nanobind_commit=$(git rev-parse @:./tpls/nanobind)" >> $GITHUB_OUTPUT
117113
118114
devdeps:
119115
name: Load dependencies
120116
needs: metadata
121117
strategy:
122118
matrix:
123119
platform: [amd64, arm64]
124-
toolchain: [clang16, gcc11, gcc12]
125120
fail-fast: false
126121
uses: ./.github/workflows/dev_environment.yml
127122
secrets:
@@ -130,14 +125,12 @@ jobs:
130125
with:
131126
platforms: linux/${{ matrix.platform }}
132127
dockerfile: build/devdeps.Dockerfile
133-
build_config_id: ${{ matrix.toolchain }}
134-
build_args: |
135-
toolchain=${{ matrix.toolchain }}
128+
build_config_id: llvm
136129
registry_cache_from: ${{ inputs.cache_base || needs.metadata.outputs.cache_base }}
137130
checkout_submodules: true
138131
environment: ghcr-ci
139132
# needed only for the cloudposse GitHub action
140-
matrix_key: ${{ matrix.platform }}-${{ matrix.toolchain }}
133+
matrix_key: ${{ matrix.platform }}-llvm
141134
matrix_step_name: dev_environment_devdeps
142135

143136
wheeldeps:
@@ -155,14 +148,15 @@ jobs:
155148
with:
156149
platforms: linux/${{ matrix.platform }}
157150
dockerfile: build/devdeps.manylinux.Dockerfile
158-
build_config_id: cu${{ matrix.cuda_version }}-gcc11
151+
build_config_id: cu${{ matrix.cuda_version }}-gcc12
159152
build_args: |
160153
base_image=ghcr.io/nvidia/pypa/manylinux_2_28${{ (matrix.platform == 'arm64' && '_aarch64') || (matrix.platform == 'amd64' && '_x86_64') || '' }}:latest
161154
cuda_version=${{ matrix.cuda_version }}
162-
toolchain=gcc11
155+
toolchain=gcc12
163156
distro=rhel8
164157
llvm_commit=${{ needs.metadata.outputs.llvm_commit }}
165158
pybind11_commit=${{ needs.metadata.outputs.pybind11_commit }}
159+
nanobind_commit=${{ needs.metadata.outputs.nanobind_commit }}
166160
registry_cache_from: ${{ inputs.cache_base || needs.metadata.outputs.cache_base }}
167161
environment: ghcr-ci
168162
# needed only for the cloudposse GitHub action
@@ -259,16 +253,15 @@ jobs:
259253
strategy:
260254
matrix:
261255
platform: [amd64]
262-
toolchain: [clang16]
263256
fail-fast: false
264257
uses: ./.github/workflows/generate_cc.yml
265258
secrets:
266259
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
267260
with:
268261
platform: linux/${{ matrix.platform }}
269-
devdeps_image: ${{ fromJson(needs.config_devdeps.outputs.json).image_hash[format('{0}-{1}', matrix.platform, matrix.toolchain)] }}
270-
devdeps_cache: ${{ fromJson(needs.config_devdeps.outputs.json).cache_key[format('{0}-{1}', matrix.platform, matrix.toolchain)] }}
271-
devdeps_archive: ${{ fromJson(needs.config_devdeps.outputs.json).tar_archive[format('{0}-{1}', matrix.platform, matrix.toolchain)] }}
262+
devdeps_image: ${{ fromJson(needs.config_devdeps.outputs.json).image_hash[format('{0}-llvm', matrix.platform)] }}
263+
devdeps_cache: ${{ fromJson(needs.config_devdeps.outputs.json).cache_key[format('{0}-llvm', matrix.platform)] }}
264+
devdeps_archive: ${{ fromJson(needs.config_devdeps.outputs.json).tar_archive[format('{0}-llvm', matrix.platform)] }}
272265
export_environment: ${{ github.event_name == 'workflow_dispatch' && inputs.export_environment }}
273266

274267
# Docker images are packaging, not correctness — only built on merge_group/dispatch.
@@ -286,9 +279,9 @@ jobs:
286279
DOCKERHUB_READONLY_TOKEN: ${{ secrets.DOCKERHUB_READONLY_TOKEN }}
287280
with:
288281
platforms: linux/${{ matrix.platform }}
289-
devdeps_image: ${{ fromJson(needs.config_devdeps.outputs.json).image_hash[format('{0}-gcc11', matrix.platform)] }}
290-
devdeps_cache: ${{ fromJson(needs.config_devdeps.outputs.json).cache_key[format('{0}-gcc11', matrix.platform)] }}
291-
devdeps_archive: ${{ fromJson(needs.config_devdeps.outputs.json).tar_archive[format('{0}-gcc11', matrix.platform)] }}
282+
devdeps_image: ${{ fromJson(needs.config_devdeps.outputs.json).image_hash[format('{0}-llvm', matrix.platform)] }}
283+
devdeps_cache: ${{ fromJson(needs.config_devdeps.outputs.json).cache_key[format('{0}-llvm', matrix.platform)] }}
284+
devdeps_archive: ${{ fromJson(needs.config_devdeps.outputs.json).tar_archive[format('{0}-llvm', matrix.platform)] }}
292285
environment: ghcr-ci
293286

294287
python_wheels:

.github/workflows/clean_caches.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,14 @@ jobs:
125125
- name: Delete build caches for MPI asset (ARM64)
126126
uses: actions/delete-package-versions@v5
127127
with:
128-
package-name: buildcache-cuda-quantum-assets-openmpi-gcc11-arm64
128+
package-name: buildcache-cuda-quantum-assets-openmpi-llvm-arm64
129129
package-type: 'container'
130130
min-versions-to-keep: 1 # the used action does not support 0 here
131131

132132
- name: Delete build caches for MPI asset (AMD64)
133133
uses: actions/delete-package-versions@v5
134134
with:
135-
package-name: buildcache-cuda-quantum-assets-openmpi-gcc11-amd64
135+
package-name: buildcache-cuda-quantum-assets-openmpi-llvm-amd64
136136
package-type: 'container'
137137
min-versions-to-keep: 1 # the used action does not support 0 here
138138

.github/workflows/create_cache_command.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ jobs:
5656
outputs:
5757
llvm_commit: ${{ steps.repo_info.outputs.llvm_commit }}
5858
pybind11_commit: ${{ steps.repo_info.outputs.pybind11_commit }}
59+
nanobind_commit: ${{ steps.repo_info.outputs.nanobind_commit }}
5960
platform_config: ${{ steps.config.outputs.platforms }}
6061

6162
steps:
@@ -80,14 +81,14 @@ jobs:
8081
run: |
8182
echo "llvm_commit=$(git rev-parse @:./tpls/llvm)" >> $GITHUB_OUTPUT
8283
echo "pybind11_commit=$(git rev-parse @:./tpls/pybind11)" >> $GITHUB_OUTPUT
84+
echo "nanobind_commit=$(git rev-parse @:./tpls/nanobind)" >> $GITHUB_OUTPUT
8385
8486
devdeps_caches:
8587
name: Cache dev dependencies
8688
needs: [pr_info, metadata]
8789
strategy:
8890
matrix:
8991
platform: [amd64, arm64]
90-
toolchain: [clang16, gcc11, gcc12]
9192
fail-fast: false
9293
uses: ./.github/workflows/dev_environment.yml
9394
secrets:
@@ -96,15 +97,13 @@ jobs:
9697
with:
9798
platforms: linux/${{ matrix.platform }}
9899
dockerfile: build/devdeps.Dockerfile
99-
build_config_id: ${{ matrix.toolchain }}
100-
build_args: |
101-
toolchain=${{ matrix.toolchain }}
100+
build_config_id: llvm
102101
create_local_cache: true
103102
registry_cache_from: ${{ needs.pr_info.outputs.target_branch }}
104103
pull_request_number: ${{ needs.pr_info.outputs.pull_request_number }}
105104
checkout_submodules: true
106105
# needed only for the cloudposse GitHub action
107-
matrix_key: ${{ matrix.platform }}-${{ matrix.toolchain }}
106+
matrix_key: ${{ matrix.platform }}-llvm
108107

109108
wheeldeps_caches:
110109
name: Cache wheel dependencies
@@ -121,14 +120,15 @@ jobs:
121120
with:
122121
platforms: linux/${{ matrix.platform }}
123122
dockerfile: build/devdeps.manylinux.Dockerfile
124-
build_config_id: cu${{ matrix.cuda_version }}-gcc11
123+
build_config_id: cu${{ matrix.cuda_version }}-gcc12
125124
build_args: |
126125
base_image=ghcr.io/nvidia/pypa/manylinux_2_28${{ (matrix.platform == 'arm64' && '_aarch64') || (matrix.platform == 'amd64' && '_x86_64') || '' }}:latest
127126
cuda_version=${{ matrix.cuda_version }}
128-
toolchain=gcc11
127+
toolchain=gcc12
129128
distro=rhel8
130129
llvm_commit=${{ needs.metadata.outputs.llvm_commit }}
131130
pybind11_commit=${{ needs.metadata.outputs.pybind11_commit }}
131+
nanobind_commit=${{ needs.metadata.outputs.nanobind_commit }}
132132
create_local_cache: true
133133
registry_cache_from: ${{ needs.pr_info.outputs.target_branch }}
134134
pull_request_number: ${{ needs.pr_info.outputs.pull_request_number }}

.github/workflows/deployments.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ jobs:
7777
pull_request_commit: ${{ steps.pr_info.outputs.merge_commit }}
7878
llvm_commit: ${{ steps.build_config.outputs.llvm_commit }}
7979
pybind11_commit: ${{ steps.build_config.outputs.pybind11_commit }}
80+
nanobind_commit: ${{ steps.build_config.outputs.nanobind_commit }}
8081
cache_base: ${{ steps.build_info.outputs.cache_base }}
8182
cache_target: ${{ steps.build_info.outputs.cache_target }}
8283
multi_platform: ${{ steps.build_info.outputs.multi_platform }}
@@ -188,6 +189,7 @@ jobs:
188189
run: |
189190
echo "llvm_commit=$(git rev-parse @:./tpls/llvm)" >> $GITHUB_OUTPUT
190191
echo "pybind11_commit=$(git rev-parse @:./tpls/pybind11)" >> $GITHUB_OUTPUT
192+
echo "nanobind_commit=$(git rev-parse @:./tpls/nanobind)" >> $GITHUB_OUTPUT
191193
192194
if ${{ github.event_name != 'workflow_run' || steps.pr_info.outputs.pr_number != '' }}; then
193195
echo "build_dependencies=true" >> $GITHUB_OUTPUT
@@ -203,7 +205,7 @@ jobs:
203205
strategy:
204206
matrix:
205207
platform: ${{ fromJson(needs.metadata.outputs.platforms).ids }}
206-
toolchain: [clang16, gcc11, gcc12]
208+
toolchain: [llvm]
207209
fail-fast: false
208210
uses: ./.github/workflows/dev_environment.yml
209211
secrets:
@@ -242,14 +244,15 @@ jobs:
242244
with:
243245
platforms: ${{ fromJson(needs.metadata.outputs.platforms)[format('{0}', matrix.platform)].docker_flag }}
244246
dockerfile: build/devdeps.manylinux.Dockerfile
245-
build_config_id: cu${{ matrix.cuda_version }}-gcc11
247+
build_config_id: cu${{ matrix.cuda_version }}-gcc12
246248
build_args: |
247249
base_image=ghcr.io/nvidia/pypa/manylinux_2_28${{ (matrix.platform == 'arm64' && '_aarch64') || (matrix.platform == 'amd64' && '_x86_64') || '' }}:latest
248250
cuda_version=${{ matrix.cuda_version }}
249-
toolchain=gcc11
251+
toolchain=gcc12
250252
distro=rhel8
251253
llvm_commit=${{ needs.metadata.outputs.llvm_commit }}
252254
pybind11_commit=${{ needs.metadata.outputs.pybind11_commit }}
255+
nanobind_commit=${{ needs.metadata.outputs.nanobind_commit }}
253256
registry_cache_from: ${{ needs.metadata.outputs.cache_base }}
254257
update_registry_cache: ${{ needs.metadata.outputs.cache_target }}
255258
pull_request_number: ${{ needs.metadata.outputs.pull_request_number }}
@@ -368,7 +371,7 @@ jobs:
368371
strategy:
369372
matrix:
370373
platform: [amd64]
371-
toolchain: [clang16]
374+
toolchain: [llvm]
372375
fail-fast: false
373376
uses: ./.github/workflows/generate_cc.yml
374377
secrets:
@@ -393,10 +396,10 @@ jobs:
393396
with:
394397
platforms: ${{ fromJson(needs.metadata.outputs.platforms)[format('{0}', matrix.platform)].docker_flag }}
395398
dockerfile: build/devcontainer.Dockerfile
396-
build_config_id: cu${{ matrix.cuda_version }}-gcc11
399+
build_config_id: cu${{ matrix.cuda_version }}-llvm
397400
build_args: |
398401
cuda_version=${{ matrix.cuda_version }}
399-
base_image=${{ fromJson(needs.config.outputs.json).image_hash[format('{0}-gcc11', matrix.platform)] }}
402+
base_image=${{ fromJson(needs.config.outputs.json).image_hash[format('{0}-llvm', matrix.platform)] }}
400403
ompidev_image=${{ fromJson(needs.config.outputs.json).image_hash[format('{0}-cu{1}-ompi', matrix.platform, matrix.cuda_version)] }}
401404
registry_cache_from: ${{ needs.metadata.outputs.cache_base }}
402405
update_registry_cache: ${{ needs.metadata.outputs.cache_target }}

.github/workflows/dev_environment_macos.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ jobs:
9595
scripts/build_llvm.sh \
9696
scripts/set_env_defaults.sh \
9797
.github/workflows/dev_environment_macos.yml \
98+
tpls/customizations/llvm/*.diff \
9899
| sha256sum | cut -c1-8)
99100
echo "scripts_hash=$scripts_hash" >> $GITHUB_OUTPUT
100101
@@ -181,6 +182,9 @@ jobs:
181182
# cache already has MLIR_ENABLE_BINDINGS_PYTHON=ON. Downstream
182183
# wheel jobs only change Python3_EXECUTABLE, which keeps ninja's
183184
# incremental rebuild scoped to the binding targets.
185+
# Initialize nanobind submodule which are needed for MLIR Python bindings
186+
git submodule update --init --recursive tpls/nanobind
187+
184188
source scripts/set_env_defaults.sh
185189
export LLVM_PROJECTS='clang;lld;mlir;openmp;python-bindings'
186190

.github/workflows/test_in_devenv.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ jobs:
297297
echo "::error file=test_in_devenv.yml:: Pip install of CUDA Quantum failed with status $pyinstall_status."
298298
exit 1
299299
fi
300+
300301
python -m pip install pytest pytest-xdist
301302
python -m pytest -v --durations=0 -n auto python/tests/ \
302303
--ignore python/tests/backends \

.gitmodules

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,4 @@
5151
[submodule "tpls/nanobind"]
5252
path = tpls/nanobind
5353
url = https://github.com/wjakob/nanobind.git
54+
ignore = dirty

.pre-commit-config.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ repos:
5353
- id: markdownlint
5454
name: Markdown linting
5555
files: '\.md$'
56-
exclude: '^tpls/'
5756
args: ['--config', '.github/pre-commit/md_lint_config.yml']
5857

5958
# Standard quality checks

0 commit comments

Comments
 (0)