Pyqrack

Latest version: v1.28.0

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

Scan your dependencies

Page 27 of 45

0.20.6

QBdt` now takes `QHybrid` as its default base simulator type, allowing it to take advantage of `QEngineCPU` for low-width simulations while scaling to `QBdt`-based qubits as a replacement for `QPager`.

`QBdt` is now part of the default optimal stack, without an opt-in environment variable. To opt-out of using `QBdt` as part of default optimal stack, set `QRACK_QPAGER_DEVICES=-2`, or set `QRACK_QPAGER_DEVICES` to any set of devices you intend. (The special device ID value `-2` indicates that `QInterface`-local default device should be used, as opposed to `-1` for global default device. `-2` will not interfere with the distribution of `QUnitMulti`, for example, hence this is effectively already the default setting for `QRACK_QPAGER_DEVICES`, except for `QBdt` usage choice.)

0.20.5

Notably, this release fixes the version check logic for GNU `libc`. It also cuts some "junk" out of the C++ code for `QUnitMulti` and `QStabilizerHybrid`. (My hope is to use this version as a reference for my own benchmarks.)

0.20.4

Sorry for the rapid-fire releases, but the past 12 to 24 hours have seen a flurry of activity that I might consider a "breakthrough" in multiple OpenCL device simulation. In this release, very old code was cut in the `QStabilizerHybrid` constructor in the default optimization layer stack, _removing a redundant layer of `QPager`_. ARM binaries have also been fixed, to use shortcuts instead of a duplicate file for shared library aliases, which should reduce wheel sizes.

0.20.3

Continuing the work from last night in v0.20.2, `QUnitMulti` stack selection edge cases have been fixed, for proactive OpenCL device distribution. Automatic device redistribution is totally avoided unless explicitly enabled when a `QEngineOCL` exists at the bottom of the layer stack, as opposed to `QHybrid`, which can switch device designations for free before crossing the CPU-to-GPU threshold.

0.20.2

QUnitMulti` in C++ Qrack has been significantly revised. As a result, proactive distribution to multiple devices is better.

If your throughput suffers as a result of this version upgrade, first try switching `isSchmidtDecomposeMulti=False` in your `QrackSimulator` constructor. Realize that if you have two heterogeneous devices, like a primary GPU and an integrated graphics accelerator, then the smaller accelerator's throughput would be less, but its memory capacity might be more than the primary GPU.

Additional control of multiple OpenCL device systems can be modulated through virtualization environments, like VirtualCL or SnuCL.

0.20.1

This release tunes `QBdt` defaults. (`QBdt` is still included in the default stack only with `QRACK_QBDT_DEFAULT_OPT_IN` environment variable set truthy.) `QRACK_SEGMENT_QBDT_QB` now controls the paging segment size relative max single `QEngineOCL` qubit allocation, and its default value is 5, (for 5 page segment powers, plus 2 global qubits over 4 pages of a GPU).

Page 27 of 45

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.