unitaryfund / qrack

Comprehensive, GPU accelerated framework for developing universal virtual quantum processors
https://qrack.readthedocs.io/en/latest/
GNU Lesser General Public License v3.0
164 stars 36 forks source link

QBdt in default optimal stack (for single-device environments) #975

Closed WrathfulSpatula closed 1 year ago

WrathfulSpatula commented 1 year ago

This branch debugs and optimizes QBdt layer generally, making it appropriate as an alternative to QPager for OpenCL single-device environments. By default, --optimal settings will use QBdt as an analogue to replace QPager. If multiple OpenCL devices are specified for utilization, via environment variables or statically linked constructors, then QPager will still be used as the default option instead of QBdt.

WrathfulSpatula commented 1 year ago

Set environment variable QRACK_QBDT_DEFAULT_OPT_IN to any truthy value, to opt in. The inclusion of QBdt in default optimal stack is experimental, but the improvement in QBdt is unequivocal.