Skip to content

Releases: unitaryfund/qrack

QBDD and stabilizer optimization

08 Sep 19:25
Compare
Choose a tag to compare

QBDD and stabilizer methods have been optimized. An incorrect initialization of a default QEngine property was also fixed in the default constructor (though the incorrect initialization likely had no consequence). Thanks to @eltociear, for fixing a documentation typo.

What's Changed

New Contributors

Full Changelog: vm6502q.v9.9.33...vm6502q.v9.9.37

sha1sum results:
0414c5f161399be0ab1ddeaacc6db63c251e27d8 libqrack-macosx_14_0_arm64.zip
6abd0137b202d83a606dd1231e599c803a273ede libqrack-manylinux2014_x86_64.zip
b11b75ea442dcbf93215b1b674c1c121d7222e93 libqrack-manylinux_2_35_x86_64.zip
5dcf2c19b0cd52d189ae370c372f95ff8b7b703d libqrack-manylinux_2_39_x86_64.zip
aea03051ff888f9c7ef5f553f89b91e971113e25 libqrack-win-amd64.zip

QBdt and BigInteger debugging and performance

04 Sep 15:13
Compare
Choose a tag to compare

QBdt and BigInteger (alias bitCapInt) have been debugged. Additionally, one should see drastically improved performance with QBdt (despite significantly reduced parallelism utilization). Systemically, on GNU/Linux, the bitCapInt type now uses 128-bit "words" rather than 64-bit words, which should lead to some performance improvement.

Note that previous releases were almost universally built with capacity for 4095 qubits in a single simulator instance; in practicality, little besides stabilizer simulation can take advantage of the vast majority of this addressing capacity. This release limits to 127 qubits in a single simulator instance, but this is a "feasible" width for Qrack approximation techniques, and performance benefits from the change.

Full Changelog: vm6502q.v9.9.28...vm6502q.v9.9.33

sha1sum results:
9ba920d97dad5f875eddcd6173b24fd1fcda0753 libqrack-macosx_14_0_arm64.zip
6998bd6e194453e572c72b79b523205d3c9869fa libqrack-manylinux2014_x86_64.zip
eb71b04fb850d2e0a7e711a2b323ed1785cdf8b2 libqrack-manylinux_2_35_x86_64.zip
cb62ec1a7ad04aa2872651043e1982e52c46a2d1 libqrack-manylinux_2_39_x86_64.zip
8253231acf756d7a129cdb1a751bc76881a61238 libqrack-win-amd64.zip

Stable maintenance release (debugging and style)

30 Aug 18:43
Compare
Choose a tag to compare

The past couple of months have seen almost exclusively style and debugging changes in Qrack. (We experimented with fixed-point math for certain applications, but it was only suitable on GNU/Linux, and the experiments mostly proved we are better leaving out fixed-point for now.) This release compared the current head of main branch to the state of Qrack about 2 months ago and whittled down the diff to a small and trustworthy set of bug fixes and adjustments according to style guide.

This release might constitute a relatively "complete" state of the core Qrack project, for a significant amount of time into the future. (Most future development is likely to focus on building out support for other quantum software frameworks.)

Happy Qracking! You rock!

Full Changelog: vm6502q.v9.9.23...vm6502q.v9.9.28

sha1sum results:
e42ac6f6fa8a0d712042ecbaa4ca4b4df56eafda libqrack-macosx_14_0_arm64.zip
9e5b96c8e068a64f7f95ac95c5e283f3872540d7 libqrack-manylinux2014_x86_64.zip
42a43af1ff62abe74a7d00be19db824a21340420 libqrack-manylinux_2_35_x86_64.zip
500654128cc5bd396b0abb7ab8b3e4f95e6af341 libqrack-manylinux_2_39_x86_64.zip
053856d53648ff3c03e611608831296eba783a4c libqrack-win-amd64.zip

QBdt debugging

28 Aug 21:53
Compare
Choose a tag to compare

QBdt error amortization suffered from an out-of-precision bug; this has been (completely) fixed.

Full Changelog: vm6502q.v9.9.22...vm6502q.v9.9.23

sha1sum results:
d31a4dd5624ae32eac6fde9c0e5d1ba4ae55113c libqrack-macosx_14_0_arm64.zip
507e8f2ec40cb82420dd9a644c4c2963b873cf1d libqrack-manylinux2014_x86_64.zip
62f7ac48c1a6f3b1e274984c775873801f393e82 libqrack-manylinux_2_35_x86_64.zip
ced693d326d76e82889fc9b5be0fe29b5e5eda7d libqrack-manylinux_2_39_x86_64.zip
f8bb6f5f5f874127b5b899b974fe6b2f86198b41 libqrack-win-amd64.zip

OpenCL kernel (and other) optimizations; Ubuntu PowerPC fix

28 Aug 00:35
Compare
Choose a tag to compare

Various micro-optimizations have been added, including OpenCL kernel optimizations. Because of OpenCL kernel updates, perform the following commands as necessary in the qrack repository directory:

$ make clean
$ cmake ..
$ ./qrack_cl_precompile

Full Changelog: vm6502q.v9.9.13...vm6502q.v9.9.22

sha1sum results:
e3ad258882c26cc9b630f4188c233b386bb078f4 libqrack-macosx_14_0_arm64.zip
883c39946da742de2d628b26e5127722a2b8de1f libqrack-manylinux2014_x86_64.zip
43794d490e44f52211244671cb7b75f495979f95 libqrack-manylinux_2_35_x86_64.zip
b6cedf5ec4742afbf78fb62a997acccdc7ed1cd3 libqrack-manylinux_2_39_x86_64.zip
0482af5afc787b307be89c6d94f6ab7996e68361 libqrack-win-amd64.zip

QUnitStateVector and QEngineOCL debugging

26 Aug 20:57
Compare
Choose a tag to compare

A new class QUnitStateVector can hold Schmidt-decomposed representation of state vectors. For now, specifically, it is used only for near-Clifford simulation with QUnitClifford.

A long-standing edge case in QEngineOCL::MAll() has also been fixed.

Full Changelog: vm6502q.v9.9.9...vm6502q.v9.9.13

sha1sum results:
79f7b51945a02769ff45892363d34831c0549587 libqrack-macosx_14_0_arm64.zip
40dee73bb65b11daaf8a46b15bdf965d34b4bb6a libqrack-manylinux2014_x86_64.zip
5d095eb03fbbb4481cbe2aca820002ef91fce45c libqrack-manylinux_2_35_x86_64.zip
102138935656acee20c4758c07cb1aa0997f484f libqrack-manylinux_2_39_x86_64.zip
004c2fd26a79be9bb62a530920e52d61f3fc1bbd libqrack-win-amd64.zip

Random number generation improvements

25 Aug 14:48
Compare
Choose a tag to compare

Minor improvements have been made to Qrack's random number generator API. Most importantly, 32 divisions have been replaced with 32 multiplications when generating a random float with Rand(). Another possible point of improvement is that most-significant bit of the raw random bit stream now corresponds with most-significant bit of Rand(), where some devices and services for random number generation will tend to prioritize most-significant bit as slightly less biased for randomness than least-significant.

Full Changelog: vm6502q.v9.9.8...vm6502q.v9.9.9

sha1sum results:
767fbb85311ce2fb8c0054a1db06a091015cc8f6 libqrack-macosx_14_0_arm64.zip
5154b8903f6dd0bc473c2b8e084ccea0eb0e8a8a libqrack-manylinux2014_x86_64.zip
8e06eda30d6c219650be5ecc3671b013eb85e01e libqrack-manylinux_2_35_x86_64.zip
816ee3b11dc944d65d5358ab0ee1ff99d01f9253 libqrack-manylinux_2_39_x86_64.zip
c4d91a6a5fa2c62b5fef93b006de79d473b23257 libqrack-win-amd64.zip

Debug shared library observables API

22 Aug 15:27
Compare
Choose a tag to compare

This release fixes bugs in the observables API of the shared library. (It also fixes 16-bit floating-point builds, but this does not affect the packaged artifacts.)

Full Changelog: vm6502q.v9.9.7...vm6502q.v9.9.8

sha1sum results:
bfcb8d4947438169d41b2239bd0a23d7cdd41324 libqrack-macosx_14_0_arm64.zip
87531e6d58f1a693f63ab246726c8b31a118781c libqrack-manylinux2014_x86_64.zip
bcb49f1ac34ca02db98e1a81d1e24103637aee73 libqrack-manylinux_2_35_x86_64.zip
911e515a4ef76f8e45ed7003d8ced609205b83e9 libqrack-manylinux_2_39_x86_64.zip
89bf709ebe9de530d620b26192b1c5da0734e2d2 libqrack-win-amd64.zip

QUnit refactor

20 Aug 22:29
Compare
Choose a tag to compare

This patch release refactors QUnit for code clarity and reuse. No bugs have been fixed; no features have been added; the performance differential might be entirely negligible. However, the improvement in source code is authoritative.

Full Changelog: vm6502q.v9.9.6...vm6502q.v9.9.7

sha1sum results:
d23b9a4baacb67dbcd798640fa3932bf676789a9 libqrack-macosx_14_0_arm64.zip
353f36459841516fa67b0a2363b22ace82816ef2 libqrack-manylinux2014_x86_64.zip
ada749dc83ab4eb195066b84c1e33f6f7129eaaf libqrack-manylinux_2_35_x86_64.zip
5c501223e7c12a479d61606cf89e988a1d5d3c6c libqrack-manylinux_2_39_x86_64.zip
061d1077293602adc4ecec4ed1bbb314cdb2be62 libqrack-win-amd64.zip

Fixed-point QUnit

20 Aug 18:00
Compare
Choose a tag to compare

QUnit now takes advantage of fixed-point math, when available. (This should only improve QUnit precision while keeping the same rounding thresholds.)

Full Changelog: vm6502q.v9.9.1...vm6502q.v9.9.6

sha1sum results:
bc68840a315f6cf9ff75b5d4b2672dcf05e418d7 libqrack-macosx_14_0_arm64.zip
fa3e5a79877c2b2237c713d63b1893b9e3357d4a libqrack-manylinux2014_x86_64.zip
a849c838210f59a1ea750baeb5f58baef0023657 libqrack-manylinux_2_35_x86_64.zip
7776578540be80d20825ee237b1d8bf5f8cdcba3 libqrack-manylinux_2_39_x86_64.zip
e3526da89cd1385847a9fa86716718458c0b3969 libqrack-win-amd64.zip