Skip to content

Releases: unitaryfund/pennylane-qrack

0-GPU edge case; env. vars.; precision

26 Sep 19:56
Compare
Choose a tag to compare

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

26 Sep 15:55
Compare
Choose a tag to compare

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)

23 Sep 12:00
Compare
Choose a tag to compare

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

08 Sep 19:42
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).

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

04 Sep 16:06
Compare
Choose a tag to compare

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)

04 Sep 15:42
Compare
Choose a tag to compare

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)

30 Aug 18:57
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:
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

28 Aug 22:08
Compare
Choose a tag to compare

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

28 Aug 00:53
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:
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

26 Aug 21:14
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:
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