Pyqrack

Latest version: v1.28.0

Safety actively analyzes 638681 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 23 of 45

1.0.2

Running large-scale benchmarks overnight, `QBdt` has not caused a single segfault, which we take to indicate sufficiently improved memory safety to motivate a patch release.

1.0.1

After fixing several parallelism errors, no memory errors have been detected at all with `valgrind`, in `QBdt`. (Depending on one's system, a couple of string comparison memory errors might be present on program initialization, not rooted in Qrack user code, but this is all the developers currently detect with `valgrind`.)

We still recommend, depending on simulation method, that simulations with _maximum separable subsystem footprints_ larger than 32 qubits use at least `double` build precision, and footprints larger than 64 qubits should use `quad`. (PyQrack on PyPi only provides a 32-bit `float` build, but build from source, to tailor for your needs.)

1.0.0

Quantum binary decision tree simulation has been overhauled from a pre-release serial implementation, to a production-ready (_very_) parallel implementation.

Remember that PyQrack as distributed on PyPi is built with 32-bit `float` precision option, for the underlying Qrack library. If you actually intend to attempt "quantum supremacy" recreations with PyQrack, 32-bit `float` precision will likely lead to segmentation faults, by interim design: as the authors experiment with such use cases ourselves, we have found that 128-bit `quad` precision might be strictly necessary. To enable `quad` (or `double`) precision, **you need to build and install C++11 Qrack from source,** and use the `main` branch of PyQrack that works with a system installation of Qrack. **If you encounter segmentation faults, first build from source with increased precision before filing a bug report,** (CMake option `-DFPPOW=7 -DENABLE_COMPLEX_X2=OFF` or `-DFPPOW=6`, for Qrack.)

**Happy Qrackin'! You rock!**

0.21.20

In the underlying Qrack library, inline methods have been reviewed and refactored, based upon our best guess as to what methods could be optimized when inline. In some cases, this results in a very slightly smaller binary. Most users will likely notice no difference in performance, but, on hypothetical very limited systems, CPU cache performance might benefit.

0.21.19

In line with the previous release, SSE2.0 and SSE3.0 are now optionally available in Qrack for `float`-precision complex norm operations. Further, calls to measure probability leverage this optional support by reading 2 complex number amplitudes at a time, before calculating their norm. (Binaries without SSE support did not require an update.) Credit for this incremental change to Qrack should go to https://stackoverflow.com/questions/6996764/fastest-way-to-do-horizontal-sse-vector-sum-or-other-reduction#answer-35270026.

0.21.18

This release makes minor improvements in CPU-based simulation. CPU-based state vector reads are now loaded two at a time into a `complex2` object, giving a minor improvement to CPU-based gate simulation in general. Also. the default value of `PSTRIDEPOW` has been re-tuned, which will tend to increase speed, but we suggest looking at benchmarks (such as `test_qft_cosmology` in the C++ Qrack benchmark suite) for comparing `PSTRIDEPOW` value performance and tuning this setting on a per-system basis, in general.

Page 23 of 45

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.