Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add wheel_linux_x86_64_cu11.yml #517

Merged
merged 11 commits into from
Oct 16, 2023
Merged

Add wheel_linux_x86_64_cu11.yml #517

merged 11 commits into from
Oct 16, 2023

Conversation

vincentmr
Copy link
Contributor

@vincentmr vincentmr commented Oct 12, 2023

Before submitting

Please complete the following checklist when submitting a PR:

  • All new features must include a unit test.
    If you've fixed a bug or added code that should be tested, add a test to the
    tests directory!

  • All new functions and code must be clearly commented and documented.
    If you do make documentation changes, make sure that the docs build and
    render correctly by running make docs.

  • Ensure that the test suite passes, by running make test.

  • Add a new entry to the .github/CHANGELOG.md file, summarizing the
    change, and including a link back to the PR.

  • Ensure that code is properly formatted by running make format.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.


Context:

Description of the Change:
This PR adds wheel building jobs for L-GPU (serial).

Benefits:

Possible Drawbacks:

Related GitHub Issues:

@codecov
Copy link

codecov bot commented Oct 12, 2023

Codecov Report

All modified lines are covered by tests ✅

Comparison is base (643d9b0) 99.23% compared to head (86865b0) 99.22%.

Additional details and impacted files
@@             Coverage Diff              @@
##           add_LGPU     #517      +/-   ##
============================================
- Coverage     99.23%   99.22%   -0.01%     
============================================
  Files           165      166       +1     
  Lines         21730    21866     +136     
============================================
+ Hits          21564    21697     +133     
- Misses          166      169       +3     

see 12 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@vincentmr vincentmr marked this pull request as ready for review October 12, 2023 20:29
@github-actions
Copy link
Contributor

Hello. You may have forgotten to update the changelog!
Please edit .github/CHANGELOG.md with:

  • A one-to-two sentence description of the change. You may include a small working example for new features.
  • A link back to this PR.
  • Your name (or GitHub username) in the contributors section.

@vincentmr
Copy link
Contributor Author

Wheel tested on Perlmutter.

@multiphaseCFD
Copy link
Member

Thanks @vincentmr ! Looks good to me!

@vincentmr vincentmr merged commit c263264 into add_LGPU Oct 16, 2023
1 check passed
@vincentmr vincentmr deleted the LGPU/wheels_cu11 branch October 16, 2023 14:02
multiphaseCFD added a commit that referenced this pull request Oct 18, 2023
* add LGPU cpp layer

* update measurement

* add openmp to adjgpu

* Auto update version

* Add support for building multiple backend simulators (#497)

* Add PL_BACKEND_LIST

* Update the support

* Exclude Python bindings

* Update HermitianObs name scope conflicts

* Auto update version

* Cleanup

* Update CI to build and check C++ tests of multiple backends (Linux)

* Update changelog

* Update .github/workflows/tests_linux.yml

* Apply code review suggestions

* Update .github/workflows/tests_linux.yml

* add python layer & isingxy gate in the cpp layer

* add batched adjoint method

* Update DefaultQubit to DefaultQubitLegacy (#500)

* Update DefaultQubit to DefaultQubitLegacy

* Update changelog

* update pylint disable on fallback

* Auto update version

* add batch support for adjoint method

* add gitignore

* tidy up code

* Auto update version

* make format

* revert complexT delete in LKokkosBingds

* make format

* update based on tidy

* fix tidy format

* add_gpu_runners_tests

* add cuquantum_sdk path to ci workflow

* debug

* add path to cuquantum sdk

* add python layer tests in ci workflow

* ci tests

* quick fix

* skip pr ci for some workflows

* quick fix

* quick fix

* update python ci tests

* remove dependency on lightning_qubit in ci

* fix directory

* fix directory

* quick fix

* quick fix

* test for cuda-12

* update measurement

* updata cu12 workflows

* add getDataVector support to LQubitRaw

* install lightning.qubit before lightning.gpu in ci

* update test_obs

* activate all CI checks

* quick fix

* tidy up code

* make format

* update ci for more tests

* tidy up code

* tidy up code

* tidy up code

* make format

* fix for codecov

* codecov fix

* quick fix

* quick fix

* quick fix

* quick test

* fix test

* fix tests

* another quick fix

* coverage fix

* update ci tests

* update ci for no binary

* codecov fix

* update adj tests for no binary case

* update python layer tests

* fix codecov

* make format

* revert to cu11

* enable more py tests

* update CI

* upload codecov ci

* add more tests for statevectorcudamanaged

* add more unit tests

* add more tests

* make format

* add more cpp tests

* skip cpp tests pauli param gates

* make format

* add more files to gitignore

* Auto update version

* Trigger CI

* update gpu runner

* quick fix

* update fix

* fix for fp32 support in expval calculation

* quick fix

* fix for cray_mpich_serialize_py

* copy to move for hamiltonian operation

* resolve comments py layer

* remove omp support in LGPU

* update version

* Auto update version

* fix based on comments

* Add L-GPU and L-Kokkos as package extras (#515)

* Add L-GPU and L-Kokkos as package extras

* Auto update version

* Update changelog

* Temp enable the x86 wheel cache

* Return wheel storage functionality to normal

* Update readme

* Auto update version

* Trigger CI

* Update README.rst
---------

* Auto update version

* make format

* remove sparseH

* remove applyHostMatrixGate

* Add wheel_linux_x86_64_cu11.yml (#517)

* Add wheel_linux_x86_64_cu11.yml

* echo COMPILER=g++ >>

* python3.9 => python

* reinstall g++11

* Try that

* Use env vars for versions.

* Fix var syntax.

* Hardcode versions

* Fix custatevec-cu11

* Revert triggers.

* Update changelog [skip ci]

* resolve more comments

* add more tests to non_param gates

* resolve cpp tests comments

* remove unused methods in measurement class

* remove unused methods

* resolve more comments

* add changelog and matrixhasher

* quick update

* tidy up code and add more tests

* add more unit tests for algorithm

* more unit tests in py layer

* add adjoint tests for sparseH

* make format

* quick fix

* quick fix

* another fix

* fix

* fix codecov complaints

* resolve comments

* add appropriate license

* tidy up

* quick fix
multiphaseCFD added a commit that referenced this pull request Oct 25, 2023
* add LGPU cpp layer

* update measurement

* add openmp to adjgpu

* Auto update version

* Add support for building multiple backend simulators (#497)

* Add PL_BACKEND_LIST

* Update the support

* Exclude Python bindings

* Update HermitianObs name scope conflicts

* Auto update version

* Cleanup

* Update CI to build and check C++ tests of multiple backends (Linux)

* Update changelog

* Update .github/workflows/tests_linux.yml

Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Apply code review suggestions

* Update .github/workflows/tests_linux.yml

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* add python layer & isingxy gate in the cpp layer

* add batched adjoint method

* Update DefaultQubit to DefaultQubitLegacy (#500)

* Update DefaultQubit to DefaultQubitLegacy

* Update changelog

* update pylint disable on fallback

* Auto update version

* add batch support for adjoint method

* add gitignore

* tidy up code

* Auto update version

* make format

* revert complexT delete in LKokkosBingds

* make format

* update based on tidy

* fix tidy format

* add_gpu_runners_tests

* add cuquantum_sdk path to ci workflow

* debug

* add path to cuquantum sdk

* add python layer tests in ci workflow

* ci tests

* quick fix

* skip pr ci for some workflows

* quick fix

* quick fix

* update python ci tests

* remove dependency on lightning_qubit in ci

* fix directory

* fix directory

* quick fix

* quick fix

* test for cuda-12

* update measurement

* updata cu12 workflows

* add getDataVector support to LQubitRaw

* install lightning.qubit before lightning.gpu in ci

* update test_obs

* activate all CI checks

* quick fix

* tidy up code

* tidy up code

* make format

* update ci for more tests

* tidy up code

* tidy up code

* tidy up code

* make format

* fix for codecov

* codecov fix

* quick fix

* quick fix

* quick fix

* quick test

* fix test

* fix tests

* another quick fix

* coverage fix

* update ci tests

* update ci for no binary

* codecov fix

* update adj tests for no binary case

* update python layer tests

* fix codecov

* make format

* initial commit for MPI

* revert to cu11

* enable more py tests

* update CI

* upload codecov ci

* add more tests for statevectorcudamanaged

* add more unit tests

* add more tests

* make format

* add more cpp tests

* skip cpp tests pauli param gates

* make format

* add more files to gitignore

* Auto update version

* init commit

* Trigger CI

* update gpu runner

* quick fix

* update fix

* add cpp layer for LGPU-MPI backend

* add py layer

* quick fix

* make format

* fix for fp32 support in expval calculation

* quick fix

* fix for cray_mpich_serialize_py

* copy to move for hamiltonian operation

* add unit tests for adjoint method

* add more tests

* resolve comments py layer

* remove omp support in LGPU

* update version

* Auto update version

* fix based on comments

* Add L-GPU and L-Kokkos as package extras (#515)

* Add L-GPU and L-Kokkos as package extras

* Auto update version

* Update changelog

* Temp enable the x86 wheel cache

* Return wheel storage functionality to normal

* Update readme

* Auto update version

* Trigger CI

* Update README.rst

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Amintor Dusko <[email protected]>

* Auto update version

* make format

* remove sparseH

* remove applyHostMatrixGate

* Add wheel_linux_x86_64_cu11.yml (#517)

* Add wheel_linux_x86_64_cu11.yml

* echo COMPILER=g++ >>

* python3.9 => python

* reinstall g++11

* Try that

* Use env vars for versions.

* Fix var syntax.

* Hardcode versions

* Fix custatevec-cu11

* Revert triggers.

* Update changelog [skip ci]

* resolve more comments

* add more tests to non_param gates

* resolve cpp tests comments

* remove unused methods in measurement class

* remove unused methods

* resolve more comments

* add changelog and matrixhasher

* quick update

* add more tests and merge base branch

* add mpi unit tests for algorithm base class

* add more unit tests for utils

* ctor test for MPIManager

* Add mpi tests to LGPU (#519)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* add CI checks for cpp unit tests

* add cpp layer ci check for mpi backend

* Auto update version

* remove redundant blank lines

* tidy up code

* Trigger CI

* remove single GPU backend tests in mpi ci

* upload codecov results

* add more unit tests

* add tests for pauli word based expval

* add more docs

* add more tests

* skip lcov for native gates

* add mpi_helpers

* add more docstrings

* add change log

* Auto update version

* Auto update version

* fix failures caused by merging

* add changelog

* Trigger multi-GPU runner

* add more fp32 tests to the measurement class

* add number of devices and mpi procs check

* Add coverage for py-mpitests. (#522)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* Add coverage for py-mpitests.

* Upload mpi-gpu test coverage.

* Try other paths.

* trigger CI

* Add mpi tests.

* Fix couple tests.

* Fixx test_apply tests?

* Add MPI sparse measurements.

* Fix format.

* Add MPI_Init checks in MPIManager constructors.

* Reformat mpitests and add cov for proc > dev error.

* Refactor makefile.

* Revert to full mpirun path.

* Fix couple tests.

* Name coverage after matrix.mpilib.

* Remove oversubscribe MPI test.

* Update changelog [skip ci].

---------

Co-authored-by: Shuli <[email protected]>

* add more tests in obs base class

* Revert "Merge branch 'add_LGPUMPI' into add_py_LGPUMPI"

This reverts commit d3af819, reversing
changes made to 6ad1c7c.

* Fix pylint [skip ci]

* resolve comments on source codes and tidy up code

* Use CRTP to define initSV and remove initSV_MPI

* resolve more typos

* resolve more typoes

* resolve adjoint class

* remove py&pybind layer

* resolve more comments

* Remove redundant blank line

* add num mpi & ngpudevice proc check

* fix typo

* remove unused lines

* add more tests

* remove initsv_mpi

* add reset

* make format

* use_mpi as _use_mpi in QuantumScriptSerializer

* resolve more comments

* check->require

* make format

* rename mpi workflow

* Add sparseH for LGPU (#526)

* Init commit

* Fix std::endl;

* Use more generic indices in base std::size_t.

* add pybind layer

* add python layer

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* add sparseH

* Trigger CI

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* add more unit tests for sparseH base class

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Add sparseH diff capability in LQ.

* Add sparse Hamiltonian support for Lightning-Kokkos (#527)

* Use more generic indices in base std::size_t.

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Fix clang tidy

* Comment workflows but tidy.

* Fix tidy warn

* Add override to sp::getWires

* Restore triggers

* Update tests_linux_x86_mpi.yml

* Add constructibility tests.

* Move L-Kokkos-CUDA tests to workflow call, called from tests_gpu_cu11.yml.

* Remove GPU deadlock.

* Bug fix Python MPI.

* Upload both outputs.

* Update gcc version in format.yml.

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* Update .github/workflows/tests_gpu_kokkos.yml [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* rename argn [skip ci]

* Remove unused lines [skip ci]

* Fix SparseHamiltonianBase::isEqual. [skip ci]

* Trigger CI

* Auto update version

* Trigger CI

* resolve comments

* rename dev_kokkos to dev

* Fix tidy.

---------

Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>

* update work flow

* resolve comments for unit tests

* add more unit tests for sparseH

* quick fix

* add fp32 tests

* tidy up code

* remove redundant lines

* add pylintrc to mpitests

* add mpitests dir to commit-config

* add mpitests to .coveragerc

* add mpitests path to coveragerc

* Fix mpitests/test_adjoint_jacobian.py

* Fix pylint in mpitests/test_apply [skip ci].

* pylint fix for mpi py_d_e_m_p tets

* tidy up cpp code

* fix codefactor

* revert skipp condition for openfermionpyscf

* codefactor fix

* add sparseH tests for mpi backend

* Install openfermion in CI workflows and fix H2 QChem integration test.

* update changelog

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
vincentmr added a commit that referenced this pull request Oct 26, 2023
* update measurement

* add openmp to adjgpu

* Auto update version

* Add support for building multiple backend simulators (#497)

* Add PL_BACKEND_LIST

* Update the support

* Exclude Python bindings

* Update HermitianObs name scope conflicts

* Auto update version

* Cleanup

* Update CI to build and check C++ tests of multiple backends (Linux)

* Update changelog

* Update .github/workflows/tests_linux.yml

Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Apply code review suggestions

* Update .github/workflows/tests_linux.yml

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* add python layer & isingxy gate in the cpp layer

* add batched adjoint method

* Update DefaultQubit to DefaultQubitLegacy (#500)

* Update DefaultQubit to DefaultQubitLegacy

* Update changelog

* update pylint disable on fallback

* Auto update version

* add batch support for adjoint method

* add gitignore

* tidy up code

* Auto update version

* make format

* revert complexT delete in LKokkosBingds

* make format

* update based on tidy

* fix tidy format

* add_gpu_runners_tests

* add cuquantum_sdk path to ci workflow

* debug

* add path to cuquantum sdk

* add python layer tests in ci workflow

* ci tests

* quick fix

* skip pr ci for some workflows

* quick fix

* quick fix

* update python ci tests

* remove dependency on lightning_qubit in ci

* fix directory

* fix directory

* quick fix

* quick fix

* test for cuda-12

* update measurement

* updata cu12 workflows

* add getDataVector support to LQubitRaw

* install lightning.qubit before lightning.gpu in ci

* update test_obs

* activate all CI checks

* quick fix

* tidy up code

* tidy up code

* make format

* update ci for more tests

* tidy up code

* tidy up code

* tidy up code

* make format

* fix for codecov

* codecov fix

* quick fix

* quick fix

* quick fix

* quick test

* fix test

* fix tests

* another quick fix

* coverage fix

* update ci tests

* update ci for no binary

* codecov fix

* update adj tests for no binary case

* update python layer tests

* fix codecov

* make format

* initial commit for MPI

* revert to cu11

* enable more py tests

* update CI

* upload codecov ci

* add more tests for statevectorcudamanaged

* add more unit tests

* add more tests

* make format

* add more cpp tests

* skip cpp tests pauli param gates

* make format

* add more files to gitignore

* Auto update version

* init commit

* Trigger CI

* update gpu runner

* quick fix

* update fix

* add cpp layer for LGPU-MPI backend

* add py layer

* quick fix

* make format

* fix for fp32 support in expval calculation

* quick fix

* fix for cray_mpich_serialize_py

* copy to move for hamiltonian operation

* add unit tests for adjoint method

* add more tests

* resolve comments py layer

* remove omp support in LGPU

* update version

* Auto update version

* fix based on comments

* Add L-GPU and L-Kokkos as package extras (#515)

* Add L-GPU and L-Kokkos as package extras

* Auto update version

* Update changelog

* Temp enable the x86 wheel cache

* Return wheel storage functionality to normal

* Update readme

* Auto update version

* Trigger CI

* Update README.rst

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Amintor Dusko <[email protected]>

* Auto update version

* make format

* remove sparseH

* remove applyHostMatrixGate

* Add wheel_linux_x86_64_cu11.yml (#517)

* Add wheel_linux_x86_64_cu11.yml

* echo COMPILER=g++ >>

* python3.9 => python

* reinstall g++11

* Try that

* Use env vars for versions.

* Fix var syntax.

* Hardcode versions

* Fix custatevec-cu11

* Revert triggers.

* Update changelog [skip ci]

* resolve more comments

* add more tests to non_param gates

* resolve cpp tests comments

* remove unused methods in measurement class

* remove unused methods

* resolve more comments

* add changelog and matrixhasher

* quick update

* add more tests and merge base branch

* add mpi unit tests for algorithm base class

* add more unit tests for utils

* ctor test for MPIManager

* Add mpi tests to LGPU (#519)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* add CI checks for cpp unit tests

* add cpp layer ci check for mpi backend

* Auto update version

* remove redundant blank lines

* tidy up code

* Trigger CI

* remove single GPU backend tests in mpi ci

* upload codecov results

* add more unit tests

* add tests for pauli word based expval

* add more docs

* add more tests

* skip lcov for native gates

* add mpi_helpers

* add more docstrings

* add change log

* Auto update version

* Auto update version

* fix failures caused by merging

* add changelog

* Trigger multi-GPU runner

* add more fp32 tests to the measurement class

* add number of devices and mpi procs check

* Add coverage for py-mpitests. (#522)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* Add coverage for py-mpitests.

* Upload mpi-gpu test coverage.

* Try other paths.

* trigger CI

* Add mpi tests.

* Fix couple tests.

* Fixx test_apply tests?

* Add MPI sparse measurements.

* Fix format.

* Add MPI_Init checks in MPIManager constructors.

* Reformat mpitests and add cov for proc > dev error.

* Refactor makefile.

* Revert to full mpirun path.

* Fix couple tests.

* Name coverage after matrix.mpilib.

* Remove oversubscribe MPI test.

* Update changelog [skip ci].

---------

Co-authored-by: Shuli <[email protected]>

* add more tests in obs base class

* Revert "Merge branch 'add_LGPUMPI' into add_py_LGPUMPI"

This reverts commit d3af819, reversing
changes made to 6ad1c7c.

* Fix pylint [skip ci]

* resolve comments on source codes and tidy up code

* Use CRTP to define initSV and remove initSV_MPI

* resolve more typos

* resolve more typoes

* resolve adjoint class

* remove py&pybind layer

* resolve more comments

* Remove redundant blank line

* add num mpi & ngpudevice proc check

* fix typo

* remove unused lines

* add more tests

* remove initsv_mpi

* add reset

* make format

* use_mpi as _use_mpi in QuantumScriptSerializer

* resolve more comments

* check->require

* make format

* rename mpi workflow

* Update license.

* Add GPU tests in compat workflows.

* Add pull_request triggers.

* Comment pull_request triggers except compat.

* Comment pull_request triggers except compat-latest-latest.

* shush CI [skip ci]

* Add sparseH for LGPU (#526)

* Init commit

* Fix std::endl;

* Use more generic indices in base std::size_t.

* add pybind layer

* add python layer

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* add sparseH

* Trigger CI

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* add more unit tests for sparseH base class

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Add sparseH diff capability in LQ.

* Add sparse Hamiltonian support for Lightning-Kokkos (#527)

* Use more generic indices in base std::size_t.

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Fix clang tidy

* Comment workflows but tidy.

* Fix tidy warn

* Add override to sp::getWires

* Restore triggers

* Update tests_linux_x86_mpi.yml

* Add constructibility tests.

* Move L-Kokkos-CUDA tests to workflow call, called from tests_gpu_cu11.yml.

* Remove GPU deadlock.

* Bug fix Python MPI.

* Upload both outputs.

* Update gcc version in format.yml.

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* Update .github/workflows/tests_gpu_kokkos.yml [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* rename argn [skip ci]

* Remove unused lines [skip ci]

* Fix SparseHamiltonianBase::isEqual. [skip ci]

* Trigger CI

* Auto update version

* Trigger CI

* resolve comments

* rename dev_kokkos to dev

* Fix tidy.

---------

Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>

* update work flow

* resolve comments for unit tests

* add more unit tests for sparseH

* quick fix

* add fp32 tests

* tidy up code

* remove redundant lines

* add pylintrc to mpitests

* add mpitests dir to commit-config

* add mpitests to .coveragerc

* add mpitests path to coveragerc

* Add LGPU cu11 workflow to compat.

* Add all workflows to latest-latest.

* Fix jobs names.

* Fix mpitests/test_adjoint_jacobian.py

* Fix pylint in mpitests/test_apply [skip ci].

* pylint fix for mpi py_d_e_m_p tets

* tidy up cpp code

* fix codefactor

* revert skipp condition for openfermionpyscf

* codefactor fix

* add sparseH tests for mpi backend

* Install openfermion in CI workflows and fix H2 QChem integration test.

* Add LGPU_MPI tests to compat.

* update changelog

* Add gpu workflows to all compat [skip ci].

* Trigger CI

* Change cron time.

* Fix tests_lgpu_gpu_mpi name

* Fix gpu runner

* Turn off compat CPP tests.

* workflow_call => pull_request temp

* rm -rf Kokkos before mkdir

* Dont' run cpp-tests

* Use random parameters in test_integration_H2_Hamiltonian

* Use 2 contains

* Use pytest-rerunfailures in mpi_gpu step

* Change cov.xml name

* Remove rerun-failures

* Try symmetry-breaking mol close to eq.

* Add parallel True in .cov

* Revert params and add diff names for cov.xml

* Add barrier.

* Test runscript openmpi

* Fix yml format

* call bash

* Revert couple changes and remove MPI from compat workflows.

* Revert changes to src and tests.

* Revert triggers.

* Auto update version

* Remove pull_req trigger from compats.

* Revert changes to MPI workflow. [skip ci]

* Trigger CI

---------

Co-authored-by: Shuli Shu <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Shuli Shu <[email protected]>
multiphaseCFD added a commit that referenced this pull request Oct 26, 2023
* init commit

* Auto update version

* add changelog

* Update readme.

* shush CI [skip ci]

* Auto update version

* Fix README links and code-blocks. [skip ci]

* Fix card links.

* Fix obs signature to match LK/LQ

* Revert card links. [skip ci]

* update docs

* update readme

* Reorder cards and add docker support section. [skip ci]

* Build with CUDA on the CI for correct API gen

* Add docker.rst [skip ci].

* Add Cuda 11.8 install

* Lower CUDA version

* Fix typo in name and paths

* Disable CUDA checks for RTD

* update readme

* update LGPU installation steps

* Turn off GPU runners.

* Update CUDA wheel builder

* add docstring in lightning_gpu.py

* Change kokkos gpu order. [skip ci]

* Fix some headings and toctrees [skip ci].

* Add GPU test workflows to plugin test matrix [sc-48529] (#528)

* update measurement

* add openmp to adjgpu

* Auto update version

* Add support for building multiple backend simulators (#497)

* Add PL_BACKEND_LIST

* Update the support

* Exclude Python bindings

* Update HermitianObs name scope conflicts

* Auto update version

* Cleanup

* Update CI to build and check C++ tests of multiple backends (Linux)

* Update changelog

* Update .github/workflows/tests_linux.yml

Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Apply code review suggestions

* Update .github/workflows/tests_linux.yml

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* add python layer & isingxy gate in the cpp layer

* add batched adjoint method

* Update DefaultQubit to DefaultQubitLegacy (#500)

* Update DefaultQubit to DefaultQubitLegacy

* Update changelog

* update pylint disable on fallback

* Auto update version

* add batch support for adjoint method

* add gitignore

* tidy up code

* Auto update version

* make format

* revert complexT delete in LKokkosBingds

* make format

* update based on tidy

* fix tidy format

* add_gpu_runners_tests

* add cuquantum_sdk path to ci workflow

* debug

* add path to cuquantum sdk

* add python layer tests in ci workflow

* ci tests

* quick fix

* skip pr ci for some workflows

* quick fix

* quick fix

* update python ci tests

* remove dependency on lightning_qubit in ci

* fix directory

* fix directory

* quick fix

* quick fix

* test for cuda-12

* update measurement

* updata cu12 workflows

* add getDataVector support to LQubitRaw

* install lightning.qubit before lightning.gpu in ci

* update test_obs

* activate all CI checks

* quick fix

* tidy up code

* tidy up code

* make format

* update ci for more tests

* tidy up code

* tidy up code

* tidy up code

* make format

* fix for codecov

* codecov fix

* quick fix

* quick fix

* quick fix

* quick test

* fix test

* fix tests

* another quick fix

* coverage fix

* update ci tests

* update ci for no binary

* codecov fix

* update adj tests for no binary case

* update python layer tests

* fix codecov

* make format

* initial commit for MPI

* revert to cu11

* enable more py tests

* update CI

* upload codecov ci

* add more tests for statevectorcudamanaged

* add more unit tests

* add more tests

* make format

* add more cpp tests

* skip cpp tests pauli param gates

* make format

* add more files to gitignore

* Auto update version

* init commit

* Trigger CI

* update gpu runner

* quick fix

* update fix

* add cpp layer for LGPU-MPI backend

* add py layer

* quick fix

* make format

* fix for fp32 support in expval calculation

* quick fix

* fix for cray_mpich_serialize_py

* copy to move for hamiltonian operation

* add unit tests for adjoint method

* add more tests

* resolve comments py layer

* remove omp support in LGPU

* update version

* Auto update version

* fix based on comments

* Add L-GPU and L-Kokkos as package extras (#515)

* Add L-GPU and L-Kokkos as package extras

* Auto update version

* Update changelog

* Temp enable the x86 wheel cache

* Return wheel storage functionality to normal

* Update readme

* Auto update version

* Trigger CI

* Update README.rst

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Amintor Dusko <[email protected]>

* Auto update version

* make format

* remove sparseH

* remove applyHostMatrixGate

* Add wheel_linux_x86_64_cu11.yml (#517)

* Add wheel_linux_x86_64_cu11.yml

* echo COMPILER=g++ >>

* python3.9 => python

* reinstall g++11

* Try that

* Use env vars for versions.

* Fix var syntax.

* Hardcode versions

* Fix custatevec-cu11

* Revert triggers.

* Update changelog [skip ci]

* resolve more comments

* add more tests to non_param gates

* resolve cpp tests comments

* remove unused methods in measurement class

* remove unused methods

* resolve more comments

* add changelog and matrixhasher

* quick update

* add more tests and merge base branch

* add mpi unit tests for algorithm base class

* add more unit tests for utils

* ctor test for MPIManager

* Add mpi tests to LGPU (#519)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* add CI checks for cpp unit tests

* add cpp layer ci check for mpi backend

* Auto update version

* remove redundant blank lines

* tidy up code

* Trigger CI

* remove single GPU backend tests in mpi ci

* upload codecov results

* add more unit tests

* add tests for pauli word based expval

* add more docs

* add more tests

* skip lcov for native gates

* add mpi_helpers

* add more docstrings

* add change log

* Auto update version

* Auto update version

* fix failures caused by merging

* add changelog

* Trigger multi-GPU runner

* add more fp32 tests to the measurement class

* add number of devices and mpi procs check

* Add coverage for py-mpitests. (#522)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* Add coverage for py-mpitests.

* Upload mpi-gpu test coverage.

* Try other paths.

* trigger CI

* Add mpi tests.

* Fix couple tests.

* Fixx test_apply tests?

* Add MPI sparse measurements.

* Fix format.

* Add MPI_Init checks in MPIManager constructors.

* Reformat mpitests and add cov for proc > dev error.

* Refactor makefile.

* Revert to full mpirun path.

* Fix couple tests.

* Name coverage after matrix.mpilib.

* Remove oversubscribe MPI test.

* Update changelog [skip ci].

---------

Co-authored-by: Shuli <[email protected]>

* add more tests in obs base class

* Revert "Merge branch 'add_LGPUMPI' into add_py_LGPUMPI"

This reverts commit d3af819, reversing
changes made to 6ad1c7c.

* Fix pylint [skip ci]

* resolve comments on source codes and tidy up code

* Use CRTP to define initSV and remove initSV_MPI

* resolve more typos

* resolve more typoes

* resolve adjoint class

* remove py&pybind layer

* resolve more comments

* Remove redundant blank line

* add num mpi & ngpudevice proc check

* fix typo

* remove unused lines

* add more tests

* remove initsv_mpi

* add reset

* make format

* use_mpi as _use_mpi in QuantumScriptSerializer

* resolve more comments

* check->require

* make format

* rename mpi workflow

* Update license.

* Add GPU tests in compat workflows.

* Add pull_request triggers.

* Comment pull_request triggers except compat.

* Comment pull_request triggers except compat-latest-latest.

* shush CI [skip ci]

* Add sparseH for LGPU (#526)

* Init commit

* Fix std::endl;

* Use more generic indices in base std::size_t.

* add pybind layer

* add python layer

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* add sparseH

* Trigger CI

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* add more unit tests for sparseH base class

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Add sparseH diff capability in LQ.

* Add sparse Hamiltonian support for Lightning-Kokkos (#527)

* Use more generic indices in base std::size_t.

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Fix clang tidy

* Comment workflows but tidy.

* Fix tidy warn

* Add override to sp::getWires

* Restore triggers

* Update tests_linux_x86_mpi.yml

* Add constructibility tests.

* Move L-Kokkos-CUDA tests to workflow call, called from tests_gpu_cu11.yml.

* Remove GPU deadlock.

* Bug fix Python MPI.

* Upload both outputs.

* Update gcc version in format.yml.

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* Update .github/workflows/tests_gpu_kokkos.yml [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* rename argn [skip ci]

* Remove unused lines [skip ci]

* Fix SparseHamiltonianBase::isEqual. [skip ci]

* Trigger CI

* Auto update version

* Trigger CI

* resolve comments

* rename dev_kokkos to dev

* Fix tidy.

---------

Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>

* update work flow

* resolve comments for unit tests

* add more unit tests for sparseH

* quick fix

* add fp32 tests

* tidy up code

* remove redundant lines

* add pylintrc to mpitests

* add mpitests dir to commit-config

* add mpitests to .coveragerc

* add mpitests path to coveragerc

* Add LGPU cu11 workflow to compat.

* Add all workflows to latest-latest.

* Fix jobs names.

* Fix mpitests/test_adjoint_jacobian.py

* Fix pylint in mpitests/test_apply [skip ci].

* pylint fix for mpi py_d_e_m_p tets

* tidy up cpp code

* fix codefactor

* revert skipp condition for openfermionpyscf

* codefactor fix

* add sparseH tests for mpi backend

* Install openfermion in CI workflows and fix H2 QChem integration test.

* Add LGPU_MPI tests to compat.

* update changelog

* Add gpu workflows to all compat [skip ci].

* Trigger CI

* Change cron time.

* Fix tests_lgpu_gpu_mpi name

* Fix gpu runner

* Turn off compat CPP tests.

* workflow_call => pull_request temp

* rm -rf Kokkos before mkdir

* Dont' run cpp-tests

* Use random parameters in test_integration_H2_Hamiltonian

* Use 2 contains

* Use pytest-rerunfailures in mpi_gpu step

* Change cov.xml name

* Remove rerun-failures

* Try symmetry-breaking mol close to eq.

* Add parallel True in .cov

* Revert params and add diff names for cov.xml

* Add barrier.

* Test runscript openmpi

* Fix yml format

* call bash

* Revert couple changes and remove MPI from compat workflows.

* Revert changes to src and tests.

* Revert triggers.

* Auto update version

* Remove pull_req trigger from compats.

* Revert changes to MPI workflow. [skip ci]

* Trigger CI

---------

Co-authored-by: Shuli Shu <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Shuli Shu <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Lee J. O'Riordan <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
multiphaseCFD added a commit that referenced this pull request Oct 27, 2023
* init commit

* Auto update version

* add changelog

* Update readme.

* shush CI [skip ci]

* Auto update version

* Fix README links and code-blocks. [skip ci]

* Fix card links.

* Fix obs signature to match LK/LQ

* Revert card links. [skip ci]

* update docs

* update readme

* Reorder cards and add docker support section. [skip ci]

* Build with CUDA on the CI for correct API gen

* Add docker.rst [skip ci].

* Add Cuda 11.8 install

* Lower CUDA version

* Fix typo in name and paths

* Disable CUDA checks for RTD

* update readme

* update LGPU installation steps

* Turn off GPU runners.

* Update CUDA wheel builder

* add docstring in lightning_gpu.py

* Change kokkos gpu order. [skip ci]

* Fix some headings and toctrees [skip ci].

* Add GPU test workflows to plugin test matrix [sc-48529] (#528)

* update measurement

* add openmp to adjgpu

* Auto update version

* Add support for building multiple backend simulators (#497)

* Add PL_BACKEND_LIST

* Update the support

* Exclude Python bindings

* Update HermitianObs name scope conflicts

* Auto update version

* Cleanup

* Update CI to build and check C++ tests of multiple backends (Linux)

* Update changelog

* Update .github/workflows/tests_linux.yml

Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Apply code review suggestions

* Update .github/workflows/tests_linux.yml

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* add python layer & isingxy gate in the cpp layer

* add batched adjoint method

* Update DefaultQubit to DefaultQubitLegacy (#500)

* Update DefaultQubit to DefaultQubitLegacy

* Update changelog

* update pylint disable on fallback

* Auto update version

* add batch support for adjoint method

* add gitignore

* tidy up code

* Auto update version

* make format

* revert complexT delete in LKokkosBingds

* make format

* update based on tidy

* fix tidy format

* add_gpu_runners_tests

* add cuquantum_sdk path to ci workflow

* debug

* add path to cuquantum sdk

* add python layer tests in ci workflow

* ci tests

* quick fix

* skip pr ci for some workflows

* quick fix

* quick fix

* update python ci tests

* remove dependency on lightning_qubit in ci

* fix directory

* fix directory

* quick fix

* quick fix

* test for cuda-12

* update measurement

* updata cu12 workflows

* add getDataVector support to LQubitRaw

* install lightning.qubit before lightning.gpu in ci

* update test_obs

* activate all CI checks

* quick fix

* tidy up code

* tidy up code

* make format

* update ci for more tests

* tidy up code

* tidy up code

* tidy up code

* make format

* fix for codecov

* codecov fix

* quick fix

* quick fix

* quick fix

* quick test

* fix test

* fix tests

* another quick fix

* coverage fix

* update ci tests

* update ci for no binary

* codecov fix

* update adj tests for no binary case

* update python layer tests

* fix codecov

* make format

* initial commit for MPI

* revert to cu11

* enable more py tests

* update CI

* upload codecov ci

* add more tests for statevectorcudamanaged

* add more unit tests

* add more tests

* make format

* add more cpp tests

* skip cpp tests pauli param gates

* make format

* add more files to gitignore

* Auto update version

* init commit

* Trigger CI

* update gpu runner

* quick fix

* update fix

* add cpp layer for LGPU-MPI backend

* add py layer

* quick fix

* make format

* fix for fp32 support in expval calculation

* quick fix

* fix for cray_mpich_serialize_py

* copy to move for hamiltonian operation

* add unit tests for adjoint method

* add more tests

* resolve comments py layer

* remove omp support in LGPU

* update version

* Auto update version

* fix based on comments

* Add L-GPU and L-Kokkos as package extras (#515)

* Add L-GPU and L-Kokkos as package extras

* Auto update version

* Update changelog

* Temp enable the x86 wheel cache

* Return wheel storage functionality to normal

* Update readme

* Auto update version

* Trigger CI

* Update README.rst

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Amintor Dusko <[email protected]>

* Auto update version

* make format

* remove sparseH

* remove applyHostMatrixGate

* Add wheel_linux_x86_64_cu11.yml (#517)

* Add wheel_linux_x86_64_cu11.yml

* echo COMPILER=g++ >>

* python3.9 => python

* reinstall g++11

* Try that

* Use env vars for versions.

* Fix var syntax.

* Hardcode versions

* Fix custatevec-cu11

* Revert triggers.

* Update changelog [skip ci]

* resolve more comments

* add more tests to non_param gates

* resolve cpp tests comments

* remove unused methods in measurement class

* remove unused methods

* resolve more comments

* add changelog and matrixhasher

* quick update

* add more tests and merge base branch

* add mpi unit tests for algorithm base class

* add more unit tests for utils

* ctor test for MPIManager

* Add mpi tests to LGPU (#519)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* add CI checks for cpp unit tests

* add cpp layer ci check for mpi backend

* Auto update version

* remove redundant blank lines

* tidy up code

* Trigger CI

* remove single GPU backend tests in mpi ci

* upload codecov results

* add more unit tests

* add tests for pauli word based expval

* add more docs

* add more tests

* skip lcov for native gates

* add mpi_helpers

* add more docstrings

* add change log

* Auto update version

* Auto update version

* fix failures caused by merging

* add changelog

* Trigger multi-GPU runner

* add more fp32 tests to the measurement class

* add number of devices and mpi procs check

* Add coverage for py-mpitests. (#522)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* Add coverage for py-mpitests.

* Upload mpi-gpu test coverage.

* Try other paths.

* trigger CI

* Add mpi tests.

* Fix couple tests.

* Fixx test_apply tests?

* Add MPI sparse measurements.

* Fix format.

* Add MPI_Init checks in MPIManager constructors.

* Reformat mpitests and add cov for proc > dev error.

* Refactor makefile.

* Revert to full mpirun path.

* Fix couple tests.

* Name coverage after matrix.mpilib.

* Remove oversubscribe MPI test.

* Update changelog [skip ci].

---------

Co-authored-by: Shuli <[email protected]>

* add more tests in obs base class

* Revert "Merge branch 'add_LGPUMPI' into add_py_LGPUMPI"

This reverts commit d3af819, reversing
changes made to 6ad1c7c.

* Fix pylint [skip ci]

* resolve comments on source codes and tidy up code

* Use CRTP to define initSV and remove initSV_MPI

* resolve more typos

* resolve more typoes

* resolve adjoint class

* remove py&pybind layer

* resolve more comments

* Remove redundant blank line

* add num mpi & ngpudevice proc check

* fix typo

* remove unused lines

* add more tests

* remove initsv_mpi

* add reset

* make format

* use_mpi as _use_mpi in QuantumScriptSerializer

* resolve more comments

* check->require

* make format

* rename mpi workflow

* Update license.

* Add GPU tests in compat workflows.

* Add pull_request triggers.

* Comment pull_request triggers except compat.

* Comment pull_request triggers except compat-latest-latest.

* shush CI [skip ci]

* Add sparseH for LGPU (#526)

* Init commit

* Fix std::endl;

* Use more generic indices in base std::size_t.

* add pybind layer

* add python layer

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* add sparseH

* Trigger CI

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* add more unit tests for sparseH base class

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Add sparseH diff capability in LQ.

* Add sparse Hamiltonian support for Lightning-Kokkos (#527)

* Use more generic indices in base std::size_t.

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Fix clang tidy

* Comment workflows but tidy.

* Fix tidy warn

* Add override to sp::getWires

* Restore triggers

* Update tests_linux_x86_mpi.yml

* Add constructibility tests.

* Move L-Kokkos-CUDA tests to workflow call, called from tests_gpu_cu11.yml.

* Remove GPU deadlock.

* Bug fix Python MPI.

* Upload both outputs.

* Update gcc version in format.yml.

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* Update .github/workflows/tests_gpu_kokkos.yml [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* rename argn [skip ci]

* Remove unused lines [skip ci]

* Fix SparseHamiltonianBase::isEqual. [skip ci]

* Trigger CI

* Auto update version

* Trigger CI

* resolve comments

* rename dev_kokkos to dev

* Fix tidy.

---------

Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>

* update work flow

* resolve comments for unit tests

* add more unit tests for sparseH

* quick fix

* add fp32 tests

* tidy up code

* remove redundant lines

* add pylintrc to mpitests

* add mpitests dir to commit-config

* add mpitests to .coveragerc

* add mpitests path to coveragerc

* Add LGPU cu11 workflow to compat.

* Add all workflows to latest-latest.

* Fix jobs names.

* Fix mpitests/test_adjoint_jacobian.py

* Fix pylint in mpitests/test_apply [skip ci].

* pylint fix for mpi py_d_e_m_p tets

* tidy up cpp code

* fix codefactor

* revert skipp condition for openfermionpyscf

* codefactor fix

* add sparseH tests for mpi backend

* Install openfermion in CI workflows and fix H2 QChem integration test.

* Add LGPU_MPI tests to compat.

* update changelog

* Add gpu workflows to all compat [skip ci].

* Trigger CI

* Change cron time.

* Fix tests_lgpu_gpu_mpi name

* Fix gpu runner

* Turn off compat CPP tests.

* workflow_call => pull_request temp

* rm -rf Kokkos before mkdir

* Dont' run cpp-tests

* Use random parameters in test_integration_H2_Hamiltonian

* Use 2 contains

* Use pytest-rerunfailures in mpi_gpu step

* Change cov.xml name

* Remove rerun-failures

* Try symmetry-breaking mol close to eq.

* Add parallel True in .cov

* Revert params and add diff names for cov.xml

* Add barrier.

* Test runscript openmpi

* Fix yml format

* call bash

* Revert couple changes and remove MPI from compat workflows.

* Revert changes to src and tests.

* Revert triggers.

* Auto update version

* Remove pull_req trigger from compats.

* Revert changes to MPI workflow. [skip ci]

* Trigger CI

---------

Co-authored-by: Shuli Shu <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Shuli Shu <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Lee J. O'Riordan <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
multiphaseCFD added a commit that referenced this pull request Oct 31, 2023
* Create v0.33.0 RC branch.

* Update changelog [skip ci]

* Update pennylane_requires [skip ci]

* Change master => v0.33.0-rc0 in wheels and fix gpu ci files (removing latest pl checkouts).

* Trigger multiple GPU CI

* add sync in Hamiltonian obs

* add sync to MPILinearAlg

* add sync for adjoint tests

* sync for gate ops in MPI backend

* add more sync

* add more sync before upData

* add more syncs

* update adj unit tests

* Add LGPU docs (#525)

* init commit

* Auto update version

* add changelog

* Update readme.

* shush CI [skip ci]

* Auto update version

* Fix README links and code-blocks. [skip ci]

* Fix card links.

* Fix obs signature to match LK/LQ

* Revert card links. [skip ci]

* update docs

* update readme

* Reorder cards and add docker support section. [skip ci]

* Build with CUDA on the CI for correct API gen

* Add docker.rst [skip ci].

* Add Cuda 11.8 install

* Lower CUDA version

* Fix typo in name and paths

* Disable CUDA checks for RTD

* update readme

* update LGPU installation steps

* Turn off GPU runners.

* Update CUDA wheel builder

* add docstring in lightning_gpu.py

* Change kokkos gpu order. [skip ci]

* Fix some headings and toctrees [skip ci].

* Add GPU test workflows to plugin test matrix [sc-48529] (#528)

* update measurement

* add openmp to adjgpu

* Auto update version

* Add support for building multiple backend simulators (#497)

* Add PL_BACKEND_LIST

* Update the support

* Exclude Python bindings

* Update HermitianObs name scope conflicts

* Auto update version

* Cleanup

* Update CI to build and check C++ tests of multiple backends (Linux)

* Update changelog

* Update .github/workflows/tests_linux.yml

Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Apply code review suggestions

* Update .github/workflows/tests_linux.yml

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* add python layer & isingxy gate in the cpp layer

* add batched adjoint method

* Update DefaultQubit to DefaultQubitLegacy (#500)

* Update DefaultQubit to DefaultQubitLegacy

* Update changelog

* update pylint disable on fallback

* Auto update version

* add batch support for adjoint method

* add gitignore

* tidy up code

* Auto update version

* make format

* revert complexT delete in LKokkosBingds

* make format

* update based on tidy

* fix tidy format

* add_gpu_runners_tests

* add cuquantum_sdk path to ci workflow

* debug

* add path to cuquantum sdk

* add python layer tests in ci workflow

* ci tests

* quick fix

* skip pr ci for some workflows

* quick fix

* quick fix

* update python ci tests

* remove dependency on lightning_qubit in ci

* fix directory

* fix directory

* quick fix

* quick fix

* test for cuda-12

* update measurement

* updata cu12 workflows

* add getDataVector support to LQubitRaw

* install lightning.qubit before lightning.gpu in ci

* update test_obs

* activate all CI checks

* quick fix

* tidy up code

* tidy up code

* make format

* update ci for more tests

* tidy up code

* tidy up code

* tidy up code

* make format

* fix for codecov

* codecov fix

* quick fix

* quick fix

* quick fix

* quick test

* fix test

* fix tests

* another quick fix

* coverage fix

* update ci tests

* update ci for no binary

* codecov fix

* update adj tests for no binary case

* update python layer tests

* fix codecov

* make format

* initial commit for MPI

* revert to cu11

* enable more py tests

* update CI

* upload codecov ci

* add more tests for statevectorcudamanaged

* add more unit tests

* add more tests

* make format

* add more cpp tests

* skip cpp tests pauli param gates

* make format

* add more files to gitignore

* Auto update version

* init commit

* Trigger CI

* update gpu runner

* quick fix

* update fix

* add cpp layer for LGPU-MPI backend

* add py layer

* quick fix

* make format

* fix for fp32 support in expval calculation

* quick fix

* fix for cray_mpich_serialize_py

* copy to move for hamiltonian operation

* add unit tests for adjoint method

* add more tests

* resolve comments py layer

* remove omp support in LGPU

* update version

* Auto update version

* fix based on comments

* Add L-GPU and L-Kokkos as package extras (#515)

* Add L-GPU and L-Kokkos as package extras

* Auto update version

* Update changelog

* Temp enable the x86 wheel cache

* Return wheel storage functionality to normal

* Update readme

* Auto update version

* Trigger CI

* Update README.rst

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Amintor Dusko <[email protected]>

* Auto update version

* make format

* remove sparseH

* remove applyHostMatrixGate

* Add wheel_linux_x86_64_cu11.yml (#517)

* Add wheel_linux_x86_64_cu11.yml

* echo COMPILER=g++ >>

* python3.9 => python

* reinstall g++11

* Try that

* Use env vars for versions.

* Fix var syntax.

* Hardcode versions

* Fix custatevec-cu11

* Revert triggers.

* Update changelog [skip ci]

* resolve more comments

* add more tests to non_param gates

* resolve cpp tests comments

* remove unused methods in measurement class

* remove unused methods

* resolve more comments

* add changelog and matrixhasher

* quick update

* add more tests and merge base branch

* add mpi unit tests for algorithm base class

* add more unit tests for utils

* ctor test for MPIManager

* Add mpi tests to LGPU (#519)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* add CI checks for cpp unit tests

* add cpp layer ci check for mpi backend

* Auto update version

* remove redundant blank lines

* tidy up code

* Trigger CI

* remove single GPU backend tests in mpi ci

* upload codecov results

* add more unit tests

* add tests for pauli word based expval

* add more docs

* add more tests

* skip lcov for native gates

* add mpi_helpers

* add more docstrings

* add change log

* Auto update version

* Auto update version

* fix failures caused by merging

* add changelog

* Trigger multi-GPU runner

* add more fp32 tests to the measurement class

* add number of devices and mpi procs check

* Add coverage for py-mpitests. (#522)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* Add coverage for py-mpitests.

* Upload mpi-gpu test coverage.

* Try other paths.

* trigger CI

* Add mpi tests.

* Fix couple tests.

* Fixx test_apply tests?

* Add MPI sparse measurements.

* Fix format.

* Add MPI_Init checks in MPIManager constructors.

* Reformat mpitests and add cov for proc > dev error.

* Refactor makefile.

* Revert to full mpirun path.

* Fix couple tests.

* Name coverage after matrix.mpilib.

* Remove oversubscribe MPI test.

* Update changelog [skip ci].

---------

Co-authored-by: Shuli <[email protected]>

* add more tests in obs base class

* Revert "Merge branch 'add_LGPUMPI' into add_py_LGPUMPI"

This reverts commit d3af819, reversing
changes made to 6ad1c7c.

* Fix pylint [skip ci]

* resolve comments on source codes and tidy up code

* Use CRTP to define initSV and remove initSV_MPI

* resolve more typos

* resolve more typoes

* resolve adjoint class

* remove py&pybind layer

* resolve more comments

* Remove redundant blank line

* add num mpi & ngpudevice proc check

* fix typo

* remove unused lines

* add more tests

* remove initsv_mpi

* add reset

* make format

* use_mpi as _use_mpi in QuantumScriptSerializer

* resolve more comments

* check->require

* make format

* rename mpi workflow

* Update license.

* Add GPU tests in compat workflows.

* Add pull_request triggers.

* Comment pull_request triggers except compat.

* Comment pull_request triggers except compat-latest-latest.

* shush CI [skip ci]

* Add sparseH for LGPU (#526)

* Init commit

* Fix std::endl;

* Use more generic indices in base std::size_t.

* add pybind layer

* add python layer

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* add sparseH

* Trigger CI

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* add more unit tests for sparseH base class

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Add sparseH diff capability in LQ.

* Add sparse Hamiltonian support for Lightning-Kokkos (#527)

* Use more generic indices in base std::size_t.

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Fix clang tidy

* Comment workflows but tidy.

* Fix tidy warn

* Add override to sp::getWires

* Restore triggers

* Update tests_linux_x86_mpi.yml

* Add constructibility tests.

* Move L-Kokkos-CUDA tests to workflow call, called from tests_gpu_cu11.yml.

* Remove GPU deadlock.

* Bug fix Python MPI.

* Upload both outputs.

* Update gcc version in format.yml.

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* Update .github/workflows/tests_gpu_kokkos.yml [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* rename argn [skip ci]

* Remove unused lines [skip ci]

* Fix SparseHamiltonianBase::isEqual. [skip ci]

* Trigger CI

* Auto update version

* Trigger CI

* resolve comments

* rename dev_kokkos to dev

* Fix tidy.

---------

Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>

* update work flow

* resolve comments for unit tests

* add more unit tests for sparseH

* quick fix

* add fp32 tests

* tidy up code

* remove redundant lines

* add pylintrc to mpitests

* add mpitests dir to commit-config

* add mpitests to .coveragerc

* add mpitests path to coveragerc

* Add LGPU cu11 workflow to compat.

* Add all workflows to latest-latest.

* Fix jobs names.

* Fix mpitests/test_adjoint_jacobian.py

* Fix pylint in mpitests/test_apply [skip ci].

* pylint fix for mpi py_d_e_m_p tets

* tidy up cpp code

* fix codefactor

* revert skipp condition for openfermionpyscf

* codefactor fix

* add sparseH tests for mpi backend

* Install openfermion in CI workflows and fix H2 QChem integration test.

* Add LGPU_MPI tests to compat.

* update changelog

* Add gpu workflows to all compat [skip ci].

* Trigger CI

* Change cron time.

* Fix tests_lgpu_gpu_mpi name

* Fix gpu runner

* Turn off compat CPP tests.

* workflow_call => pull_request temp

* rm -rf Kokkos before mkdir

* Dont' run cpp-tests

* Use random parameters in test_integration_H2_Hamiltonian

* Use 2 contains

* Use pytest-rerunfailures in mpi_gpu step

* Change cov.xml name

* Remove rerun-failures

* Try symmetry-breaking mol close to eq.

* Add parallel True in .cov

* Revert params and add diff names for cov.xml

* Add barrier.

* Test runscript openmpi

* Fix yml format

* call bash

* Revert couple changes and remove MPI from compat workflows.

* Revert changes to src and tests.

* Revert triggers.

* Auto update version

* Remove pull_req trigger from compats.

* Revert changes to MPI workflow. [skip ci]

* Trigger CI

---------

Co-authored-by: Shuli Shu <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Shuli Shu <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Lee J. O'Riordan <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Download wheels.

* Add pytest-bench dep in requirements-dev.txt

* Fix RST formatting in README

* Fix matrix in GPU wheels.

* Build linux aarch ppc

* Add sdist in noarch wheels.

* Fix backend name in wheel_linux_x86_64_cu11.yml

* Do not upload sdist.

* quick fix py unit tests for adj mpi

* Uncomment mpi tests trigger

* Add block-list for auditwheel builds with L-GPU (#534)

* Add block-list for auditwheel builds with L-GPU

* Update mode permission for auditwheel

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Lee James O'Riordan <[email protected]>

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Lee James O'Riordan <[email protected]>

* Remove custatevec from req [skip ci]

* remove unneccessary barrier in cpp backend

* turn on H2_Ham tests for LK&LQ

* Fix changelog and link in README. [skip ci]

* Use long lightning titles. [skip ci]

* Remove broken links [skip ci].

* Remove stray div end

* Revert wheel files triggers.

* test (#535)

* test

* Trigger MPI CI

* Use runscript with openmpi.

* Install pytest-xdist.

* Use coverage directly in mpi tests.

* Revert trigger comment.

* Remove placeholder diff.md [skip ci]

---------

Co-authored-by: Shuli Shu <[email protected]>

* udpate changelog

* Trigger MGPU CI

* Auto update version

* update typo

* update changelog and mpi_gpu.yml

---------

Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Lee J. O'Riordan <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
mlxd added a commit that referenced this pull request Nov 2, 2023
* Create v0.33.0 RC branch.

* Update changelog [skip ci]

* Update pennylane_requires [skip ci]

* Change master => v0.33.0-rc0 in wheels and fix gpu ci files (removing latest pl checkouts).

* Trigger multiple GPU CI

* add sync in Hamiltonian obs

* add sync to MPILinearAlg

* add sync for adjoint tests

* sync for gate ops in MPI backend

* add more sync

* add more sync before upData

* add more syncs

* update adj unit tests

* Add LGPU docs (#525)

* init commit

* Auto update version

* add changelog

* Update readme.

* shush CI [skip ci]

* Auto update version

* Fix README links and code-blocks. [skip ci]

* Fix card links.

* Fix obs signature to match LK/LQ

* Revert card links. [skip ci]

* update docs

* update readme

* Reorder cards and add docker support section. [skip ci]

* Build with CUDA on the CI for correct API gen

* Add docker.rst [skip ci].

* Add Cuda 11.8 install

* Lower CUDA version

* Fix typo in name and paths

* Disable CUDA checks for RTD

* update readme

* update LGPU installation steps

* Turn off GPU runners.

* Update CUDA wheel builder

* add docstring in lightning_gpu.py

* Change kokkos gpu order. [skip ci]

* Fix some headings and toctrees [skip ci].

* Add GPU test workflows to plugin test matrix [sc-48529] (#528)

* update measurement

* add openmp to adjgpu

* Auto update version

* Add support for building multiple backend simulators (#497)

* Add PL_BACKEND_LIST

* Update the support

* Exclude Python bindings

* Update HermitianObs name scope conflicts

* Auto update version

* Cleanup

* Update CI to build and check C++ tests of multiple backends (Linux)

* Update changelog

* Update .github/workflows/tests_linux.yml

Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Apply code review suggestions

* Update .github/workflows/tests_linux.yml

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* add python layer & isingxy gate in the cpp layer

* add batched adjoint method

* Update DefaultQubit to DefaultQubitLegacy (#500)

* Update DefaultQubit to DefaultQubitLegacy

* Update changelog

* update pylint disable on fallback

* Auto update version

* add batch support for adjoint method

* add gitignore

* tidy up code

* Auto update version

* make format

* revert complexT delete in LKokkosBingds

* make format

* update based on tidy

* fix tidy format

* add_gpu_runners_tests

* add cuquantum_sdk path to ci workflow

* debug

* add path to cuquantum sdk

* add python layer tests in ci workflow

* ci tests

* quick fix

* skip pr ci for some workflows

* quick fix

* quick fix

* update python ci tests

* remove dependency on lightning_qubit in ci

* fix directory

* fix directory

* quick fix

* quick fix

* test for cuda-12

* update measurement

* updata cu12 workflows

* add getDataVector support to LQubitRaw

* install lightning.qubit before lightning.gpu in ci

* update test_obs

* activate all CI checks

* quick fix

* tidy up code

* tidy up code

* make format

* update ci for more tests

* tidy up code

* tidy up code

* tidy up code

* make format

* fix for codecov

* codecov fix

* quick fix

* quick fix

* quick fix

* quick test

* fix test

* fix tests

* another quick fix

* coverage fix

* update ci tests

* update ci for no binary

* codecov fix

* update adj tests for no binary case

* update python layer tests

* fix codecov

* make format

* initial commit for MPI

* revert to cu11

* enable more py tests

* update CI

* upload codecov ci

* add more tests for statevectorcudamanaged

* add more unit tests

* add more tests

* make format

* add more cpp tests

* skip cpp tests pauli param gates

* make format

* add more files to gitignore

* Auto update version

* init commit

* Trigger CI

* update gpu runner

* quick fix

* update fix

* add cpp layer for LGPU-MPI backend

* add py layer

* quick fix

* make format

* fix for fp32 support in expval calculation

* quick fix

* fix for cray_mpich_serialize_py

* copy to move for hamiltonian operation

* add unit tests for adjoint method

* add more tests

* resolve comments py layer

* remove omp support in LGPU

* update version

* Auto update version

* fix based on comments

* Add L-GPU and L-Kokkos as package extras (#515)

* Add L-GPU and L-Kokkos as package extras

* Auto update version

* Update changelog

* Temp enable the x86 wheel cache

* Return wheel storage functionality to normal

* Update readme

* Auto update version

* Trigger CI

* Update README.rst

Co-authored-by: Amintor Dusko <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Amintor Dusko <[email protected]>

* Auto update version

* make format

* remove sparseH

* remove applyHostMatrixGate

* Add wheel_linux_x86_64_cu11.yml (#517)

* Add wheel_linux_x86_64_cu11.yml

* echo COMPILER=g++ >>

* python3.9 => python

* reinstall g++11

* Try that

* Use env vars for versions.

* Fix var syntax.

* Hardcode versions

* Fix custatevec-cu11

* Revert triggers.

* Update changelog [skip ci]

* resolve more comments

* add more tests to non_param gates

* resolve cpp tests comments

* remove unused methods in measurement class

* remove unused methods

* resolve more comments

* add changelog and matrixhasher

* quick update

* add more tests and merge base branch

* add mpi unit tests for algorithm base class

* add more unit tests for utils

* ctor test for MPIManager

* Add mpi tests to LGPU (#519)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* add CI checks for cpp unit tests

* add cpp layer ci check for mpi backend

* Auto update version

* remove redundant blank lines

* tidy up code

* Trigger CI

* remove single GPU backend tests in mpi ci

* upload codecov results

* add more unit tests

* add tests for pauli word based expval

* add more docs

* add more tests

* skip lcov for native gates

* add mpi_helpers

* add more docstrings

* add change log

* Auto update version

* Auto update version

* fix failures caused by merging

* add changelog

* Trigger multi-GPU runner

* add more fp32 tests to the measurement class

* add number of devices and mpi procs check

* Add coverage for py-mpitests. (#522)

* Initial commit mpi tests

* Remove label guards

* Fix PL_DEVICE

* Install lightning_qubit.

* Fix ENABLE_MPI

* print cuquantum

* export cu_sdk

* revert define

* Debug cpp tests.

* Debug cpp tests.

* Fix cmake options.

* Compile with mpicxx

* Specify backend.

* Specify backend.

* Remove obsolete line.

* Specify cov backend

* Merge test/cov & try simplifying python

* if-no-files-found: error and fix python tests.

* Fix mpi find

* Install real lightning.

* Revert python tests.

* Hardcode backend values in python tests

* Install lightning_qubit with gpu in python tests

* Remove explicit mpich mentions.

* Parametrize mpilib name.

* Add openmpi tests.

* Build only openmpi python tests.

* Add timeouts

* test/test_apply.py

* Revert pull triggers.

* Clean gpu-mpi test workflows.

* Revert to 804ed24.

* Revert back.

* Update tests_linux_x86_mpi.yml [ci skip]

* Add jobs dep.

* Remove module unload

* Simplify mpi-gpu tests.

* trigger CI

* unset CFLAGS.

* set CFLAGS

* Revert triggers.

* Fix pull_request: [skip ci]

* trigger CI

* Rename test_gpu_cu11.yml -> tests_gpu_cu11.yml [skip ci]

* Add coverage for py-mpitests.

* Upload mpi-gpu test coverage.

* Try other paths.

* trigger CI

* Add mpi tests.

* Fix couple tests.

* Fixx test_apply tests?

* Add MPI sparse measurements.

* Fix format.

* Add MPI_Init checks in MPIManager constructors.

* Reformat mpitests and add cov for proc > dev error.

* Refactor makefile.

* Revert to full mpirun path.

* Fix couple tests.

* Name coverage after matrix.mpilib.

* Remove oversubscribe MPI test.

* Update changelog [skip ci].

---------

Co-authored-by: Shuli <[email protected]>

* add more tests in obs base class

* Revert "Merge branch 'add_LGPUMPI' into add_py_LGPUMPI"

This reverts commit d3af819, reversing
changes made to 6ad1c7c.

* Fix pylint [skip ci]

* resolve comments on source codes and tidy up code

* Use CRTP to define initSV and remove initSV_MPI

* resolve more typos

* resolve more typoes

* resolve adjoint class

* remove py&pybind layer

* resolve more comments

* Remove redundant blank line

* add num mpi & ngpudevice proc check

* fix typo

* remove unused lines

* add more tests

* remove initsv_mpi

* add reset

* make format

* use_mpi as _use_mpi in QuantumScriptSerializer

* resolve more comments

* check->require

* make format

* rename mpi workflow

* Update license.

* Add GPU tests in compat workflows.

* Add pull_request triggers.

* Comment pull_request triggers except compat.

* Comment pull_request triggers except compat-latest-latest.

* shush CI [skip ci]

* Add sparseH for LGPU (#526)

* Init commit

* Fix std::endl;

* Use more generic indices in base std::size_t.

* add pybind layer

* add python layer

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* add sparseH

* Trigger CI

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* add more unit tests for sparseH base class

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Add sparseH diff capability in LQ.

* Add sparse Hamiltonian support for Lightning-Kokkos (#527)

* Use more generic indices in base std::size_t.

* Quick and dirty spham bindings.

* Add sparse_ham serialization.

* Add sparse_ham tests in tests/test_adjoint_jacobian.py'

* Bug fix sparse product.

* Fix python bindings LGPU idxT

* Fix serial tests and update changelog.

* Fix tidy & sparse adjoint test device name.

* Fix tidy warning for sparse_ham.

* Send backend-specific ops in respective modules.

* Fix sparse_hamiltonianmpi_c and add getWires test.

* Fix clang tidy

* Comment workflows but tidy.

* Fix tidy warn

* Add override to sp::getWires

* Restore triggers

* Update tests_linux_x86_mpi.yml

* Add constructibility tests.

* Move L-Kokkos-CUDA tests to workflow call, called from tests_gpu_cu11.yml.

* Remove GPU deadlock.

* Bug fix Python MPI.

* Upload both outputs.

* Update gcc version in format.yml.

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* Update .github/workflows/tests_gpu_kokkos.yml [skip ci]

Co-authored-by: Amintor Dusko <[email protected]>

* rename argn [skip ci]

* Remove unused lines [skip ci]

* Fix SparseHamiltonianBase::isEqual. [skip ci]

* Trigger CI

* Auto update version

* Trigger CI

* resolve comments

* rename dev_kokkos to dev

* Fix tidy.

---------

Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>

* update work flow

* resolve comments for unit tests

* add more unit tests for sparseH

* quick fix

* add fp32 tests

* tidy up code

* remove redundant lines

* add pylintrc to mpitests

* add mpitests dir to commit-config

* add mpitests to .coveragerc

* add mpitests path to coveragerc

* Add LGPU cu11 workflow to compat.

* Add all workflows to latest-latest.

* Fix jobs names.

* Fix mpitests/test_adjoint_jacobian.py

* Fix pylint in mpitests/test_apply [skip ci].

* pylint fix for mpi py_d_e_m_p tets

* tidy up cpp code

* fix codefactor

* revert skipp condition for openfermionpyscf

* codefactor fix

* add sparseH tests for mpi backend

* Install openfermion in CI workflows and fix H2 QChem integration test.

* Add LGPU_MPI tests to compat.

* update changelog

* Add gpu workflows to all compat [skip ci].

* Trigger CI

* Change cron time.

* Fix tests_lgpu_gpu_mpi name

* Fix gpu runner

* Turn off compat CPP tests.

* workflow_call => pull_request temp

* rm -rf Kokkos before mkdir

* Dont' run cpp-tests

* Use random parameters in test_integration_H2_Hamiltonian

* Use 2 contains

* Use pytest-rerunfailures in mpi_gpu step

* Change cov.xml name

* Remove rerun-failures

* Try symmetry-breaking mol close to eq.

* Add parallel True in .cov

* Revert params and add diff names for cov.xml

* Add barrier.

* Test runscript openmpi

* Fix yml format

* call bash

* Revert couple changes and remove MPI from compat workflows.

* Revert changes to src and tests.

* Revert triggers.

* Auto update version

* Remove pull_req trigger from compats.

* Revert changes to MPI workflow. [skip ci]

* Trigger CI

---------

Co-authored-by: Shuli Shu <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Shuli Shu <[email protected]>

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Lee J. O'Riordan <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Download wheels.

* Add pytest-bench dep in requirements-dev.txt

* Fix RST formatting in README

* Fix matrix in GPU wheels.

* Build linux aarch ppc

* Add sdist in noarch wheels.

* Fix backend name in wheel_linux_x86_64_cu11.yml

* Do not upload sdist.

* quick fix py unit tests for adj mpi

* Uncomment mpi tests trigger

* Add block-list for auditwheel builds with L-GPU (#534)

* Add block-list for auditwheel builds with L-GPU

* Update mode permission for auditwheel

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Lee James O'Riordan <[email protected]>

* Update .github/CHANGELOG.md [skip ci]

Co-authored-by: Lee James O'Riordan <[email protected]>

* Remove custatevec from req [skip ci]

* remove unneccessary barrier in cpp backend

* turn on H2_Ham tests for LK&LQ

* Fix changelog and link in README. [skip ci]

* Use long lightning titles. [skip ci]

* Remove broken links [skip ci].

* Remove stray div end

* Revert wheel files triggers.

* test (#535)

* test

* Trigger MPI CI

* Use runscript with openmpi.

* Install pytest-xdist.

* Use coverage directly in mpi tests.

* Revert trigger comment.

* Remove placeholder diff.md [skip ci]

---------

Co-authored-by: Shuli Shu <[email protected]>

* Forked as v0.33.0_release to be released with tag v0.33.0.

* Fix RPATH in pybind11 module for 0.33 (#543)

* Ensure RPATH isn't stripped away from python module for L-GPU

* Move RPATH settings to pybind11 module level definition

* Update changelog

* Enable CI for RC PR

* Lower PL version to 0.33 from master in req

* Remove CUQUANTUM_SDK env var to validate RPATH in LGPU builds

* Migrate PL 0.33.0-rc to 0.33 in tests

* Revert wheel cache for validation

* Branching for 0.33.1 release

* Auto update version

* Fix changelog merge

* Restore pre-merge newlines in wheelbuilder files

* Restore pmerge newlines in wheelbuilder files

---------

Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Shuli Shu <[email protected]>
Co-authored-by: Shuli Shu <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants