Releases: unitaryfund/pennylane-qrack
0-GPU edge case; env. vars.; precision
This release fixes the following:
- an edge case that leads to a segmentation fault when
QStabilizerHybrid
is used in the presence of 0 available OpenCL/CUDA devices, - potentially inconsistent defaults for qubit-limit and rounding-parameter environment variables,
- and rounding neighborhood for separability checks,if we check a two-state qubit for eigenstate norm equality: "machine epsilon" in C++ is the difference between 1.0 and the next greater representable number; half this value is the difference between 1.0 and the next lower representable number; half this value is used for (L2-norm) rounding neighborhood for equality with 1.0 or 0.0 in two-state Hilbert spaces (which are bounded to that range and must normalize to 1.0).
Full Changelog:
unitaryfund/qrack@vm6502qv9.9.46...vm6502q.v9.9.50
unitaryfund/pyqrack@v1.30.26...v1.30.28
v0.9.3...v0.9.4
sha1sum results:
2cabaf2ae68124e01fd5db57b8ca966795910463 pennylane_qrack-0.9.4-py3-none-macosx_12_0_x86_64.whl
536d704d972fc81b11d74da0175f594b0604a88d pennylane_qrack-0.9.4-py3-none-macosx_13_0_x86_64.whl
f2fe781632b34e55ab71db7598242a9c1c647710 pennylane_qrack-0.9.4-py3-none-macosx_14_0_arm64.whl
a31fba024d964beb186f92f9993f3978bb191e92 pennylane_qrack-0.9.4-py3-none-manylinux_2_31_x86_64.whl
e149c96e46f999f4d9f1c49e30492e4413f492c4 pennylane_qrack-0.9.4-py3-none-manylinux_2_35_x86_64.whl
acaba23764451cb92cd2881e3f00e36de6636031 pennylane_qrack-0.9.4-py3-none-manylinux_2_39_x86_64.whl
df86ddf1fd5ddb08e6fadfb1e9fa1b9f5e0e64ee pennylane_qrack-0.9.4-py3-none-win_amd64.whl
eff203609424e7b96406ef778e8bcd751e5f6105 pennylane_qrack-0.9.4.tar.gz
Edge case segfault with 0 OpenCL/CUDA devices
This release fixes an edge case that leads to a segmentation fault, when QTensorNetwork
is used in the presence of 0 available OpenCL/CUDA devices.
Full Changelog:
unitaryfund/qrack@vm6502q.v9.9.42...vm6502qv9.9.46
unitaryfund/pyqrack@v1.30.25...v1.30.26
v0.9.2...v0.9.3
sha1sum results:
a125ada61c416159b4c43f46cfac750e4993ce20 pennylane_qrack-0.9.3-py3-none-macosx_12_0_x86_64.whl
06e80c139c8696489f33801161bba11d4f308a17 pennylane_qrack-0.9.3-py3-none-macosx_13_0_x86_64.whl
eeeb82513c3e2c77349b8b7aa589c9ac713c7895 pennylane_qrack-0.9.3-py3-none-macosx_14_0_arm64.whl
268940825a5d09e3834329b76ab74547120baf46 pennylane_qrack-0.9.3-py3-none-manylinux_2_31_x86_64.whl
0e8cd23ffcd737834fa18e3f9e7be995d839a21a pennylane_qrack-0.9.3-py3-none-manylinux_2_35_x86_64.whl
f22af961b4a933b106ef91e2bb67f8cc5fbab33b pennylane_qrack-0.9.3-py3-none-manylinux_2_39_x86_64.whl
3fc6b8cbf454a9ad6ec385fe99468e3f208a6def pennylane_qrack-0.9.3-py3-none-win_amd64.whl
12d7f26ae0a8c3ab7dc074ce55f55f526f010689 pennylane_qrack-0.9.3.tar.gz
QBDD deadlock fix (and style)
A potential deadlock in QBDD Kronecker products has been fixed. Beyond that, several (non-breaking) function prototype changes have been made in accordance with standards for style.
Full Changelog:
unitaryfund/qrack@vm6502q.v9.9.37...vm6502q.v9.9.42
unitaryfund/pyqrack@v1.30.24...v1.30.25
v0.9.1...v0.9.2
sha1sum results:
5874aacdede3ad6ff40b72b0bccfafb6e793b474 pennylane_qrack-0.9.2-py3-none-macosx_12_0_x86_64.whl
7e6ac54390c3463f8ec6a762e8763bf994647772 pennylane_qrack-0.9.2-py3-none-macosx_13_0_x86_64.whl
bff6856ad03b8761376bda149b16093a805e86db pennylane_qrack-0.9.2-py3-none-macosx_14_0_arm64.whl
e8c12b6a936b9713ee065c63e734299806abdabf pennylane_qrack-0.9.2-py3-none-manylinux_2_31_x86_64.whl
5e395e78f5e08b1b6f315b758b0339d65b6d7993 pennylane_qrack-0.9.2-py3-none-manylinux_2_35_x86_64.whl
de544fe698610d11d49c7cd116eed2ac1b0c943f pennylane_qrack-0.9.2-py3-none-manylinux_2_39_x86_64.whl
14602a1211923ecf61a74b0806e603939ee655fe pennylane_qrack-0.9.2-py3-none-win_amd64.whl
0faf76b8f234d16d69d167df429aaca8cf35056f pennylane_qrack-0.9.2.tar.gz
QBDD and stabilizer optimization
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).
Full Changelog:
unitaryfund/qrack@vm6502q.v9.9.33...vm6502q.v9.9.37
unitaryfund/pyqrack@v1.30.23...v1.30.24
v0.9.0...v0.9.1
sha1sum results:
98876aeaef967e21d65eb307f1ac74b2a3f8f5d9 pennylane_qrack-0.9.1-py3-none-macosx_12_0_x86_64.whl
44d8fd2c3e7ab5eb51d5bee354843f1b5a94cd26 pennylane_qrack-0.9.1-py3-none-macosx_13_0_x86_64.whl
1c7ad48b1becdd3ca241433d0fc7330ba24a5ce6 pennylane_qrack-0.9.1-py3-none-macosx_14_0_arm64.whl
3b17e9aedd7741c265fc5a36cc8162f399405695 pennylane_qrack-0.9.1-py3-none-manylinux_2_31_x86_64.whl
ac2ceb0413fe5e6e81c74ae2aab024ee8055b2c6 pennylane_qrack-0.9.1-py3-none-manylinux_2_35_x86_64.whl
456a17ac16258c83e3a0effdc7dc1093ec358840 pennylane_qrack-0.9.1-py3-none-manylinux_2_39_x86_64.whl
0da78ed58aea9c9f9dbb8db7cf06a3138217d5e4 pennylane_qrack-0.9.1-py3-none-win_amd64.whl
6bc7e899524f25562b0d3e3451c1715858978b89 pennylane_qrack-0.9.1.tar.gz
Fix wire label map
This release fixes a bug with the wire label map not having any entries. (Blame: @WrathfulSpatula, for not testing prior to release)
Full Changelog: v0.8.8...v0.9.0
sha1sum results:
64a180c1a180ffe1514daf6a4e58e9e9d2038c6d pennylane_qrack-0.9.0-py3-none-macosx_12_0_x86_64.whl
c17e0cac63c811736d33884ccc3cd17a330f3c64 pennylane_qrack-0.9.0-py3-none-macosx_13_0_x86_64.whl
886a8554cdba9351651308c6a72e41106709a337 pennylane_qrack-0.9.0-py3-none-macosx_14_0_arm64.whl
e08f5ca4b3b62b4f011dffd51cadd030b49099d0 pennylane_qrack-0.9.0-py3-none-manylinux_2_31_x86_64.whl
6d8bcabf346ce42804ed47cf2b1ea711954aa638 pennylane_qrack-0.9.0-py3-none-manylinux_2_35_x86_64.whl
0499b4f38959e88d6fb016af0734a61c0acc3a00 pennylane_qrack-0.9.0-py3-none-manylinux_2_39_x86_64.whl
ef49ec92b9cca7960818b74cd184b1b88b5b872f pennylane_qrack-0.9.0-py3-none-win_amd64.whl
00bc9def379c5ec5473ffd59d4d5b5ee9a930b3e pennylane_qrack-0.9.0.tar.gz
Catalyst v0.8 compatibility (and Qrack improvements)
This release builds against the Catalyst v0.8 header, for compatibility.
In Qrack and PyQrack, 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:
unitaryfund/qrack@vm6502q.v9.9.28...vm6502q.v9.9.33
unitaryfund/pyqrack@v1.30.22...v1.30.23
v0.8.7...v0.8.8
sha1sum results:
5b713ed3b9cc5fbe12c24dfc7c74b5b5496ef4c6 pennylane_qrack-0.8.8-py3-none-macosx_12_0_x86_64.whl
3cfef0ed6d2c9ddeeba162f66f890fe692e5345a pennylane_qrack-0.8.8-py3-none-macosx_13_0_x86_64.whl
a592dce0817721478f4bad9c207fa466c38679f2 pennylane_qrack-0.8.8-py3-none-macosx_14_0_arm64.whl
d464b495e62138b361de681348e804c6fdd1eb9b pennylane_qrack-0.8.8-py3-none-manylinux_2_31_x86_64.whl
ea888bf95481dfda6b82dfc9808a380a0f61e14f pennylane_qrack-0.8.8-py3-none-manylinux_2_35_x86_64.whl
7587761ea9cf2351a6f8568d6d72598128405f53 pennylane_qrack-0.8.8-py3-none-manylinux_2_39_x86_64.whl
b2b2f46ae470a940d970e86457dec9aef7f1806e pennylane_qrack-0.8.8-py3-none-win_amd64.whl
e84a0937323c67a5590d7596a94b569335a173c1 pennylane_qrack-0.8.8.tar.gz
Stable maintenance release of Qrack (debugging and style)
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:
v0.8.6...v0.8.7
unitaryfund/pyqrack@v1.30.20...v1.30.22
unitaryfund/qrack@vm6502q.v9.9.23...vm6502q.v9.9.28
sha1sum results:
8fad24e89881d7a5a77223eaaabf3c5278e7e3fb pennylane_qrack-0.8.7-py3-none-macosx_12_0_x86_64.whl
96197c9a8b7431476acb7613b1bc728bfb310082 pennylane_qrack-0.8.7-py3-none-macosx_13_0_x86_64.whl
a74700e07b746c1113d05ce8b6448ba87f95b786 pennylane_qrack-0.8.7-py3-none-macosx_14_0_arm64.whl
4a0207c42037ca24846f95b2ab88f483a95113ea pennylane_qrack-0.8.7-py3-none-manylinux_2_31_x86_64.whl
47eecef2d2aa1b3cb076a164bceab08c24966493 pennylane_qrack-0.8.7-py3-none-manylinux_2_35_x86_64.whl
f93d3a9fb07c7bc20e175b92d964c5c4e4224162 pennylane_qrack-0.8.7-py3-none-manylinux_2_39_x86_64.whl
dc3106904909306525315c1dae63ac5f53d774e3 pennylane_qrack-0.8.7-py3-none-win_amd64.whl
71fdfeb4b0f438a6e655cede67fbd2fc92bf93f3 pennylane_qrack-0.8.7.tar.gz
QBdt debugging
QBdt
error amortization suffered from an out-of-precision bug; this has been (completely) fixed.
Full Changelog:
unitaryfund/qrack@vm6502q.v9.9.22...vm6502q.v9.9.23
unitaryfund/pyqrack@v1.30.16...v1.30.20
v0.8.5...v0.8.6
sha1sum results:
adddd6ef63443d70c1fabaec3afe29023b83edb8 pennylane_qrack-0.8.6-py3-none-macosx_12_0_x86_64.whl
cf2b6b72eeb5830e69becc83c82cca04499e0b4b pennylane_qrack-0.8.6-py3-none-macosx_13_0_x86_64.whl
b054e1594c822e8b4ac29ee7e5d311d698bf5780 pennylane_qrack-0.8.6-py3-none-macosx_14_0_arm64.whl
6a94f0d91959a7826eed6be3335f58d9aaeccd85 pennylane_qrack-0.8.6-py3-none-manylinux_2_31_x86_64.whl
59e16a9309f3491be1802bbc8ae60e400018710b pennylane_qrack-0.8.6-py3-none-manylinux_2_35_x86_64.whl
c75120383de1878f24c25ae9f102b75a8603565b pennylane_qrack-0.8.6-py3-none-manylinux_2_39_x86_64.whl
245622260335f173fa380f653fb1574881d1f5a2 pennylane_qrack-0.8.6-py3-none-win_amd64.whl
c784ba9d1b0752a6e2972a56cdbda9abbc077c29 pennylane_qrack-0.8.6.tar.gz
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:
unitaryfund/qrack@vm6502q.v9.9.13...vm6502q.v9.9.22
v0.8.4...v0.8.5
sha1sum results:
e505323bb2770637489b304a89c5c1d7b4dc19e3 pennylane_qrack-0.8.5-py3-none-macosx_12_0_x86_64.whl
f73bca588526fc458f5ac28e36485166f8cbd8b6 pennylane_qrack-0.8.5-py3-none-macosx_13_0_x86_64.whl
989800d3f37037f655069c7b3e555b81b0b60325 pennylane_qrack-0.8.5-py3-none-macosx_14_0_arm64.whl
25c7e0c833054f62a0eb062c8354fdf43d123cd5 pennylane_qrack-0.8.5-py3-none-manylinux_2_31_x86_64.whl
fc8c5dff174b0bfb404ef77cd847044f032ede4d pennylane_qrack-0.8.5-py3-none-manylinux_2_35_x86_64.whl
719f3ae9cc1ae88e43945ea49239eb280b0742c0 pennylane_qrack-0.8.5-py3-none-manylinux_2_39_x86_64.whl
4baee9687ebf05158f288e8913df7a59344ae045 pennylane_qrack-0.8.5-py3-none-win_amd64.whl
a1083eda2b4a130436a986e0ce897bf5b862405e pennylane_qrack-0.8.5.tar.gz
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:
unitaryfund/qrack@vm6502q.v9.9.9...vm6502q.v9.9.13
v0.8.2...v0.8.4
sha1sum results:
d786df233b4cc10f6f4bb038ad8a1aa5f10dca90 pennylane_qrack-0.8.4-py3-none-macosx_12_0_x86_64.whl
091e2178759a2a7fce6d9f1c866611dc07dd0934 pennylane_qrack-0.8.4-py3-none-macosx_13_0_x86_64.whl
d236ca1b19ea927442fff3418c2e53519c075143 pennylane_qrack-0.8.4-py3-none-macosx_14_0_arm64.whl
14125787a29a72ca75be6517cdbdc1eb5584c683 pennylane_qrack-0.8.4-py3-none-manylinux_2_31_x86_64.whl
97cc18b0e7ff149fc65156534c476b87ef97a8c6 pennylane_qrack-0.8.4-py3-none-manylinux_2_35_x86_64.whl
c01d2ef41dab0a85193f1b0e6475e1b9634256e6 pennylane_qrack-0.8.4-py3-none-manylinux_2_39_x86_64.whl
6bee2238b37890b13834abdea450e4150fe97156 pennylane_qrack-0.8.4-py3-none-win_amd64.whl
8e8af2ac70bc7374422fc4655d2ba039b9333cbc pennylane_qrack-0.8.4.tar.gz