Skip to content

Commit

Permalink
Fix PL_DEVICE
Browse files Browse the repository at this point in the history
  • Loading branch information
vincentmr committed Oct 13, 2023
1 parent 17e0557 commit fe2270d
Showing 1 changed file with 23 additions and 22 deletions.
45 changes: 23 additions & 22 deletions .github/workflows/tests_linux_x86_mpich.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ on:
pull_request:

env:
COVERAGE_FLAGS: "--cov=pennylane_lightning_gpu --cov-report=term-missing --cov-report=xml:./coverage.xml --no-flaky-report -p no:warnings --tb=native"
COVERAGE_FLAGS: "--cov=pennylane_lightning --cov-report=term-missing --cov-report=xml:./coverage.xml --no-flaky-report -p no:warnings --tb=native"
GCC_VERSION: 11
OMP_NUM_THREADS: "2"
CI_CUDA_ARCH: 86
Expand All @@ -28,7 +28,7 @@ concurrency:

jobs:
cpp_mpich_tests:
# if: contains(github.event.pull_request.labels.*.name, 'ci:use-multi-gpu-runner') || (inputs.lightning-gpu-version != '' && inputs.pennylane-version != '')
if: contains(github.event.pull_request.labels.*.name, 'ci:use-multi-gpu-runner') || (inputs.lightning-gpu-version != '' && inputs.pennylane-version != '')

runs-on:
- self-hosted
Expand All @@ -44,8 +44,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
with:
# Checkout entire git-history if workflow_call passes 'stable' as we need to find the most recent git-tag
fetch-depth: ${{ inputs.lightning-gpu-version == 'stable' && 0 || 1 }}
fetch-tags: true

- name: Switch to stable build of Lightning-GPU
if: inputs.lightning-gpu-version == 'stable'
Expand Down Expand Up @@ -131,23 +130,23 @@ jobs:
module use /opt/modules/
module load mpich
module unload mpich
export CUQUANTUM_SDK=$(python -c "import site; print( f'{site.getsitepackages()[0]}/cuquantum/lib')")
export PATH=$PATH:/usr/local/cuda/bin:/opt/mpi/mpich/include:/opt/mpi/mpich/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/opt/mpi/mpich/lib:$(python -c "import site; print( f'{site.getsitepackages()[0]}/cuquantum/lib')")
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/opt/mpi/mpich/lib:$CUQUANTUM_SDK
cmake . -BBuild \
-DCMAKE_PREFIX_PATH=/opt/mpi/mpich/ \
-DPLLGPU_ENABLE_MPI=On \
-DPLLGPU_ENABLE_MPI=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DPLLGPU_BUILD_TESTS=ON \
-DCMAKE_CXX_COMPILER="$(which g++-${{ env.GCC_VERSION }})" \
-DLIGHTNING_RELEASE_TAG="master" \
-DCMAKE_CUDA_COMPILER="/usr/local/cuda/bin/nvcc" \
-DCMAKE_CUDA_ARCHITECTURES="86" \
-DPython_EXECUTABLE:FILE="${{ steps.python_path.outputs.python }}" \
-G Ninja
cmake --build ./Build
cd ./Build
mkdir -p ./tests/results
/opt/mpi/mpich/bin/mpirun -np 2 ./pennylane_lightning_gpu/src/tests/mpi_runner --order lex --reporter junit --out ./tests/results/report_${{ github.job }}.xml
/opt/mpi/mpich/bin/mpirun -np 2 ./pennylane_lightning/src/tests/mpi_runner --order lex --reporter junit --out ./tests/results/report_${{ github.job }}.xml
- name: Upload test results
uses: actions/upload-artifact@v3
Expand All @@ -162,24 +161,24 @@ jobs:
module use /opt/modules/
module load mpich
module unload mpich
export CUQUANTUM_SDK=$(python -c "import site; print( f'{site.getsitepackages()[0]}/cuquantum/lib')")
export PATH=$PATH:/usr/local/cuda/bin:/opt/mpi/mpich/include:/opt/mpi/mpich/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/opt/mpi/mpich/lib:$(python -c "import site; print( f'{site.getsitepackages()[0]}/cuquantum/lib')")
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/opt/mpi/mpich/lib:$CUQUANTUM_SDK
cmake . -BBuildCov \
-DCMAKE_PREFIX_PATH=/opt/mpi/mpich/ \
-DPLLGPU_ENABLE_MPI=On \
-DPLLGPU_ENABLE_MPI=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DPLLGPU_BUILD_TESTS=ON \
-DPLLGPU_ENABLE_COVERAGE=ON \
-DCMAKE_CXX_COMPILER="$(which g++-${{ env.GCC_VERSION }})" \
-DLIGHTNING_RELEASE_TAG="master" \
-DCMAKE_CUDA_COMPILER="/usr/local/cuda/bin/nvcc" \
-DCMAKE_CUDA_ARCHITECTURES="86" \
-DPython_EXECUTABLE:FILE="${{ steps.python_path.outputs.python }}" \
-G Ninja
cmake --build ./BuildCov
cd ./BuildCov
/opt/mpi/mpich/bin/mpirun -np 2 ./pennylane_lightning_gpu/src/tests/mpi_runner
lcov --directory . -b ../pennylane_lightning_gpu/src --capture --output-file coverage.info
/opt/mpi/mpich/bin/mpirun -np 2 ./pennylane_lightning/src/tests/mpi_runner
lcov --directory . -b ../pennylane_lightning/src --capture --output-file coverage.info
lcov --remove coverage.info '/usr/*' --output-file coverage.info
mv coverage.info coverage-${{ github.job }}.info
Expand Down Expand Up @@ -217,12 +216,13 @@ jobs:
- name: Checkout pennyLane-lightning-gpu
uses: actions/checkout@v3
with:
# Checkout entire git-history if workflow_call passes 'stable' as we need to find the most recent git-tag
fetch-depth: ${{ inputs.lightning-gpu-version == 'stable' && 0 || 1 }}
fetch-tags: true

- name: Switch to stable build of Lightning-GPU
if: inputs.lightning-gpu-version == 'stable'
run: git checkout $(git tag | sort -V | tail -1)
run: |
git fetch tags --force
git checkout $(git tag | sort -V | tail -1)
- uses: actions/setup-python@v4
id: setup_python
Expand Down Expand Up @@ -273,27 +273,28 @@ jobs:
module use /opt/modules/
module load mpich
module unload mpich
export CUQUANTUM_SDK=$(python -c "import site; print( f'{site.getsitepackages()[0]}/cuquantum/lib')")
export PATH=$PATH:/usr/local/cuda/bin:/opt/mpi/mpich/include:/opt/mpi/mpich/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/opt/mpi/mpich/lib:$(python -c "import site; print( f'{site.getsitepackages()[0]}/cuquantum/lib')")
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/opt/mpi/mpich/lib:$CUQUANTUM_SDK
python -m pip install pip~=22.0
python -m pip install ninja cmake custatevec-cu11 pytest pytest-mock flaky pytest-cov mpi4py
# Sync with latest master branches
python -m pip install git+https://github.com/PennyLaneAI/pennylane-lightning.git@master --force-reinstall --no-deps
# python -m pip install git+https://github.com/PennyLaneAI/pennylane-lightning.git@master --force-reinstall --no-deps
- name: Build and install package (MPICH backend)
env:
CUQUANTUM_SDK: $(python -c "import site; print( f'{site.getsitepackages()[0]}/cuquantum/lib')")
run: |
python setup.py build_ext -i --define="CMAKE_CXX_COMPILER=$(which g++-${{ env.GCC_VERSION }});CMAKE_PREFIX_PATH=/opt/mpi/mpich;PLLGPU_ENABLE_MPI=On;LIGHTNING_RELEASE_TAG=master;CMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc;CMAKE_CUDA_ARCHITECTURES=${{ env.CI_CUDA_ARCH }};Python_EXECUTABLE=${{ steps.python_path.outputs.python }}"
python -m pip install -e . --verbose
PL_BACKEND=lightning_gpu python setup.py build_ext -i --define="CMAKE_CXX_COMPILER=$(which g++-${{ env.GCC_VERSION }});CMAKE_PREFIX_PATH=/opt/mpi/mpich;PLLGPU_ENABLE_MPI=ON;CMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc;CMAKE_CUDA_ARCHITECTURES=${{ env.CI_CUDA_ARCH }};Python_EXECUTABLE=${{ steps.python_path.outputs.python }}"
PL_BACKEND=lightning_gpu python -m pip install -e . --verbose
- name: Run PennyLane-Lightning-GPU unit tests (MPICH backend)
run: |
source /etc/profile.d/modules.sh
module use /opt/modules/
module load mpich
/opt/mpi/mpich/bin/mpirun -np 2 python -m pytest ./mpitests/
python -m pytest ./tests/
PL_DEVICE=lightning.gpu /opt/mpi/mpich/bin/mpirun -np 2 python -m pytest ./mpitests/
PL_DEVICE=lightning.gpu python -m pytest ./tests/
- name: Cleanup
if: always()
Expand Down

0 comments on commit fe2270d

Please sign in to comment.