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

Added dot product via iterative phase estimation sample #1562

Merged
merged 6 commits into from
Jun 4, 2024

Conversation

DmitryVasilevsky
Copy link
Contributor

@DmitryVasilevsky DmitryVasilevsky commented May 23, 2024

This sample includes two version. The version for Unrestricted profile computes actual dot product using floating point numbers and is not suitable for current hardware. The version for Adaptive profile doesn't include floating point calculations and only provides estimation for the dot product. Multiple shots can be used to calculate it more precisely.
Original code is Copyright (c) 2023 KPMG Australia.

Copy link

Benchmark for d97729c

Click to view benchmark
Test Base PR %
Array append evaluation 338.3±13.24µs 328.4±8.21µs -2.93%
Array literal evaluation 192.5±1.71µs 189.8±1.92µs -1.40%
Array update evaluation 417.3±3.31µs 410.1±1.96µs -1.73%
Core + Standard library compilation 18.9±1.03ms 18.6±0.13ms -1.59%
Deutsch-Jozsa evaluation 5.1±0.05ms 5.1±0.05ms 0.00%
Large file parity evaluation 34.0±1.14ms 34.0±0.31ms 0.00%
Large input file compilation 12.6±0.25ms 12.5±0.15ms -0.79%
Large input file compilation (interpreter) 48.6±2.18ms 46.3±1.01ms -4.73%
Large nested iteration 33.2±1.44ms 32.4±0.45ms -2.41%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1567.8±65.57µs 1560.7±43.95µs -0.45%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.7±0.18ms 7.6±0.08ms -1.30%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1420.7±45.77µs 1425.0±56.67µs +0.30%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 27.9±0.12ms 27.8±0.20ms -0.36%
Teleport evaluation 87.6±3.84µs 88.1±3.64µs +0.57%

Copy link

Benchmark for 15e2e90

Click to view benchmark
Test Base PR %
Array append evaluation 350.2±8.63µs 333.7±4.44µs -4.71%
Array literal evaluation 180.3±14.53µs 176.8±0.81µs -1.94%
Array update evaluation 426.6±3.43µs 412.1±5.32µs -3.40%
Core + Standard library compilation 18.5±0.09ms 18.5±0.11ms 0.00%
Deutsch-Jozsa evaluation 5.1±0.08ms 5.1±0.05ms 0.00%
Large file parity evaluation 33.9±0.10ms 33.9±0.43ms 0.00%
Large input file compilation 12.2±0.10ms 12.4±0.26ms +1.64%
Large input file compilation (interpreter) 45.3±0.60ms 45.6±0.82ms +0.66%
Large nested iteration 34.1±1.18ms 32.5±0.20ms -4.69%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1564.1±43.92µs 1570.7±94.06µs +0.42%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.6±0.07ms 7.7±0.08ms +1.32%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1425.6±42.86µs 1424.2±28.35µs -0.10%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 27.8±0.13ms 27.8±0.19ms 0.00%
Teleport evaluation 88.0±3.70µs 90.1±4.03µs +2.39%

Copy link

github-actions bot commented Jun 3, 2024

Benchmark for 70124bc

Click to view benchmark
Test Base PR %
Array append evaluation 333.1±2.25µs 333.1±3.42µs 0.00%
Array literal evaluation 189.4±0.57µs 184.2±0.80µs -2.75%
Array update evaluation 410.6±1.24µs 411.2±1.19µs +0.15%
Core + Standard library compilation 20.4±0.77ms 20.3±0.84ms -0.49%
Deutsch-Jozsa evaluation 5.1±0.05ms 5.1±0.09ms 0.00%
Large file parity evaluation 34.2±0.10ms 34.1±0.26ms -0.29%
Large input file compilation 13.3±0.42ms 12.8±0.35ms -3.76%
Large input file compilation (interpreter) 50.1±1.23ms 49.7±1.05ms -0.80%
Large nested iteration 33.6±1.36ms 32.8±0.55ms -2.38%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1585.3±57.22µs 1593.8±107.70µs +0.54%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.9±0.13ms 7.9±0.11ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1465.5±157.66µs 1444.3±77.84µs -1.45%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 28.4±0.21ms 28.4±0.33ms 0.00%
Teleport evaluation 89.0±5.31µs 88.3±3.91µs -0.79%

Copy link

github-actions bot commented Jun 3, 2024

Benchmark for 844d772

Click to view benchmark
Test Base PR %
Array append evaluation 333.1±2.24µs 330.6±2.07µs -0.75%
Array literal evaluation 187.3±3.49µs 170.5±1.55µs -8.97%
Array update evaluation 411.0±2.17µs 408.2±3.41µs -0.68%
Core + Standard library compilation 21.0±0.68ms 20.9±0.79ms -0.48%
Deutsch-Jozsa evaluation 5.1±0.04ms 5.1±0.13ms 0.00%
Large file parity evaluation 34.1±0.13ms 34.1±0.07ms 0.00%
Large input file compilation 13.6±0.25ms 13.2±0.51ms -2.94%
Large input file compilation (interpreter) 51.0±1.58ms 50.4±1.28ms -1.18%
Large nested iteration 32.9±0.22ms 32.6±0.22ms -0.91%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1605.3±123.22µs 1585.1±79.69µs -1.26%
Perform Runtime Capabilities Analysis (RCA) on large file sample 8.1±0.11ms 7.9±0.10ms -2.47%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1461.6±93.33µs 1454.8±97.75µs -0.47%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 28.8±0.22ms 28.5±1.29ms -1.04%
Teleport evaluation 88.9±3.93µs 88.7±3.68µs -0.22%

@DmitryVasilevsky DmitryVasilevsky marked this pull request as ready for review June 4, 2024 06:36
Copy link

github-actions bot commented Jun 4, 2024

Benchmark for 6df3aca

Click to view benchmark
Test Base PR %
Array append evaluation 332.0±1.53µs 333.2±2.49µs +0.36%
Array literal evaluation 184.9±2.10µs 186.1±0.53µs +0.65%
Array update evaluation 411.0±2.00µs 410.5±2.11µs -0.12%
Core + Standard library compilation 18.6±0.32ms 20.9±0.93ms +12.37%
Deutsch-Jozsa evaluation 5.1±0.09ms 5.1±0.09ms 0.00%
Large file parity evaluation 34.1±0.13ms 34.1±0.10ms 0.00%
Large input file compilation 12.4±0.15ms 14.0±0.73ms +12.90%
Large input file compilation (interpreter) 46.3±0.80ms 52.9±1.47ms +14.25%
Large nested iteration 32.7±0.20ms 32.9±0.21ms +0.61%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1589.6±124.27µs 1621.7±145.57µs +2.02%
Perform Runtime Capabilities Analysis (RCA) on large file sample 8.1±0.12ms 8.1±0.15ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1423.0±29.26µs 1469.2±154.18µs +3.25%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 28.2±0.20ms 28.9±0.25ms +2.48%
Teleport evaluation 93.3±6.31µs 94.2±7.58µs +0.96%

Copy link
Collaborator

@swernli swernli left a comment

Choose a reason for hiding this comment

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

Looks good, thanks!

Co-authored-by: Stefan J. Wernli <swernli@microsoft.com>
Copy link

github-actions bot commented Jun 4, 2024

Benchmark for b7555cf

Click to view benchmark
Test Base PR %
Array append evaluation 333.9±5.52µs 335.7±2.75µs +0.54%
Array literal evaluation 186.1±1.49µs 170.8±0.72µs -8.22%
Array update evaluation 411.8±3.20µs 418.2±1.51µs +1.55%
Core + Standard library compilation 18.7±0.11ms 18.7±0.24ms 0.00%
Deutsch-Jozsa evaluation 5.0±0.05ms 5.1±0.15ms +2.00%
Large file parity evaluation 34.1±0.10ms 34.1±0.39ms 0.00%
Large input file compilation 12.4±0.40ms 12.4±0.15ms 0.00%
Large input file compilation (interpreter) 45.6±0.64ms 46.6±1.31ms +2.19%
Large nested iteration 33.2±1.36ms 33.7±0.15ms +1.51%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1569.3±30.78µs 1572.6±34.32µs +0.21%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.08ms 7.8±0.07ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1438.7±90.53µs 1423.5±34.40µs -1.06%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 28.0±0.13ms 28.1±0.55ms +0.36%
Teleport evaluation 88.9±4.17µs 88.3±3.62µs -0.67%

@DmitryVasilevsky DmitryVasilevsky added this pull request to the merge queue Jun 4, 2024
Merged via the queue into main with commit 8bbdf21 Jun 4, 2024
16 checks passed
@DmitryVasilevsky DmitryVasilevsky deleted the dmitryv/sample-dot-product branch June 4, 2024 23:09
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.

None yet

2 participants