Closed WrathfulSpatula closed 2 years ago
QUnitMulti
will stay about as simple as it already is, in terms of lines of code.
Take your time. You know I've got a TeslaK80 avaliable for testing :)
Come to think of it, we already did what this issue proposed. Anyway, we can close it, then.
QUnitMulti
was an attempt to code heterogeneous parallelism with relatively little physical multi-device hardware available. With a better multi-device environment, I realize I missed the fundamental mark, which would instead require a minorQrack::OCLEngine
redesign. However, I thinkQUnitMulti
overloads the right methods, for intercepting allocation, to attempt load balancing.I'm saying, I have a better development environment now, to test
QUnitMulti
, and I now realize it effectively doesn't yet do multi-device parallelism. It needs a total refactor. Specifically, I need to separateQEngineOCL
calls to theOCLEngine
resource counter by device index. Then,QUnitMulti
should iterate over devices, instead of qubit shards, for proactiveMakeEngine()
load balancing.