Fix from backend of V2 primitives to use existing AerSimulator #4717
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: [main, 'stable/*'] | |
pull_request: | |
branches: [main, 'stable/*'] | |
concurrency: | |
group: ${{ github.repository }}-${{ github.ref }}-${{ github.head_ref }}-${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
standalone: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["macos-13", "ubuntu-latest", "windows-2019"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python '3.10' | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Install deps | |
run: pip install "conan<2.0.0" | |
- name: Install openblas | |
run: | | |
set -e | |
sudo apt-get update | |
sudo apt-get install -y libopenblas-dev | |
shell: bash | |
if: runner.os == 'Linux' | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
if: runner.os == 'Windows' | |
- name: Compile Standalone Windows | |
run: | | |
set -e | |
mkdir out; cd out; cmake .. -DBUILD_TESTS=1 | |
cmake --build . --config Release | |
shell: bash | |
if: runner.os == 'Windows' | |
- name: Compile Standalone | |
run: | | |
set -e | |
mkdir out; cd out; cmake .. -DBUILD_TESTS=1 | |
make | |
shell: bash | |
if: runner.os != 'Windows' | |
- name: Run Unit Tests | |
run: | | |
cd out/bin | |
for test in test* | |
do echo $test | |
if ! ./$test | |
then | |
ERR=1 | |
fi | |
done | |
if [ ! -z "$ERR" ] | |
then | |
exit 1 | |
fi | |
shell: bash | |
- name: Run qobj | |
run: | | |
pip install -U qiskit | |
python tools/generate_qobj.py | |
cd out | |
Release/qasm_simulator ../qobj.json | python ../tools/verify_standalone_results.py | |
shell: bash | |
mpi_standalone: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["ubuntu-latest"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python '3.10' | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Install deps | |
run: pip install "conan<2.0.0" | |
- name: Install openblas and mpi | |
run: | | |
set -e | |
sudo apt-get update | |
sudo apt-get install -y libopenblas-dev openmpi-bin libopenmpi-dev | |
shell: bash | |
- name: Compile Standalone | |
run: | | |
set -e | |
mkdir out; cd out; cmake .. -DBUILD_TESTS=1 -DAER_MPI=True | |
make | |
shell: bash | |
- name: Run Unit Tests with mpi | |
run: | | |
cd out/bin | |
for test in test* | |
do echo $test | |
if ! /usr/bin/mpirun.openmpi -host localhost:2 -np 2 ./$test | |
then | |
ERR=1 | |
fi | |
done | |
if [ ! -z "$ERR" ] | |
then | |
exit 1 | |
fi | |
shell: bash | |
- name: Run qobj | |
run: | | |
pip install -U qiskit | |
python tools/generate_qobj.py | |
cd out | |
/usr/bin/mpirun.openmpi -host localhost:2 -np 2 Release/qasm_simulator ../qobj.json | python ../tools/verify_standalone_results.py | |
env: | |
USE_MPI: 1 | |
shell: bash | |
wheel: | |
runs-on: ${{ matrix.os }} | |
needs: ["standalone"] | |
strategy: | |
matrix: | |
os: ["macos-13", "ubuntu-latest", "windows-2019"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python Python '3.10' | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
if: runner.os == 'Windows' | |
- name: Install deps | |
run: python -m pip install -U cibuildwheel==2.17.0 | |
- name: Build Wheels | |
env: | |
AER_CMAKE_OPENMP_BUILD: 1 | |
run: cibuildwheel --output-dir wheelhouse | |
- uses: actions/upload-artifact@v4 | |
with: | |
path: ./wheelhouse/*.whl | |
name: artifact-${{ matrix.os }} | |
wheel-arm64: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["macos-latest"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
architecture: arm64 | |
- name: Install deps | |
run: python -m pip install -U cibuildwheel==2.17.0 | |
- name: Build Wheels | |
env: | |
CIBW_ARCHS_MACOS: arm64 | |
CIBW_SKIP: "pp* cp38* cp39*" | |
run: cibuildwheel --output-dir wheelhouse | |
- uses: actions/upload-artifact@v4 | |
with: | |
path: ./wheelhouse/*.whl | |
name: artifact-${{ github.job }} | |
wheel-gpu-cu11: | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: Maximize build space | |
uses: easimon/maximize-build-space@master | |
with: | |
root-reserve-mb: 30000 | |
swap-size-mb: 1024 | |
remove-dotnet: 'true' | |
remove-android: 'true' | |
remove-haskell: 'true' | |
remove-codeql: 'true' | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
name: Install Python | |
with: | |
python-version: '3.10' | |
- name: Install cibuildwheel | |
run: | | |
python -m pip install cibuildwheel==2.17.0 | |
- name: Build wheels | |
env: | |
CIBW_BEFORE_ALL: "sed -i -e 's/^mirrorlist/#mirrorlist/' -e 's/^#baseurl/baseurl/' -e 's/mirror.centos.org/vault.centos.org/' /etc/yum.repos.d/*.repo && yum install -y yum-utils wget && wget -q https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm && rpm -i cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm && yum clean all && yum -y install cuda && yum -y install openblas-devel && yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo && yum clean all" | |
CIBW_BEFORE_BUILD : "pip cache purge && pip install nvidia-cuda-runtime-cu11 nvidia-cublas-cu11 nvidia-cusolver-cu11 nvidia-cusparse-cu11 cuquantum-cu11" | |
CIBW_SKIP: "*-manylinux_i686 pp* cp36* cp37* cp38* cp39* cp310* cp311* *musllinux*" | |
CIBW_ENVIRONMENT: QISKIT_AER_PACKAGE_NAME=qiskit-aer-gpu-cu11 QISKIT_AER_CUDA_MAJOR=11 CMAKE_VERBOSE_MAKEFILE=true AER_THRUST_BACKEND=CUDA CUDACXX=/usr/local/cuda/bin/nvcc AER_CUDA_ARCH="7.0 7.2 7.5 8.0 8.6 8.7" AER_PYTHON_CUDA_ROOT=/opt/_internal AER_CIBUILD=true | |
CIBW_REPAIR_WHEEL_COMMAND: 'auditwheel repair --exclude libcudart.so.11.0 --exclude libcustatevec.so.1 --exclude libcutensornet.so.2 --exclude libcutensor.so.1 --exclude libcutensorMg.so.1 --exclude libcusolver.so.11 --exclude libcusolverMg.so.11 --exclude libcusparse.so.11 --exclude libcublas.so.11 --exclude libcublasLt.so.11 -w {dest_dir} {wheel}' | |
run: | | |
python -m cibuildwheel --output-dir wheelhouse | |
- uses: actions/upload-artifact@v4 | |
with: | |
path: ./wheelhouse/*.whl | |
name: artifact-${{ github.job }} | |
wheel-gpu: | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: Maximize build space | |
uses: easimon/maximize-build-space@master | |
with: | |
root-reserve-mb: 30000 | |
swap-size-mb: 1024 | |
remove-dotnet: 'true' | |
remove-android: 'true' | |
remove-haskell: 'true' | |
remove-codeql: 'true' | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
name: Install Python | |
with: | |
python-version: '3.10' | |
- name: Install cibuildwheel | |
run: | | |
python -m pip install cibuildwheel==2.17.0 | |
- name: Build wheels | |
env: | |
CIBW_BEFORE_ALL: "sed -i -e 's/^mirrorlist/#mirrorlist/' -e 's/^#baseurl/baseurl/' -e 's/mirror.centos.org/vault.centos.org/' /etc/yum.repos.d/*.repo && yum install -y yum-utils wget && wget -q https://developer.download.nvidia.com/compute/cuda/12.5.1/local_installers/cuda-repo-rhel8-12-5-local-12.5.1_555.42.06-1.x86_64.rpm && rpm -i cuda-repo-rhel8-12-5-local-12.5.1_555.42.06-1.x86_64.rpm && yum clean all && yum -y install cuda-toolkit-12-5 && yum -y install openblas-devel && yum clean all" | |
CIBW_BEFORE_BUILD : "pip cache purge && pip install nvidia-cuda-runtime-cu12 nvidia-nvjitlink-cu12 nvidia-cublas-cu12 nvidia-cusolver-cu12 nvidia-cusparse-cu12 cuquantum-cu12" | |
CIBW_SKIP: "*-manylinux_i686 pp* cp36* cp37* cp38* cp39* cp310* cp311* *musllinux*" | |
CIBW_ENVIRONMENT: QISKIT_AER_PACKAGE_NAME=qiskit-aer-gpu QISKIT_AER_CUDA_MAJOR=12 CMAKE_VERBOSE_MAKEFILE=true AER_THRUST_BACKEND=CUDA CUDACXX=/usr/local/cuda/bin/nvcc AER_CUDA_ARCH="7.0 7.2 7.5 8.0 8.6 8.7 8.9 9.0" AER_PYTHON_CUDA_ROOT=/opt/_internal AER_CIBUILD=true | |
CIBW_REPAIR_WHEEL_COMMAND: 'auditwheel repair --exclude libcudart.so.12 --exclude libcustatevec.so.1 --exclude libcutensornet.so.2 --exclude libcutensor.so.1 --exclude libcutensorMg.so.1 --exclude libcusolver.so.11 --exclude libcusolverMg.so.11 --exclude libcusolver.so.12 --exclude libcusolverMg.so.12 --exclude libcusparse.so.12 --exclude libcublas.so.12 --exclude libcublasLt.so.12 --exclude libnvJitLink.so.12 -w {dest_dir} {wheel}' | |
run: | | |
python -m cibuildwheel --output-dir wheelhouse | |
- uses: actions/upload-artifact@v4 | |
with: | |
path: ./wheelhouse/*.whl | |
name: artifact-${{ github.job }} |