Releases: unitaryfund/qrack
QBdt debugging
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
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
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
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
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
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
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
Debug multi-GPU Clifford+RZ environment variable
This release fixes a bug that prevented custom tuning of the maximum ancillary qubit count in QStabilizerHybrid
via QRACK_MAX_PAGING_QB
. (This mostly affects cases of multi-GPU simulation with near-Clifford optimization, only.)
Full Changelog: vm6502q.v9.9.0...vm6502q.v9.9.1
sha1sum results:
2e567aab94b5f5d200417378bd5529d0351c53c2 libqrack-macosx_14_0_arm64.zip
b102c8c0d702d2629962e8a90a1affe106ba6f74 libqrack-manylinux2014_x86_64.zip
1a9ebef40c3992a7ae52905040830834e93c2080 libqrack-manylinux_2_35_x86_64.zip
8f8d209cd8785e93d1dda5497b2ba1acca69a14d libqrack-manylinux_2_39_x86_64.zip
bbe0e48501d7f79f8e9d6f8694e79c7e97cad847 libqrack-win-amd64.zip
Optional depolarizing noise layer
This release adds an (optional) depolarizing noise simulation "layer" to Qrack, for simple noisy simulation, such as to test and aid the development of quantum error mitigation or quantum error correction.
What's Changed
- Add
PhaseRootNMask
toQInterface
, implement forQEngineCPU
by @jpacold in #1009 - Windows artifact build by @WrathfulSpatula in #1010
- Fix automatic Windows artifacts build by @WrathfulSpatula in #1011
- Fixed-point for QBDD by @WrathfulSpatula in #1013
- QInterfaceNoisy by @WrathfulSpatula in #1014
New Contributors
Full Changelog: vm6502q.v9.7.0...vm6502q.v9.9.0
sha1sum results:
9a5dc6240a6685a4ae5320d10b34700483260188 libqrack-macosx_10_4_universal2.zip
4d9727b13d11b7fe65a7060fc1d3b1346ec0a063 libqrack-manylinux2014_x86_64.zip
a30508dd45ed15a14c2780922bc9f0af527981a8 libqrack-manylinux_2_35_x86_64.zip
694a66d158539f5fa73b459ac1e71da620440784 libqrack-manylinux_2_39_x86_64.zip
e62348ff023848fa3a611c0bf3bb9cbf69c40faa libqrack-win-amd64.zip
Observables API
This release greatly expands the API for expectation values and variance, via both static and shared linkage.
File SHA-1 sums:
99098629b4cad3c20db6a931e6b36b944e0d424a libqrack-9.7.0-Darwin.sh
f9d62214fc8e095f3bd7a69f16d7e1b73c384c1a libqrack-9.7.0-Emscripten.sh
8ddc5ea6205f272ebaf0aaf79b7dc6054e9bef43 libqrack-9.7.0-Linux-ARM64.sh
48bce7ce3909e6102e8a19c14330afeba091605e libqrack-9.7.0-Linux-ARMv7.sh
a645753ab2e61fa4bc834d08e8bb8d803df4c6f6 libqrack-9.7.0-Linux-Ubuntu-20-04.sh
9afd5d706d12e0c3dd4470d998e332569267a4fa libqrack-9.7.0-Linux-Ubuntu-22-04.sh
895ed1c0a7d07e278b98c81fcb32fff9b6728245 libqrack-9.7.0-Linux-Ubuntu-24-04.sh
07607cb0960fc205044b6549963150555007dcf3 libqrack-9.7.0-win64.exe
437373a00e06e03fe84cd04d3f91d14eedf0fff6 qrack_linux_arm64_benchmarks
f7df4c80b9d8f514210997d1d8964f601907c24a qrack_linux_armv7_benchmarks
96f2a0dbb889591be296e27fa7658cf79eaaabf1 qrack_mac_benchmarks
e26d2149745745e40844b05c4f806bddb454d9a8 qrack_ubuntu_20-04_benchmarks
69a358bc29700e65814b04a2d58de50f7ea6d539 qrack_ubuntu_22-04_benchmarks
ed6f0a1a285b6cfbfe2d002c53b331d83f29b874 qrack_ubuntu_22-04_cuda_benchmarks
9898e9b7a4a4b96543cb2b03d6e97157a472924c qrack_ubuntu_24-04_benchmarks
fec120e77d6eecbf10392f84a1f6c711b4fd5545 qrack_windows_benchmarks.exe