Skip to content

Releases: unitaryfund/pyqrack

Bugfix: Anomalous OpenCL queue flush error

12 Sep 12:12
Compare
Choose a tag to compare

The single call in the Qrack library to flush any OpenCL queue, immediately after every gate kernel dispatch, was returning an unspecified OpenCL error under high load. By simply removing this one queue flush call, no other errors arise, where we check every OpenCL call for error codes. (This therefore appears to be a driver bug, but the behavior might be practically expected, if our gate kernels dispatch and flush very quickly.)

Qrack arithmetic logic unit (ALU)

10 Sep 18:30
Compare
Choose a tag to compare

Qrack's optimized "arithmetic logic unit" has been wrapped for PyQrack.

Some errata: This might be not the exact build that went to PyPi, for 0.3.0. However, after accidentally publishing a transient artifact, I tested that build for 2 known (negative) issues, and found that neither were issues for the version on PyPi:

  1. mtrx custom gates should be cast to floats, when broken into real and imaginary components from complex numbers. (This would raise a warning in SimulaQron tests, if not fixed in the package, but the package does not raise this warning.)
  2. Qrack binaries should have been updated to actually contain the ALU method wrappers. (The package correctly runs Grover's search on a lookup table, so its binaries must contain these methods. I only generated one new set of binaries.)

There was a change to the README that I wanted to include, but it isn't critical. The labor-intensive part of any PyQrack release is building all Qrack binaries, which are already built correctly for 0.3.x release, so, if an issue arises, It'll take 15 minutes to iterate a patch. Please continue to feel free to open issue tickets.

Schmidt Decomposition API

06 Sep 23:52
Compare
Choose a tag to compare

This adds the Schmidt decomposition methods Compose(), Decompose(), and Dispose() to this alpha version release.

PYQRACK_SHARED_LIB_PATH env var

04 Sep 23:43
Compare
Choose a tag to compare

This alpha release version allows the user to specify any location from which to load the vm6502q/qrack compiled libraries, by setting the environment variable PYQRACK_SHARED_LIB_PATH.

Fix Mac Build

04 Sep 22:03
Compare
Choose a tag to compare

This fixes the Mac build, bumping alpha release v0.1.0 and v0.1.1.

Fix Windows build

04 Sep 21:57
Compare
Choose a tag to compare

This fixes the Windows build, to bump alpha version v0.1.0

v0.1.0

04 Sep 21:28
Compare
Choose a tag to compare

This is the first alpha version release of PyQrack. It includes vm6502q/qrack shared libraries and static libraries. For much more control over the package options, we suggest that advanced users build qrack and pyqrack from source, but this package represents the most commonly demanded build configuration.