Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add more AVX2/512 gate implementations #393

Merged
merged 53 commits into from
Feb 7, 2023
Merged

Conversation

chaeyeunpark
Copy link
Contributor

@chaeyeunpark chaeyeunpark commented Dec 12, 2022

Before submitting

Please complete the following checklist when submitting a PR:

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

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

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

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

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

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


Context:

Description of the Change:

Benefits:

Possible Drawbacks:

Related GitHub Issues:

commit 84e31bd
Author: Christina Lee <[email protected]>
Date:   Fri Sep 9 09:22:56 2022 -0700

    Defer op-arithmetic to default qubit (#349)

    * defer op-arithmetic to default qubit

    * Auto update version

    * tests, changelog, black

    * differentiation tests

    * black

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

commit 3b78924
Author: Matthew Silverman <[email protected]>
Date:   Tue Aug 30 08:48:53 2022 -0400

    remove `supports_reversible_diff` (#342)

    * remove unused option

    * Auto update version

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

commit 6958fb8
Author: Amintor Dusko <[email protected]>
Date:   Mon Aug 29 09:36:08 2022 -0400

    Quick fix for upload artifact for win (#346)

    * fix upload artifact for win

    * update changelog

commit 66429b0
Author: Rashid N H M <[email protected]>
Date:   Sat Aug 27 21:28:06 2022 -0400

    Updated ReadTheDocs bade to new url (#339)

    * Updated ReadTheDocs bade to new url

    * Auto update version

    * Auto update version

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

commit f1a6789
Author: Amintor Dusko <[email protected]>
Date:   Fri Aug 26 13:41:14 2022 -0400

    Update cancel-workflow-action and bot credentials (#345)

    * update bot credentials

    * update cancel-workflow-action

commit b594234
Author: Lee James O'Riordan <[email protected]>
Date:   Fri Aug 26 09:21:15 2022 -0400

    Update tagger bot for latest release (#344)

    * Update tagged CI for releases

    * Auto update version

    * Update changelog [skip_ci]

    Co-authored-by: Dev version update bot <[email protected]>

commit 8265edd
Author: Amintor Dusko <[email protected]>
Date:   Thu Aug 25 10:59:45 2022 -0400

    Caching Kokkos build for wheel-builds (#316)

    * introduce caching Kokkos for wheels

    * improve process_options file

    * isolate Kokkos installation

    * offload windows wheel build to cibuildwheel

    * update PennyLane-Lightning build

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

commit 2282f9f
Author: Chae-Yeun Park <[email protected]>
Date:   Wed Aug 24 10:07:59 2022 -0400

    Exclude AVX512 lines from codecov (#340)

    * Add expval(ham) forward

    * Fix namespace

    * Auto update version

    * Trigger CI

    * Unwrap ArrayBox

    * Format

    * Trigger CI

    * Remove irrelevant file

    * Update for CodeCov

    * Auto update version

    * Retry for AVX2

    * Retry for AVX2

    * Retry for AVX2

    * Retry for AVX2

    * Retry for AVX2

commit 9bad592
Author: Chae-Yeun Park <[email protected]>
Date:   Tue Aug 23 18:07:46 2022 -0400

    Add Hamiltonian expval in the forward path (#333)

    * Add expval(ham) forward

    * Fix namespace

    * Auto update version

    * Trigger CI

    * Unwrap ArrayBox

    * Format

    * Trigger CI

    * Auto update version

    * Remove irrelevant file

    * Auto update version

    * Update pennylane_lightning/src/algorithms/JacobianTape.hpp

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

    * Update changelog

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

commit c443592
Author: Josh Izaac <[email protected]>
Date:   Tue Aug 23 11:11:50 2022 -0400

    Update docs URL (#335)

    * Update docs URL

    * Auto update version

    * Auto update version

    * update navbar

    Co-authored-by: Dev version update bot <[email protected]>
    Co-authored-by: Amintor Dusko <[email protected]>

commit bc54a3e
Author: Josh Izaac <[email protected]>
Date:   Tue Aug 23 02:45:02 2022 +0800

    Update conf.py

commit 1e43ace
Author: Chae-Yeun Park <[email protected]>
Date:   Mon Aug 22 14:37:00 2022 -0400

    Fix measurement error message (#334)

    * Fix measurement error message

    * Reformat

    * Add Changelog

commit c15fa0d
Author: Amintor Dusko <[email protected]>
Date:   Thu Aug 18 10:06:32 2022 -0400

    Create a PennyLane-lightning requirements-dev.txt and update the Dockerfile (#330)

    * Create a requirements-dev.txt

    * Update tests and benchmarks

    * Improve dockerfile

commit 87538ec
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Aug 15 10:57:49 2022 -0400

    post release version bump (#331)

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

commit dc0d3b1
Author: Lee J. O'Riordan <[email protected]>
Date:   Thu Aug 11 13:03:58 2022 -0400

    Remove redundant Win ops and pin to WS2019

commit e5755d9
Author: Lee J. O'Riordan <[email protected]>
Date:   Thu Aug 11 11:39:24 2022 -0400

    Remove build base command

commit ba16ec9
Author: Lee J. O'Riordan <[email protected]>
Date:   Thu Aug 11 11:32:27 2022 -0400

    Downgrade Py3.10 version to avoid additional characters in build path

commit e3f8b4e
Author: Lee J. O'Riordan <[email protected]>
Date:   Thu Aug 11 11:19:56 2022 -0400

    Attempt updating Python installation package for Windows runner

commit 90c06cc
Author: Lee J. O'Riordan <[email protected]>
Date:   Thu Aug 11 11:00:55 2022 -0400

    Retry forcing longpaths for W10 build

commit 36abd9b
Author: Lee J. O'Riordan <[email protected]>
Date:   Thu Aug 11 10:38:24 2022 -0400

    Disable clone of Kokkos submodules to allow Windows builds to proceed

commit becd10c
Author: Lee J. O'Riordan <[email protected]>
Date:   Thu Aug 11 08:45:43 2022 -0400

    Fix changelog++

commit c321d34
Author: Lee J. O'Riordan <[email protected]>
Date:   Thu Aug 11 08:44:12 2022 -0400

    Fix changelog

commit c198a5d
Author: Lee J. O'Riordan <[email protected]>
Date:   Tue Aug 9 12:10:44 2022 -0400

    Update version string

    Signed-off-by: Lee J. O'Riordan <[email protected]>

commit 2dd4b80
Author: Lee J. O'Riordan <[email protected]>
Date:   Tue Aug 9 12:08:50 2022 -0400

    Update changelog
@github-actions
Copy link
Contributor

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

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

@chaeyeunpark
Copy link
Contributor Author

This PR targets the next release (next year) 😄

@codecov
Copy link

codecov bot commented Dec 12, 2022

Codecov Report

Merging #393 (1ec56f1) into master (cfe0339) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #393   +/-   ##
=======================================
  Coverage   99.88%   99.88%           
=======================================
  Files          49       49           
  Lines        4459     4505   +46     
=======================================
+ Hits         4454     4500   +46     
  Misses          5        5           
Impacted Files Coverage Δ
pennylane_lightning/_version.py 100.00% <100.00%> (ø)
...gates/cpu_kernels/GateImplementationsAVXCommon.hpp 100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@chaeyeunpark chaeyeunpark changed the title [WIP] Finalize avx kernels [WIP] Add more AVX2/512 gate implementations Dec 13, 2022
@chaeyeunpark chaeyeunpark changed the title [WIP] Add more AVX2/512 gate implementations Add more AVX2/512 gate implementations Jan 3, 2023
@chaeyeunpark chaeyeunpark marked this pull request as ready for review January 3, 2023 18:09
@chaeyeunpark chaeyeunpark requested a review from a team January 3, 2023 18:28
@multiphaseCFD
Copy link
Member

Thanks for the nice work @chaeyeunpark!

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.

Nice work @chaeyeunpark
I have a few suggestions and a few questions, but looks good:

@chaeyeunpark
Copy link
Contributor Author

Thanks, @mlxd, for a prompt review. I just applied all the suggested changes. 👍

@multiphaseCFD
Copy link
Member

Thanks @chaeyeunpark for the great job. Will approve it after all CI checks passed.

@chaeyeunpark
Copy link
Contributor Author

Add more AVX2 512 gates [sc-22465]

Copy link
Contributor

@AmintorDusko AmintorDusko left a comment

Choose a reason for hiding this comment

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

I left some suggestions.
Also, I would like to call attention to the fact that we can do better in terms of overall documentation.

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 @chaeyeunpark
Happy to see this complete, well done.

I think we may want a follow-on PR or two to help understand the architecture and design herein, as I still do not grasp some aspects of what is going on. Let's merge this PR in first, then expand all the docs (class interactions, overall hierarchies, and needs to implement support).

@chaeyeunpark
Copy link
Contributor Author

Thanks all! As @mlxd suggested, I will merge this first and update the documents in following PRs.

Copy link
Contributor

@AmintorDusko AmintorDusko left a comment

Choose a reason for hiding this comment

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

Excellent work so far.
I'm approving this PR, but looking forward to other PR(s) where we can improve the documentation.

Co-authored-by: Amintor Dusko <[email protected]>
@chaeyeunpark chaeyeunpark merged commit d6eb549 into master Feb 7, 2023
@chaeyeunpark chaeyeunpark deleted the finalize_avx_kernels branch February 7, 2023 15:01
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.

4 participants