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

Port fixed point library to modern QDK #1838

Merged
merged 30 commits into from
Aug 29, 2024
Merged

Port fixed point library to modern QDK #1838

merged 30 commits into from
Aug 29, 2024

Conversation

sezna
Copy link
Contributor

@sezna sezna commented Aug 13, 2024

This PR ports the classic QDK FixedPoint library to the modern QDK. There is still some work to be done (a README, some tests), but this is a good MVP for the library to go in 1.8.

@sezna sezna changed the title Alex/fixed point lib [WIP] Port fixed point library to modern QDK Aug 13, 2024
@sezna sezna marked this pull request as ready for review August 21, 2024 17:26
Copy link

Benchmark for c440ce1

Click to view benchmark
Test Base PR %
Array append evaluation 338.8±4.96µs 337.8±1.62µs -0.30%
Array literal evaluation 170.5±4.29µs 168.4±1.37µs -1.23%
Array update evaluation 417.6±11.69µs 416.3±5.59µs -0.31%
Core + Standard library compilation 22.7±1.14ms 24.3±0.69ms +7.05%
Deutsch-Jozsa evaluation 5.0±0.17ms 5.0±0.26ms 0.00%
Large file parity evaluation 34.4±0.44ms 34.4±0.51ms 0.00%
Large input file compilation 13.9±0.48ms 15.0±0.65ms +7.91%
Large input file compilation (interpreter) 50.6±0.84ms 54.4±1.76ms +7.51%
Large nested iteration 32.8±1.04ms 33.0±0.22ms +0.61%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1560.8±30.08µs 1586.0±74.82µs +1.61%
Perform Runtime Capabilities Analysis (RCA) on large file sample 8.0±0.36ms 8.1±0.14ms +1.25%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1426.9±28.90µs 1454.7±111.61µs +1.95%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 27.7±0.23ms 28.3±1.18ms +2.17%
Teleport evaluation 93.2±3.59µs 94.5±6.24µs +1.39%

@sezna sezna changed the title [WIP] Port fixed point library to modern QDK Port fixed point library to modern QDK Aug 21, 2024
@sezna sezna marked this pull request as draft August 22, 2024 02:21
@sezna sezna marked this pull request as ready for review August 26, 2024 21:49
library/fixed_point/qsharp.json Fixed Show fixed Hide fixed
library/fixed_point/qsharp.json Fixed Show fixed Hide fixed
github-merge-queue bot pushed a commit that referenced this pull request Aug 26, 2024
I forgot to export this as a part of the API in the initial PR (#1841).
This is needed in the Fixed Point library (#1838).
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 with two minor nitpicks.

library/fixed_point/qsharp.json Outdated Show resolved Hide resolved
library/fixed_point/src/Operations.qs Show resolved Hide resolved
sezna and others added 2 commits August 29, 2024 16:28
@sezna sezna enabled auto-merge August 29, 2024 23:32
@sezna sezna added this pull request to the merge queue Aug 29, 2024
Merged via the queue into main with commit 78ad29e Aug 29, 2024
18 checks passed
@sezna sezna deleted the alex/fixed-point-lib branch August 29, 2024 23:57
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