Skip to content

v2.0 - OpenCL Performance Improvements

Compare
Choose a tag to compare
@bennbollay bennbollay released this 16 Aug 02:50
· 136 commits to master since this release
97c00de

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)