Skip to content

Commit

Permalink
Merge pull request #21 from regro-cf-autotick-bot/rebuild-cuda118-0-1…
Browse files Browse the repository at this point in the history
…_hf5e5bd

Rebuild for CUDA 11.8 w/arch support
  • Loading branch information
leofang authored Dec 15, 2023
2 parents ee1b36d + ab1446e commit f070022
Show file tree
Hide file tree
Showing 8 changed files with 144 additions and 46 deletions.
24 changes: 12 additions & 12 deletions .azure-pipelines/azure-pipelines-linux.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ channel_targets:
cuda_compiler:
- nvcc
cuda_compiler_version:
- '11.2'
- '11.8'
cxx_compiler:
- gxx
cxx_compiler_version:
- '10'
- '11'
docker_image:
- quay.io/condaforge/linux-anvil-cuda:11.2
- quay.io/condaforge/linux-anvil-cuda:11.8
libblas:
- 3.9 *netlib
liblapack:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ channel_targets:
cuda_compiler:
- nvcc
cuda_compiler_version:
- '11.2'
- '11.8'
cxx_compiler:
- gxx
cxx_compiler_version:
- '10'
- '11'
docker_image:
- quay.io/condaforge/linux-anvil-cuda:11.2
- quay.io/condaforge/linux-anvil-cuda:11.8
libblas:
- 3.9 *netlib
liblapack:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ channel_targets:
cuda_compiler:
- nvcc
cuda_compiler_version:
- '11.2'
- '11.8'
cxx_compiler:
- gxx
cxx_compiler_version:
- '10'
- '11'
docker_image:
- quay.io/condaforge/linux-anvil-cuda:11.2
- quay.io/condaforge/linux-anvil-cuda:11.8
libblas:
- 3.9 *netlib
liblapack:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ channel_targets:
cuda_compiler:
- nvcc
cuda_compiler_version:
- '11.2'
- '11.8'
cxx_compiler:
- gxx
cxx_compiler_version:
- '10'
- '11'
docker_image:
- quay.io/condaforge/linux-anvil-cuda:11.2
- quay.io/condaforge/linux-anvil-cuda:11.8
libblas:
- 3.9 *netlib
liblapack:
Expand Down
99 changes: 99 additions & 0 deletions .ci_support/migrations/cuda118.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
migrator_ts: 1692828152
__migrator:
kind:
version
migration_number:
1
build_number:
1
paused: false
override_cbc_keys:
- cuda_compiler_stub
operation: key_add
check_solvable: false
primary_key: cuda_compiler_version
ordering:
cxx_compiler_version:
- 9
- 8
- 7
c_compiler_version:
- 9
- 8
- 7
fortran_compiler_version:
- 9
- 8
- 7
docker_image:
# Native builds
- quay.io/condaforge/linux-anvil-comp7 # [os.environ.get("BUILD_PLATFORM") == "linux-64"]
- quay.io/condaforge/linux-anvil-aarch64 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64"]
- quay.io/condaforge/linux-anvil-ppc64le # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"]
- quay.io/condaforge/linux-anvil-armv7l # [os.environ.get("BUILD_PLATFORM") == "linux-armv7l"]

# Legacy CUDAs
- quay.io/condaforge/linux-anvil-cuda:9.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
- quay.io/condaforge/linux-anvil-cuda:10.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
- quay.io/condaforge/linux-anvil-cuda:10.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
- quay.io/condaforge/linux-anvil-cuda:10.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
- quay.io/condaforge/linux-anvil-cuda:11.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
- quay.io/condaforge/linux-anvil-cuda:11.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]

# CUDA 11.2
- quay.io/condaforge/linux-anvil-cuda:11.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
# CUDA 11.2 arch: native compilation (build == target)
- quay.io/condaforge/linux-anvil-ppc64le-cuda:11.2 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"]
- quay.io/condaforge/linux-anvil-aarch64-cuda:11.2 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"]
# CUDA 11.2 arch: cross-compilation (build != target)
- quay.io/condaforge/linux-anvil-cuda:11.2 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"]
- quay.io/condaforge/linux-anvil-cuda:11.2 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]

# CUDA 11.8
- quay.io/condaforge/linux-anvil-cuda:11.8 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
# CUDA 11.8 arch: native compilation (build == target)
- quay.io/condaforge/linux-anvil-ppc64le-cuda:11.8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"]
- quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"]
# CUDA 11.8 arch: cross-compilation (build != target)
- quay.io/condaforge/linux-anvil-cuda:11.8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"]
- quay.io/condaforge/linux-anvil-cuda:11.8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]

# Native CentOS 7 image
- quay.io/condaforge/linux-anvil-cos7-x86_64 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
cuda_compiler_version:
- None
- 10.2 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 11.0 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 11.1 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 11.2 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 11.8 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 12.0 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
commit_message: |
Rebuild for CUDA 11.8 w/arch support
cuda_compiler: # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- nvcc # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

cuda_compiler_version: # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 11.8 # [(linux or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

c_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 11 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

cxx_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 11 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

fortran_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 11 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

cdt_name: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- cos7 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux-") and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- quay.io/condaforge/linux-anvil-cuda:11.8 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
# case: native compilation (build == target)
- quay.io/condaforge/linux-anvil-ppc64le-cuda:11.8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"]
- quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"]
# case: cross-compilation (build != target)
- quay.io/condaforge/linux-anvil-cuda:11.8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"]
- quay.io/condaforge/linux-anvil-cuda:11.8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
16 changes: 8 additions & 8 deletions README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 13 additions & 14 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{% set name = "qiskit-aer" %}
{% set version = "0.13.1" %}
{% set build = 1 %}
{% set build = 2 %}

{% if cuda_compiler_version in (None, "None", True, False) %}
{% set cuda_major = 0 %}
Expand All @@ -25,11 +25,10 @@ source:
build:
script:
# cuQuantum only supports Volta+
# TODO: add cc90 here when we migrate to CUDA 11.8/12.0
- export AER_CUDA_ARCH="7.0;7.5;8.0;8.6+PTX" # [linux64 and cuda_compiler_version != "None"]
- export AER_CUDA_ARCH="7.0;7.5;8.0;8.6;9.0+PTX" # [cuda_compiler != "None"]
- CMAKE_GENERATOR="Ninja" {{ PYTHON }} -m pip install . -vv # [not win]
# Skip macOS build until https://github.com/Qiskit/qiskit-aer/issues/1689 is addressed
skip: true # [osx or (win64 and cuda_compiler_version != "None")]
skip: true # [osx or (win64 and cuda_compiler != "None") or cuda_compiler_version not in ("None", "11.8", "12.0")]
number: {{ build }}
string: cuda{{ cuda_compiler_version | replace('.', '') }}_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version != "None"]
string: cpu_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version == "None"]
Expand All @@ -38,18 +37,18 @@ build:
- DISABLE_CONAN=ON
- CMAKE_GENERATOR=Ninja
- CMAKE_PREFIX_PATH=%PREFIX% # [win]
- CMAKE_BUILD_PARALLEL_LEVEL=1 # [linux64 and cuda_compiler_version != "None"]
- CUQUANTUM_ROOT=$PREFIX # [linux64 and cuda_compiler_version != "None"]
- CUTENSOR_ROOT=$PREFIX # [linux64 and cuda_compiler_version != "None"]
- AER_THRUST_BACKEND=CUDA # [linux64 and cuda_compiler_version != "None"]
- AER_ENABLE_CUQUANTUM=ON # [linux64 and cuda_compiler_version != "None"]
- CMAKE_BUILD_PARALLEL_LEVEL=1 # [cuda_compiler != "None"]
- CUQUANTUM_ROOT=$PREFIX # [cuda_compiler != "None"]
- CUTENSOR_ROOT=$PREFIX # [cuda_compiler != "None"]
- AER_THRUST_BACKEND=CUDA # [cuda_compiler != "None"]
- AER_ENABLE_CUQUANTUM=ON # [cuda_compiler != "None"]
ignore_run_exports_from:
- {{ compiler('cuda') }} # [linux64 and cuda_compiler_version != "None"]
- {{ compiler('cuda') }} # [(cuda_compiler_version or "").startswith("11")]

requirements:
build:
- {{ compiler('cxx') }}
- {{ compiler('cuda') }} # [linux64 and cuda_compiler_version != "None"]
- {{ compiler('cuda') }} # [cuda_compiler != "None"]
- cmake !=3.17,>=3.8
- libgomp # [linux]
- llvm-openmp # [osx]
Expand All @@ -66,10 +65,10 @@ requirements:
- scikit-build >=0.11.0
- setuptools >=40.1.0
- spdlog
- cuda-version {{ cuda_compiler_version }} # [linux64 and cuda_compiler_version != "None"]
- cuda-version {{ cuda_compiler_version }} # [cuda_compiler != "None"]
# Qiskit Aer now uses both
- custatevec # [linux64 and cuda_compiler_version != "None"]
- cutensornet # [linux64 and cuda_compiler_version != "None"]
- custatevec # [cuda_compiler != "None"]
- cutensornet # [cuda_compiler != "None"]
run:
- {{ pin_compatible('numpy') }}
- {{ pin_compatible('muparserx', max_pin='x.x.x') }}
Expand Down

0 comments on commit f070022

Please sign in to comment.