Releases: unitaryfund/qrack
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
Debug Clifford+RZ special case simulation
This release fixes a bug or edge case involving combining RZ
-injection gadget ancillary qubits in "hybrid stabilizer" optimization layer.
In the initial release, due to changes in the build environments at my disposal, we will not include CUDA or WASM builds, for now. Depending on the demand for pre-compiled artifacts for these platforms, I might add them to this release after-the-fact, when I have the appropriate build environments, if we don't iterate code changes sooner.
File SHA-1 sums:
940a669a96d73ffacc792c0ee2f0d0bda2793725 libqrack-9.6.7-Darwin.sh
24ce74f8b1a01ceb385b75e70c54e0c99deec0fe libqrack-9.6.7-Linux-ARM64.sh
fbbd5ff69462ad1fcf9a80f19b3f5f8477250c0b libqrack-9.6.7-Linux-ARMv7.sh
8479689a95f1eaff52c9a0f48aa9654e4bc94bad libqrack-9.6.7-Linux-Ubuntu-20-04.sh
90a93a4dc3c3aefc1533e578de6daab6dca14b01 libqrack-9.6.7-Linux-Ubuntu-22-04.sh
f99492df4b6b28152cc01e79ad44ab8b07201df3 libqrack-9.6.7-Linux-Ubuntu-24-04.sh
7b11f143fdf5bb9d91f746a7694bf3aed6f9c3d8 libqrack-9.6.7-win64.exe
063b6e585531d9d53e1da1c6c340d2607e8f99d7 qrack_linux_arm64_benchmarks
1f2149b6f961414545b257672449b99870d5c0b9 qrack_linux_armv7_benchmarks
da89f1da451a314d8709ca203f2b4e1fe8a86d39 qrack_mac_benchmarks
d89bde707e1f790d2fdd2526e3533633a3c4f836 qrack_ubuntu_20-04_benchmarks
881e487b71db63d01150feb281e9dee2b8b9e1ab qrack_ubuntu_22-04_benchmarks
3051d925cadfd07f52786fd562c0fce057ed3a2f qrack_ubuntu_24-04_benchmarks
6f3ddb257adac1e581a957f35aa50b38835cbae5 qrack_windows_benchmarks.exe
Variance and probability in shared library
VarianceBitsAll()
and ProbBitsAll()
observable output methods have been exposed through the shared library interface, to back prob_all()
and variance()
in PyQrack's QrackSimulator
.
File SHA256 sums:
d2c8164030bc0a41c19b48f8450fa75542dbd9091fadd9ef2be5727f8ba4dc9f libqrack-9.6.0-Darwin.sh
23fef395fbb79dc3922700b2a4cc3e33285e58a2a8b2d9155cdfb2cf9cf6c7bf libqrack-9.6.0-Emscripten.tar.gz
741f83f17e1b07e6c9062104483469ed15b6f81147d5b881df5ce5308b59f3e1 libqrack-9.6.0-Linux_ARM64.sh
97a5da997404d2a5e1b3537ece1e61236184f90488617fc9ddb9809ee52439e5 libqrack-9.6.0-Linux_ARMv7.sh
be91eae813039cb4bcf2a3e72050ed755bd57839b8927de53278f3aaa82ff3ab libqrack-9.6.0-Linux-Ubuntu-20-04-LTS.sh
4010b1d610cf284702214106221b54e5f9c4d66961eff46a75d6677ccb01ebf9 libqrack-9.6.0-Linux-Ubuntu-22-04-LTS-CUDA.sh
a849637559704c909f01dbac9b90a21b03d12f98b19b176b7a47d6237bb96573 libqrack-9.6.0-Linux-Ubuntu-22-04-LTS.sh
717ba17a7b2981e56debc233d186dbb3fa06d6c33f9f7481fe9b6c4a81670b3e libqrack-9.6.0-win64.exe
54d7eaef6791e3b1db0339df63d95999aecf45d54a3edfa3012076465ff49501 qrack_linux_arm64_benchmarks
369ef6f61f1cd59eecbc7d5006a6135935111561fa2a63b9d61cc4cf35839684 qrack_linux_armv7_benchmarks
1908c852729be18395367fb926404d33652783d9df95c5d1ef997ce89e343d48 qrack_mac_benchmarks
607416ee8f0c2ab8a5c2875cb8ea6297d1dd92cd3e24412d84dbb1485728b702 qrack_ubuntu_20-04_benchmarks
adf3f03c7acccd3e781aef06bca8afd709f97546d4331b5283d6dc8fb4144095 qrack_ubuntu_22-04_benchmarks
feed92dd89f91953f732679747a3c43de05b967ad1863edf9510ec135b3f234e qrack_ubuntu_22-04_cuda_benchmarks
b52c7c29931585096f86dbc60c0d77be04e44e06677f309dc18e44f88737f629 qrack_windows_benchmarks.exe
Automatic homogeneous multi-accelerator
For homogeneous multi-device systems, it is usually no longer necessary to explicitly specify constructor or environment variable configuration of multi-GPU parallelism (for default optimal stack and in general, according to use case). The behavior of the existing configuration variables remains unchanged, otherwise.
File SHA256 sums:
57ad4e127a3555847e7653a439a0a59f97d76141d626f352cd21ecd141df2bcd libqrack-9.5.2-Darwin.sh
0a460f4ce1a05400fc1ee1c3faf3d65abeee73039c5c3ba66eac30d0e514ab90 libqrack-9.5.2-Emscripten.sh
682476cf72c4dc76e6cb8026d371b03f2b513a2f8c2bd5762cf434061271cdbf libqrack-9.5.2-Linux_ARM64.sh
56e2639ff021a93a49cb2fcb194addbca1ce31de899dfde4c443132efe92c7ce libqrack-9.5.2-Linux_ARMv7.sh
150fa7d76410664fa72164caed42937179b9a0b58ea5c270b23ccaba8e46e407 libqrack-9.5.2-Linux-Ubuntu-20-04-LTS.sh
aba022059cf1f75289e8239a52fcea645a8d99e309693da52f26b92a93f6966e libqrack-9.5.2-Linux-Ubuntu-22-04-LTS-CUDA.sh
3fe970114d73f78a6f446b8f879d072b10297e520cf9179eeb079a0f5fed5553 libqrack-9.5.2-Linux-Ubuntu-22-04-LTS.sh
a0630653a2fdf1ded14b9153359fc40acd214c909a07ca60d3ceeb478265c74e libqrack-9.5.2-win64.exe
3db0749544bf8cca968721e4eecdc2247cf3b00f021ea1565c9ab4087bc41010 qrack_linux_arm64_benchmarks
269ba181bebf133f27d53ffd40fe8498bc857abee8d338ef89895fca186b0347 qrack_linux_armv7_benchmarks
6d398372553ea76085b7fb5360d1e265c491aebfb328b4a7581c11ff16c51efe qrack_mac_benchmarks
8197bbd2c2f3291386976c23ce757471a202fd9c4c00dfb31aab6a2575de151d qrack_ubuntu_20-04_benchmarks
bda8d319f65f9ebbd2aa6d67314a2c757f1cd5a954b239dd7c715b3098da8bb5 qrack_ubuntu_22-04_benchmarks
32d2526933e9881aa4d935f071f2c2b4c59114a44f88dad81b6bb37bf6f7172d qrack_ubuntu_22-04_cuda_benchmarks
21a7cf5dc7e59a9a44489b1217fa262d1fa6f8ed96d52cfca5e4678d29e395bf qrack_windows_benchmarks.exe
"Foolproof" reactive separation default
Qrack's longstanding strategy about "reactive separation" setting has been to optimize for (special case) minimum memory footprint. (We have generally and publicly advised, as in our white paper and its accompanying notebooks to exactly reproduce our reported benchmarks, that users should make a consciously-considered choice whether to override the setting for their case.) However, it is likely that most users, when they are not using SDRP, would prefer that Qrack optimizes by default for minimum execution time. As such, when SDRP is default ("ideal") value or lower, reactive separation setting now defaults to "off"; when SDRP is in use, reactive separation defaults to "on." After setting or changing SDRP value, the default behavior will re-engage, but it can then be overridden with the method to manually set reactive separation option. (This adds no new functionality versus many previous releases, but it takes the responsibility off the "lazy" user.)
File SHA256 sums:
36e1b04eaaeead1a6e278e6601fc94fc3cb183a92aebdfb7d15e611776a2ccdd libqrack-9.4.8-Darwin.sh
6976c175c6143961443abb917c8fc55816333c70eec11f6e55f71ed661a11e29 libqrack-9.4.8-Emscripten.sh
a3aa4708493f270c4940d716c79ba052582fab02155dfe56930557730aa7f29b libqrack-9.4.8-Linux_ARM64.sh
edac8c353816477b1b523afd3287222e34bae2a625121acfce6be10890b537df libqrack-9.4.8-Linux_ARMv7.sh
15f22ffc7ec24ac410c60a264a46205ae1d18b41be79bd6c34524052d8ec005b libqrack-9.4.8-Linux-Ubuntu-20-04-LTS.sh
2a377f020bff871a420ef0d2c3caea7501c675545256a19a9460bc29de25eead libqrack-9.4.8-Linux-Ubuntu-22-04-LTS-CUDA.sh
74ed6a5f87d8784265fa50d67597065c9b19045a2a1b37e815383bd2426a8fd2 libqrack-9.4.8-Linux-Ubuntu-22-04-LTS.sh
521d1a2299d14d079d2011ba5dc29e3bff916f0df9a5f64c7a966664311154c4 libqrack-9.4.8-win64.exe
91486576b310b80fcb4b1274e2883470fe6e78b6287e6f051a57825ac96a5edf qrack_linux_arm64_benchmarks
12daa89a6a2a134f33d77bd9ae4793fea73a12c57ec11c5d67a6ad0e4efac87f qrack_linux_armv7_benchmarks
6d398372553ea76085b7fb5360d1e265c491aebfb328b4a7581c11ff16c51efe qrack_mac_benchmarks
cb6fc7d433ea30a1456f3c1f0b40e49e3a40911ae39d93787582b2dc98c83384 qrack_ubuntu_20-04_benchmarks
a08089efeee8e050d1d184b9453268e0fe3e64d7227496545330d1d728bb19be qrack_ubuntu_22-04_benchmarks
c8b339018bbe2a56c0bcb54a47faf8417b295087d552fd4f3f0b77c7797d9c54 qrack_ubuntu_22-04_cuda_benchmarks
77e96ab3db560fab5993e69afc2bf7bd42d7feada32f732f418b6753a542b455 qrack_windows_benchmarks.exe