This PR continues the multi-RHS scaffolding from #1437:
All BLAS functions are now multi-RHS aware (albeit for-loop wrappers around single RHS operations)
(Future work will fuse these into single kernels)
BLAS regression tests are much more robust with most of the tests now tested using elementary equivalent compositions, as opposed to simply comparing CPU and GPU
Block BLAS functions are now in their own namespace blas::block to avoid any collisions with the new multi-RHS aware BLAS functions
Legacy block BLAS functions (those that take a vector of pointers) are now in the blas::legacy namespace.
Hopefully these will be deleted soon
Dirac::prepare and Dirac::reconstruct functions are now multi-RHS aware
General clean up of the Dirac classes to reduce boiler plate
This PR continues the multi-RHS scaffolding from #1437:
blas::block
to avoid any collisions with the new multi-RHS aware BLAS functionsblas::legacy
namespace.Dirac::prepare
andDirac::reconstruct
functions are now multi-RHS awareDirac
classes to reduce boiler plate