Skip to content

Releases: vm6502q/vm6502q.github.io

Qrack stack integration

25 Jan 00:22
Compare
Choose a tag to compare

At this point, Qrack has been integrated with and extensively tested against a wide, open source stack of third-party quantum computing libraries, as a first-order and a second-order dependency. This is also the state of development at which we plan submit an academic report on benchmarks, for peer review, thanks to the generous support of the Unitary Fund micro-grant program. In overview, major points of improvement include:

  • Debugging all existing work to pass extensive batteries of open source, third party unit tests, (particularly see the recent continuous integration tests and Travis definition file)
  • QUnit "phase gate buffering" optimizations, which cache, commute, and "fuse" 2-qubit controlled gates to further reduce required "representational entanglement" (re: "Schmidt decomposition")
  • Replacing float rounding neighborhoods with exact float value checks wherever applicable, and without loss of performance (which, upon scrutinization, turns out to more-or-less entirely generally)
  • Full support as a Qiskit plugin, in addition to existing support for ProjectQ, as well as tested support as a second-order dependency through those projects

Windows 10 and Mac support, and ApproxCompare() fix

17 Feb 04:23
Compare
Choose a tag to compare

This build debugs support on Mac Mojave, adds support for building with Visual Studio on Windows 10, and fixes a longstanding bug in the ApproxCompare() method, which had been leading to unit test failures. The changes in code itself are minor, but since they add wide platform support, and stable general platform support was the aim of v3.1, we're tagging this version before any new functionality is added.

General hardware support and stack-readiness

09 Feb 00:37
Compare
Choose a tag to compare

This release improves stability across all tested hardware platforms and debugs support for optional integration with the vm6502q fork of ProjectQ.

What's new in Qrack v3.1:

  • Supports building on the Raspberry Pi 3 with VC4CL
  • Optional integration with vm6502q/ProjectQ fork has been completed
  • "Uniformly controlled" gates added to the API
  • Bug fix in TimeEvolve() method
  • General stability improvements across many different platforms

Known Issues:

ApproxCompare() has a sensitive threshold for state comparison, which causes unit tests based on it to fail sporadically. TryDecompose() and TrySeparate() also use ApproxCompare(). A low threshold means more conservative behavior. TryDecompose() and TrySeparate() are less likely to give false positives for true separability, but they are more likely to give false negatives.

v3 API and benchmarks

26 Dec 23:13
Compare
Choose a tag to compare

This release is concurrent with the vm6502q.v3.0 release of the Qrack framework. The documentation has been updated to reflect the new Qrack API and performance changes. It includes the first comparative benchmarks.

v2.0 - OpenCL Performance Improvements

16 Aug 02:50
97c00de
Compare
Choose a tag to compare

What’s New in Qrack v2.0

  • Greatly improved all-around OpenCL performance (See https://qrack.readthedocs.io/en/two_point_zero/performance.html)
  • "Full OpenCL coverage” - QEngineOCL no longer inherits from QEngineCPU at all, and QEngineOCL state vector manipulations are virtually entirely done with OpenCL kernels and the OpenCL API.
  • Operator exponentiation methods have been added to the public API, (“Exp,” “ExpX,” “ExpY,” etc..) as well as a single bit gate method with a 2x2 complex matrix specified arbitrarily by the user
  • Experimental multi-processor engine, QEngineOCLMulti
  • Better explicit qubit separation in QUnit (less RAM, often greater speed, depending on use case)
  • Tested and debugged for single and multi-processor compatibility with the Intel HD. Issues diagnosed and fixed for the HD include OpenCL compilation for single-accuracy-float-only devices, as well as logical compatibility of kernel calls with an arbitrary number of processing elements on a device, as opposed to an exact power of 2 processing elements.
  • General minor bug fixes, (including small memory leaks, bad OpenCL group sizes, and others)

v1.7 - Public Release

25 May 18:39
6b64a78
Compare
Choose a tag to compare

This release of the Qrack Quantum Simulator and the associated VM6502Q toolchain is suitable for public use and large scale deployment in production.