Skip to content

Commit 81870b7

Browse files
multiphaseCFDringo-but-quantumrashidnhmvincentmrAmintorDusko
authored
Add NonParametric & Parametric Gates support to Lightning.Tensor (#718)
* 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 …
1 parent 3ba447a commit 81870b7

24 files changed

+2423
-78
lines changed

.github/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
### New features since last release
44

5+
* Add gate support to `cutensornet` backed `lightning.tensor` C++ layer.
6+
[(#718)](https://github.com/PennyLaneAI/pennylane-lightning/pull/718)
7+
58
* Add `cutensornet` backed `MPS` C++ layer to `lightning.tensor`.
69
[(#704)](https://github.com/PennyLaneAI/pennylane-lightning/pull/704)
710

pennylane_lightning/core/_version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@
1616
Version number (major.minor.patch[-label])
1717
"""
1818

19-
__version__ = "0.37.0-dev19"
19+
__version__ = "0.37.0-dev20"

pennylane_lightning/core/src/CMakeLists.txt

+4-8
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,10 @@ set(COMPONENT_SUBDIRS algorithms
1414
utils
1515
)
1616

17-
if("${PL_BACKEND}" STREQUAL "lightning_tensor")
18-
add_subdirectory(simulators)
19-
add_subdirectory(utils)
20-
else()
21-
foreach(COMP ${COMPONENT_SUBDIRS})
22-
add_subdirectory(${COMP})
23-
endforeach()
24-
endif()
17+
foreach(COMP ${COMPONENT_SUBDIRS})
18+
add_subdirectory(${COMP})
19+
endforeach()
20+
2521

2622
if (BUILD_TESTS)
2723
# Include macros supporting tests.

pennylane_lightning/core/src/algorithms/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ target_link_libraries(lightning_algorithms INTERFACE lightning_compile_option
1515
lightning_observables
1616
)
1717

18-
if (BUILD_TESTS)
18+
if (BUILD_TESTS AND NOT DEFINED PL_TENSOR)
1919
enable_testing()
2020
add_subdirectory("tests")
21-
endif()
21+
endif()

pennylane_lightning/core/src/measurements/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ target_link_libraries(lightning_measurements INTERFACE lightning_compile_option
1111
lightning_utils
1212
)
1313

14-
if (BUILD_TESTS)
14+
if (BUILD_TESTS AND NOT DEFINED PL_TENSOR)
1515
enable_testing()
1616
add_subdirectory("tests")
17-
endif()
17+
endif()

pennylane_lightning/core/src/observables/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ target_link_libraries(lightning_observables INTERFACE lightning_compile_option
1111
)
1212
set_property(TARGET lightning_observables PROPERTY POSITION_INDEPENDENT_CODE ON)
1313

14-
if (BUILD_TESTS)
14+
if (BUILD_TESTS AND NOT DEFINED PL_TENSOR)
1515
enable_testing()
1616
add_subdirectory("tests")
17-
endif()
17+
endif()

pennylane_lightning/core/src/simulators/base/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ target_link_libraries(lightning_base INTERFACE lightning_compile_options
1111

1212
set_property(TARGET lightning_base PROPERTY POSITION_INDEPENDENT_CODE ON)
1313

14-
if (BUILD_TESTS)
14+
if (BUILD_TESTS AND NOT DEFINED PL_TENSOR)
1515
enable_testing()
1616
add_subdirectory("tests")
17-
endif()
17+
endif()

pennylane_lightning/core/src/simulators/lightning_tensor/tensor/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ if("${PL_TENSOR_BACKEND}" STREQUAL "cutensornet" AND NOT TNCUDA_UTILS_ADDED)
1111
add_subdirectory(tncuda)
1212
target_include_directories(${PL_BACKEND}_tensor INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/tncuda)
1313
target_link_libraries(${PL_BACKEND}_tensor INTERFACE tensor_cuda)
14-
set(CUDA_UTILS_ADDED TRUE)
14+
set(TNCUDA_UTILS_ADDED TRUE)
1515
endif()
1616

1717
target_include_directories(${PL_BACKEND}_tensor INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/base)

pennylane_lightning/core/src/simulators/lightning_tensor/tensor/base/TensorBase.hpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
#pragma once
2121

22+
#include <functional>
2223
#include <vector>
2324

2425
#include "Error.hpp"
@@ -28,7 +29,7 @@ namespace Pennylane::LightningTensor {
2829
/**
2930
* @brief CRTP-enabled base class for tensor.
3031
*
31-
* @tparam Precision Floating point precision.
32+
* @tparam PrecisionT Floating point precision.
3233
* @tparam Derived Derived class to instantiate using CRTP.
3334
*/
3435
template <class PrecisionT, class Derived> class TensorBase {
@@ -44,7 +45,6 @@ template <class PrecisionT, class Derived> class TensorBase {
4445
: rank_(rank), modes_(modes), extents_(extents) {
4546
PL_ABORT_IF_NOT(rank_ == extents_.size(),
4647
"Please check if rank or extents are set correctly.");
47-
length_ = 1;
4848
length_ = std::accumulate(extents.begin(), extents.end(),
4949
std::size_t{1}, std::multiplies<>());
5050
}
@@ -79,7 +79,7 @@ template <class PrecisionT, class Derived> class TensorBase {
7979
/**
8080
* @brief Return the number of elements of a tensor object.
8181
*
82-
* @return std::vector<std::size_t> Number of elements of a tensor object.
82+
* @return std::size_t Number of elements of a tensor object.
8383
*/
8484
[[nodiscard]] std::size_t getLength() const { return length_; }
8585
};

pennylane_lightning/core/src/simulators/lightning_tensor/tensor/tncuda/TensorCuda.hpp

+9-4
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,19 @@
2727
#include "TensorBase.hpp"
2828
#include "cuda_helpers.hpp"
2929

30+
/// @cond DEV
3031
namespace {
3132
namespace cuUtil = Pennylane::LightningGPU::Util;
3233
using namespace Pennylane::LightningGPU;
3334
} // namespace
35+
/// @endcond
3436

3537
namespace Pennylane::LightningTensor::TNCuda {
3638

3739
/**
3840
* @brief CRTP-enabled class for CUDA-capable Tensor.
3941
*
40-
* @tparam Precision Floating point precision.
42+
* @tparam PrecisionT Floating point precision.
4143
*/
4244

4345
template <class PrecisionT>
@@ -61,14 +63,17 @@ class TensorCuda final : public TensorBase<PrecisionT, TensorCuda<PrecisionT>> {
6163
/**
6264
* @brief Explicitly copy data from GPU device to host memory.
6365
*
64-
* @param sv Complex data pointer to receive data from device.
66+
* @param host_tensor Complex data pointer to receive data from device.
67+
* @param length Number of elements to copy.
68+
* @param async If true, the copy is asynchronous. Only synchronous copy is
69+
* supported now.
6570
*/
66-
inline void CopyGpuDataToHost(std::complex<PrecisionT> *host_sv,
71+
inline void CopyGpuDataToHost(std::complex<PrecisionT> *host_tensor,
6772
std::size_t length,
6873
bool async = false) const {
6974
PL_ABORT_IF_NOT(BaseType::getLength() == length,
7075
"Sizes do not match for Host and GPU data");
71-
data_buffer_->CopyGpuDataToHost(host_sv, length, async);
76+
data_buffer_->CopyGpuDataToHost(host_tensor, length, async);
7277
}
7378

7479
DataBuffer<CFP_t> &getDataBuffer() { return *data_buffer_; }

pennylane_lightning/core/src/simulators/lightning_tensor/tncuda/CMakeLists.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ option(PL_DISABLE_CUDA_SAFETY "Build without CUDA call safety checks" OFF)
3737

3838
target_link_libraries(${PL_TENSOR} PUBLIC lightning_compile_options
3939
lightning_external_libs
40-
${PL_BACKEND}_utils
40+
${PL_BACKEND}_gates
4141
${PL_BACKEND}_tensor
4242
${PL_BACKEND}_tensornetBase
43+
${PL_BACKEND}_utils
4344
)
4445

4546
target_include_directories(${PL_TENSOR} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
@@ -57,6 +58,7 @@ endif()
5758
# Include all nested sources directories
5859
###############################################################################
5960
set(COMPONENT_SUBDIRS base
61+
gates
6062
utils
6163
)
6264
foreach(COMP ${COMPONENT_SUBDIRS})

0 commit comments

Comments
 (0)