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

Creating the LightningTensor device class based on the new API #671

Merged
merged 107 commits into from
Apr 29, 2024

Conversation

PietropaoloFrisoni
Copy link
Contributor

@PietropaoloFrisoni PietropaoloFrisoni commented Apr 3, 2024

Context: This story's purpose is to create the frontend LightningTensor Python class following the new API guideline.

Description of the Change: The new Python class is introduced, following the new device API structure. The new class must handle different backends (CuTensorNet, quimb) and methods (MPS, TN) so that the user doesn't need to instantiate a new device for each choice. Everything must be managed through LightningTensor.

The current structure attempts to achieve such a goal, allowing enough flexibility to adapt to very different implementations and backends. As an example, I implemented the Python class (interface) in this PR called QuimbMPS, acting as a backend for quimb based on the MPS method. There will be more Python interfaces for different combinations of methods and backends.

The basic idea is that the methods in LightningTensor prescribed by the new device API (preprocess, execute, etc.) will just call the corresponding method in the appropriate Python interface, instantiated according to the choice of backend and method.

The structure of PRs for implementing the new device is the following: #686 -> This PR -> master branch
Therefore, this PR should be merged into the master branch first. This separation has been done mainly to facilitate the review process.

Benefits: This new device will enable simulations of quantum circuits based on Tensor Networks.

Possible Drawbacks This new device does not require changing the existing code, so drawbacks should not exist right now.

Related GitHub Issues: None.

[sc-60803]
[sc-60804]

@PietropaoloFrisoni PietropaoloFrisoni changed the title Creating the lightning_tensor device Creating the lightning_tensor device class using new API Apr 3, 2024
@PennyLaneAI PennyLaneAI deleted a comment from codecov bot Apr 10, 2024
@PietropaoloFrisoni PietropaoloFrisoni removed the request for review from Qottmann April 29, 2024 13:37
Copy link
Member

@mlxd mlxd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @PietropaoloFrisoni
A few suggestions for this one before it goes in. We can resolve the rest in the follow-up PR.

requirements-dev.txt Outdated Show resolved Hide resolved
.github/workflows/tests_linux_python.yml Show resolved Hide resolved
pennylane_lightning/lightning_tensor/lightning_tensor.py Outdated Show resolved Hide resolved
pennylane_lightning/lightning_tensor/lightning_tensor.py Outdated Show resolved Hide resolved
pennylane_lightning/lightning_tensor/quimb/_mps.py Outdated Show resolved Hide resolved
pennylane_lightning/lightning_tensor/quimb/_mps.py Outdated Show resolved Hide resolved
pennylane_lightning/lightning_tensor/quimb/_mps.py Outdated Show resolved Hide resolved
@mlxd
Copy link
Member

mlxd commented Apr 29, 2024

Also, as I understand it, the setup.py additions will be done post-merge of this PR. Right @PietropaoloFrisoni and @mudit2812 , meaning we don't need to run the wheel tests here?

@PietropaoloFrisoni
Copy link
Contributor Author

PietropaoloFrisoni commented Apr 29, 2024

@mlxd Yes. We created a separate ticket for that since it turned out to require more work than we anticipated

@PennyLaneAI PennyLaneAI deleted a comment from mlxd Apr 29, 2024
@mlxd
Copy link
Member

mlxd commented Apr 29, 2024

Overriding the expected checks for now. Coverage to be updated in follow-up PR/

@mlxd mlxd merged commit dcfab73 into master Apr 29, 2024
47 of 49 checks passed
@mlxd mlxd deleted the lightning-tensor-device branch April 29, 2024 19:20
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changelog would be better placed in Release 0.37.0-dev.
Let's come back later and fix that.

vincentmr added a commit that referenced this pull request May 2, 2024
* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
AmintorDusko added a commit that referenced this pull request May 7, 2024
* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

---------

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: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
AmintorDusko added a commit that referenced this pull request May 7, 2024
* update version

* update gcc and containers for linux_x86_64

* trigger CIs

* test Engine

* try removing podman

* try alternative path for docker

* y

* priviledged container

* aarch64

* build wheels

* dnf->yum

* install dependencies (apt)

* update container

* update and build ppc64le wheels

* update and build x86_64_cuda wheels

* update config-manager

* add install dnf-utils

* Auto update version

* update dev version

* move dnf-utils

* set cuda repository to AlmaLinux

* make gcc 12

* Auto update version

* trigger ci

* upload artifacts

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Ali Asadi <[email protected]>

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Raul Torres <[email protected]>

* Auto update version from '0.36.0-dev29' to '0.36.0-dev36'

* fix source for linux_x86_64_cuda

* Auto update version from '0.36.0-dev37' to '0.36.0-dev36'

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* format

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

* update changelog

* Update .github/workflows/wheel_linux_aarch64.yml

* Update .github/workflows/wheel_linux_ppc64le.yml

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Raul Torres <[email protected]>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
multiphaseCFD pushed a commit that referenced this pull request May 7, 2024
* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

---------

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: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
multiphaseCFD pushed a commit that referenced this pull request May 7, 2024
* update version

* update gcc and containers for linux_x86_64

* trigger CIs

* test Engine

* try removing podman

* try alternative path for docker

* y

* priviledged container

* aarch64

* build wheels

* dnf->yum

* install dependencies (apt)

* update container

* update and build ppc64le wheels

* update and build x86_64_cuda wheels

* update config-manager

* add install dnf-utils

* Auto update version

* update dev version

* move dnf-utils

* set cuda repository to AlmaLinux

* make gcc 12

* Auto update version

* trigger ci

* upload artifacts

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Ali Asadi <[email protected]>

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Raul Torres <[email protected]>

* Auto update version from '0.36.0-dev29' to '0.36.0-dev36'

* fix source for linux_x86_64_cuda

* Auto update version from '0.36.0-dev37' to '0.36.0-dev36'

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* format

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

* update changelog

* Update .github/workflows/wheel_linux_aarch64.yml

* Update .github/workflows/wheel_linux_ppc64le.yml

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Raul Torres <[email protected]>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
mlxd added a commit that referenced this pull request May 7, 2024
* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* Split OMP builds using matrix.

* trigger ci

* Ignore .github but not self.

* Fix cd..

* Fix path

* Update changelog [skip ci]

* Revert changes to reqs.txt

* Auto update version from '0.37.0-dev0' to '0.37.0-dev2'

* Auto update version from '0.37.0-dev1' to '0.37.0-dev2'

* Update .github/CHANGELOG.md

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

* Update .github/CHANGELOG.md

Co-authored-by: Ali Asadi <[email protected]>

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
multiphaseCFD pushed a commit that referenced this pull request May 7, 2024
* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* Split OMP builds using matrix.

* trigger ci

* Ignore .github but not self.

* Fix cd..

* Fix path

* Update changelog [skip ci]

* Revert changes to reqs.txt

* Auto update version from '0.37.0-dev0' to '0.37.0-dev2'

* Auto update version from '0.37.0-dev1' to '0.37.0-dev2'

* Update .github/CHANGELOG.md

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

* Update .github/CHANGELOG.md

Co-authored-by: Ali Asadi <[email protected]>

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
mlxd added a commit that referenced this pull request May 14, 2024
* init commit

* Auto update version from '0.36.0-dev44' to '0.36.0-dev46'

* typo fix

* fix last blank line error

* fix codecov warnings

* fix CI & change ctor interface

* remove unused methods

* tidy up code and add more unit tests

* add testhelper & tidy up code

* fix typo

* set PL_TENSOR in the root cmakelists

* add more tests for tensor classes

* make format

* fix sitesExtents_ init & add mpscutn tests

* only test cutnmps cpp layer

* further tidy up code

* update MPS ctor

* refactor MPSCutn to allow easy TN extension

* move methods to CutnBase class & rename maxextent

* update docstring

* turn on all ci unit tests

* fix codefactor complaining

* add changelog

* Trigger CI

* quick fix for getFreeMemorySize

* fix based on some comments

* size_t->std::size_t

* set computeState() as protected & make format

* copy ctor -> std::move

* safer store for ptr to sitesExtents and tensor

* std::vector<void*> ->std::vector<uint64_t*>

* update base on comments

* update docstring

* update memory set

* make format

* size_t->std::size_t for ->GENERATE

* Auto update version from '0.36.0-dev46' to '0.36.0-dev48'

* On-Board Lightning Linux workflows (that are run on PRs) to large runners based on label (#700)

* Try on-boarding to large runner

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Remove usage of runner.os in job name

* Fix invalid runs-on

* Remove usage of runner.os in job name

* Trigger CI

* Fix inputs.run-on for build&cache kokkos

* Trigger CI

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

---------

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

* Port PR #705 changes (#711)

* port PR #705 changes

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Update pennylane_lightning/lightning_qubit/lightning_qubit.py

Co-authored-by: Ali Asadi <[email protected]>

* Trigger CIs

* fix CodeFactor fail

* fix CodeFactor fail

* fix CodeFactor fail

* Auto update version from '0.36.0-dev46' to '0.36.0-dev47'

---------

Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* fix naming comments and drop initHelper_()

* move MPSStatus to MPS class & update docstrings

* udpate tensornetbase ctor

* Auto update version from '0.36.0-dev48' to '0.36.0-dev49'

* enum to c++ style

* update unit tests

* update class name cutn->TNCuda

* Auto update version from '0.36.0-dev49' to '0.37.0-dev2'

* Syncing master with V0.36.0 branch (#715)

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

---------

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: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Update Linux wheels to use manylinux_2_28 (#667)

* update version

* update gcc and containers for linux_x86_64

* trigger CIs

* test Engine

* try removing podman

* try alternative path for docker

* y

* priviledged container

* aarch64

* build wheels

* dnf->yum

* install dependencies (apt)

* update container

* update and build ppc64le wheels

* update and build x86_64_cuda wheels

* update config-manager

* add install dnf-utils

* Auto update version

* update dev version

* move dnf-utils

* set cuda repository to AlmaLinux

* make gcc 12

* Auto update version

* trigger ci

* upload artifacts

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Ali Asadi <[email protected]>

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Raul Torres <[email protected]>

* Auto update version from '0.36.0-dev29' to '0.36.0-dev36'

* fix source for linux_x86_64_cuda

* Auto update version from '0.36.0-dev37' to '0.36.0-dev36'

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* format

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

* update changelog

* Update .github/workflows/wheel_linux_aarch64.yml

* Update .github/workflows/wheel_linux_ppc64le.yml

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Raul Torres <[email protected]>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* change filename

* make format

* Auto update version from '0.37.0-dev2' to '0.37.0-dev3'

* change path name

* Accelerate CI parallelizing over OMP configs (#712)

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* Split OMP builds using matrix.

* trigger ci

* Ignore .github but not self.

* Fix cd..

* Fix path

* Update changelog [skip ci]

* Revert changes to reqs.txt

* Auto update version from '0.37.0-dev0' to '0.37.0-dev2'

* Auto update version from '0.37.0-dev1' to '0.37.0-dev2'

* Update .github/CHANGELOG.md

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

* Update .github/CHANGELOG.md

Co-authored-by: Ali Asadi <[email protected]>

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>

* add changelog

* Auto update version from '0.37.0-dev3' to '0.37.0-dev4'

* fix multiple reset()/setbasisstate() & resolve comments

* add blank lines to the end of each file

* Auto update version from '0.37.0-dev8' to '0.37.0-dev9'

* Auto update version from '0.37.0-dev9' to '0.37.0-dev10'

---------

Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Raul Torres <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>
multiphaseCFD added a commit that referenced this pull request May 16, 2024
* init commit

* Auto update version from '0.36.0-dev44' to '0.36.0-dev46'

* typo fix

* fix last blank line error

* fix codecov warnings

* fix CI & change ctor interface

* remove unused methods

* tidy up code and add more unit tests

* add testhelper & tidy up code

* fix typo

* set PL_TENSOR in the root cmakelists

* add more tests for tensor classes

* make format

* fix sitesExtents_ init & add mpscutn tests

* only test cutnmps cpp layer

* further tidy up code

* update MPS ctor

* refactor MPSCutn to allow easy TN extension

* move methods to CutnBase class & rename maxextent

* update docstring

* turn on all ci unit tests

* fix codefactor complaining

* add changelog

* Trigger CI

* quick fix for getFreeMemorySize

* fix based on some comments

* size_t->std::size_t

* set computeState() as protected & make format

* copy ctor -> std::move

* safer store for ptr to sitesExtents and tensor

* std::vector<void*> ->std::vector<uint64_t*>

* update base on comments

* update docstring

* update memory set

* make format

* size_t->std::size_t for ->GENERATE

* Auto update version from '0.36.0-dev46' to '0.36.0-dev48'

* On-Board Lightning Linux workflows (that are run on PRs) to large runners based on label (#700)

* Try on-boarding to large runner

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Remove usage of runner.os in job name

* Fix invalid runs-on

* Remove usage of runner.os in job name

* Trigger CI

* Fix inputs.run-on for build&cache kokkos

* Trigger CI

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

---------

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

* Port PR #705 changes (#711)

* port PR #705 changes

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Update pennylane_lightning/lightning_qubit/lightning_qubit.py

Co-authored-by: Ali Asadi <[email protected]>

* Trigger CIs

* fix CodeFactor fail

* fix CodeFactor fail

* fix CodeFactor fail

* Auto update version from '0.36.0-dev46' to '0.36.0-dev47'

---------

Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* fix naming comments and drop initHelper_()

* move MPSStatus to MPS class & update docstrings

* udpate tensornetbase ctor

* Auto update version from '0.36.0-dev48' to '0.36.0-dev49'

* enum to c++ style

* update unit tests

* update class name cutn->TNCuda

* Auto update version from '0.36.0-dev49' to '0.37.0-dev2'

* Syncing master with V0.36.0 branch (#715)

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

---------

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: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Update Linux wheels to use manylinux_2_28 (#667)

* update version

* update gcc and containers for linux_x86_64

* trigger CIs

* test Engine

* try removing podman

* try alternative path for docker

* y

* priviledged container

* aarch64

* build wheels

* dnf->yum

* install dependencies (apt)

* update container

* update and build ppc64le wheels

* update and build x86_64_cuda wheels

* update config-manager

* add install dnf-utils

* Auto update version

* update dev version

* move dnf-utils

* set cuda repository to AlmaLinux

* make gcc 12

* Auto update version

* trigger ci

* upload artifacts

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Ali Asadi <[email protected]>

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Raul Torres <[email protected]>

* Auto update version from '0.36.0-dev29' to '0.36.0-dev36'

* fix source for linux_x86_64_cuda

* Auto update version from '0.36.0-dev37' to '0.36.0-dev36'

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* format

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

* update changelog

* Update .github/workflows/wheel_linux_aarch64.yml

* Update .github/workflows/wheel_linux_ppc64le.yml

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Raul Torres <[email protected]>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* change filename

* make format

* Auto update version from '0.37.0-dev2' to '0.37.0-dev3'

* change path name

* Accelerate CI parallelizing over OMP configs (#712)

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* Split OMP builds using matrix.

* trigger ci

* Ignore .github but not self.

* Fix cd..

* Fix path

* Update changelog [skip ci]

* Revert changes to reqs.txt

* Auto update version from '0.37.0-dev0' to '0.37.0-dev2'

* Auto update version from '0.37.0-dev1' to '0.37.0-dev2'

* Update .github/CHANGELOG.md

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

* Update .github/CHANGELOG.md

Co-authored-by: Ali Asadi <[email protected]>

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>

* add changelog

* Auto update version from '0.37.0-dev3' to '0.37.0-dev4'

* fix multiple reset()/setbasisstate() & resolve comments

* add blank lines to the end of each file

* Auto update version from '0.37.0-dev8' to '0.37.0-dev9'

* Auto update version from '0.37.0-dev9' to '0.37.0-dev10'

---------

Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Raul Torres <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>
PietropaoloFrisoni added a commit to PennyLaneAI/pennylane that referenced this pull request May 23, 2024
…ce in PL lightning (#5699)

**Context:** This PR moves part of the `lightning.tensor` device from
PennyLane lightning to PennyLane. Such a device was introduced
originally in the following pull requests:
[1](PennyLaneAI/pennylane-lightning#671) and
[2](PennyLaneAI/pennylane-lightning#686). Due to
requirements change, it has been decided to create an additional
`default.tensor` device and move it to the PennyLane repository.
Specifically, we move the `quimb` interface and the corresponding Python
implementation of `lightning.tensor` into `default.tensor`. For
reference, the PR removing such a component from `lightning.tensor` is
[here](PennyLaneAI/pennylane-lightning#737).

*Please note that the full documentation for such a device will be added
in a following PR*

**Description of the Change:** As above.

**Benefits:** Having two separate devices simplifies the distinction
between the C++ and the Python components. The relationship between
`lightning.tensor` and `default.tensor` will be similar to that between
`lightning.qubit` and `default.qubit`.

**Possible Drawbacks:** None with the existing code, since this is a new
quantum device.

**Related GitHub Issues:** None.

**Related Shortcut Stories:**
[sc-63256]
[sc-62979]

---------

Co-authored-by: albi3ro <[email protected]>
mlxd added a commit that referenced this pull request May 28, 2024
* init commit

* Auto update version from '0.36.0-dev44' to '0.36.0-dev46'

* typo fix

* fix last blank line error

* fix codecov warnings

* fix CI & change ctor interface

* remove unused methods

* tidy up code and add more unit tests

* add testhelper & tidy up code

* fix typo

* set PL_TENSOR in the root cmakelists

* add more tests for tensor classes

* make format

* fix sitesExtents_ init & add mpscutn tests

* only test cutnmps cpp layer

* further tidy up code

* update MPS ctor

* refactor MPSCutn to allow easy TN extension

* move methods to CutnBase class & rename maxextent

* update docstring

* turn on all ci unit tests

* fix codefactor complaining

* add changelog

* Trigger CI

* quick fix for getFreeMemorySize

* fix based on some comments

* size_t->std::size_t

* set computeState() as protected & make format

* copy ctor -> std::move

* safer store for ptr to sitesExtents and tensor

* std::vector<void*> ->std::vector<uint64_t*>

* update base on comments

* update docstring

* update memory set

* make format

* size_t->std::size_t for ->GENERATE

* Auto update version from '0.36.0-dev46' to '0.36.0-dev48'

* On-Board Lightning Linux workflows (that are run on PRs) to large runners based on label (#700)

* Try on-boarding to large runner

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Remove usage of runner.os in job name

* Fix invalid runs-on

* Remove usage of runner.os in job name

* Trigger CI

* Fix inputs.run-on for build&cache kokkos

* Trigger CI

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

---------

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

* Port PR #705 changes (#711)

* port PR #705 changes

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Update pennylane_lightning/lightning_qubit/lightning_qubit.py

Co-authored-by: Ali Asadi <[email protected]>

* Trigger CIs

* fix CodeFactor fail

* fix CodeFactor fail

* fix CodeFactor fail

* Auto update version from '0.36.0-dev46' to '0.36.0-dev47'

---------

Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* fix naming comments and drop initHelper_()

* move MPSStatus to MPS class & update docstrings

* udpate tensornetbase ctor

* Auto update version from '0.36.0-dev48' to '0.36.0-dev49'

* enum to c++ style

* update unit tests

* update class name cutn->TNCuda

* Auto update version from '0.36.0-dev49' to '0.37.0-dev2'

* Syncing master with V0.36.0 branch (#715)

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

---------

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: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Update Linux wheels to use manylinux_2_28 (#667)

* update version

* update gcc and containers for linux_x86_64

* trigger CIs

* test Engine

* try removing podman

* try alternative path for docker

* y

* priviledged container

* aarch64

* build wheels

* dnf->yum

* install dependencies (apt)

* update container

* update and build ppc64le wheels

* update and build x86_64_cuda wheels

* update config-manager

* add install dnf-utils

* Auto update version

* update dev version

* move dnf-utils

* set cuda repository to AlmaLinux

* make gcc 12

* Auto update version

* trigger ci

* upload artifacts

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Ali Asadi <[email protected]>

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Raul Torres <[email protected]>

* Auto update version from '0.36.0-dev29' to '0.36.0-dev36'

* fix source for linux_x86_64_cuda

* Auto update version from '0.36.0-dev37' to '0.36.0-dev36'

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* format

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

* update changelog

* Update .github/workflows/wheel_linux_aarch64.yml

* Update .github/workflows/wheel_linux_ppc64le.yml

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Raul Torres <[email protected]>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* change filename

* make format

* Auto update version from '0.37.0-dev2' to '0.37.0-dev3'

* change path name

* Accelerate CI parallelizing over OMP configs (#712)

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* Split OMP builds using matrix.

* trigger ci

* Ignore .github but not self.

* Fix cd..

* Fix path

* Update changelog [skip ci]

* Revert changes to reqs.txt

* Auto update version from '0.37.0-dev0' to '0.37.0-dev2'

* Auto update version from '0.37.0-dev1' to '0.37.0-dev2'

* Update .github/CHANGELOG.md

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

* Update .github/CHANGELOG.md

Co-authored-by: Ali Asadi <[email protected]>

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>

* Initial commit

* add changelog

* Auto update version from '0.37.0-dev3' to '0.37.0-dev4'

* refactor TNCudaGateCache & add appendGateTensorOperator

* add tests for 1 & 2 qubits gates

* add unit tests for 3 qubit gates & update compute state

* tidy up getDataVector() and remove once call limitation

* tidy up code

* fix multiple reset()/setbasisstate() & resolve comments

* add gates sub_directory to build

* add initial unit tests for parametric gates

* add ising gates

* update version

* add controlledPhaseShift

* add all the parametric gates besides multiRZ

* Test unsupported gate

* allow passing matrix on host to device as operator

* add changelog

* col-major for LGPU and row-major for LTN

* Trigger CI

* Auto update version from '0.37.0-dev9' to '0.37.0-dev10'

* tidy up code

* Auto update version from '0.37.0-dev10' to '0.37.0-dev14'

* Add `MPSTNCuda` class (#704)

* init commit

* Auto update version from '0.36.0-dev44' to '0.36.0-dev46'

* typo fix

* fix last blank line error

* fix codecov warnings

* fix CI & change ctor interface

* remove unused methods

* tidy up code and add more unit tests

* add testhelper & tidy up code

* fix typo

* set PL_TENSOR in the root cmakelists

* add more tests for tensor classes

* make format

* fix sitesExtents_ init & add mpscutn tests

* only test cutnmps cpp layer

* further tidy up code

* update MPS ctor

* refactor MPSCutn to allow easy TN extension

* move methods to CutnBase class & rename maxextent

* update docstring

* turn on all ci unit tests

* fix codefactor complaining

* add changelog

* Trigger CI

* quick fix for getFreeMemorySize

* fix based on some comments

* size_t->std::size_t

* set computeState() as protected & make format

* copy ctor -> std::move

* safer store for ptr to sitesExtents and tensor

* std::vector<void*> ->std::vector<uint64_t*>

* update base on comments

* update docstring

* update memory set

* make format

* size_t->std::size_t for ->GENERATE

* Auto update version from '0.36.0-dev46' to '0.36.0-dev48'

* On-Board Lightning Linux workflows (that are run on PRs) to large runners based on label (#700)

* Try on-boarding to large runner

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Remove usage of runner.os in job name

* Fix invalid runs-on

* Remove usage of runner.os in job name

* Trigger CI

* Fix inputs.run-on for build&cache kokkos

* Trigger CI

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

---------

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

* Port PR #705 changes (#711)

* port PR #705 changes

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Update pennylane_lightning/lightning_qubit/lightning_qubit.py

Co-authored-by: Ali Asadi <[email protected]>

* Trigger CIs

* fix CodeFactor fail

* fix CodeFactor fail

* fix CodeFactor fail

* Auto update version from '0.36.0-dev46' to '0.36.0-dev47'

---------

Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* fix naming comments and drop initHelper_()

* move MPSStatus to MPS class & update docstrings

* udpate tensornetbase ctor

* Auto update version from '0.36.0-dev48' to '0.36.0-dev49'

* enum to c++ style

* update unit tests

* update class name cutn->TNCuda

* Auto update version from '0.36.0-dev49' to '0.37.0-dev2'

* Syncing master with V0.36.0 branch (#715)

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

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

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <[email protected]>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Amintor Dusko <[email protected]>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

---------

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: ringo-but-quantum <[email protected]>
Co-authored-by: Rashid N H M <[email protected]>
Co-authored-by: Pietropaolo Frisoni <[email protected]>
Co-authored-by: Ali Asadi <[email protected]>
Co-authored-by: Christina Lee <[email protected]>
Co-authored-by: Lee James O'Riordan <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>

* Update Linux wheels to use manylinux_2_28 (#667)

* update version

* update gcc and containers for linux_x86_64

* trigger CIs

* test Engine

* try removing podman

* try alternative path for docker

* y

* priviledged container

* aarch64

* build wheels

* dnf->yum

* install dependencies (apt)

* update container

* update and build ppc64le wheels

* update and build x86_64_cuda wheels

* update config-manager

* add install dnf-utils

* Auto update version

* update dev version

* move dnf-utils

* set cuda repository to AlmaLinux

* make gcc 12

* Auto update version

* trigger ci

* upload artifacts

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Ali Asadi <[email protected]>

* Update .github/workflows/wheel_linux_x86_64.yml

Co-authored-by: Raul Torres <[email protected]>

* Auto update version from '0.36.0-dev29' to '0.36.0-dev36'

* fix source for linux_x86_64_cuda

* Auto update version from '0.36.0-dev37' to '0.36.0-dev36'

* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* format

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <[email protected]>
Co-authored-by: AmintorDusko <[email protected]>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto …
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.

8 participants