QEngineOCL has been refactored for best practices. This includes converting OpenCL host pointers, when in use, to managed "smart pointer" instances, for segmentation safety. C++ exceptions are also no longer thrown in OpenCL C function callbacks.
This refactor of best practices was motivated by attempting to debug what was causing systems to hang in _very_ high qubit width, experimental benchmarks. If you wish to exceed your system's raw state vector capacity in attempts to leverage Schmidt decomposition, we suggest that you set the environment variable `QRACK_MAX_PAGING_QB` equal to the number of qubits for which your system has capacity for **just naive state vector simulation**. You _can_ still exceed this number of qubits in `QUnit` or `QStabilizerHybrid`, but it gives a necessary hint to any underlying `QPager` instance, that its state vector methods _will_ be exceeded by higher qubit allocation attempts, (excepting 0 amplitude "pages," but this optimization is not typically viable beyond the appropriate `QRACK_MAX_PAGING_QB` hint level).