Reduce dependency on std::vector
rileyjmurray opened this issue · comments
@PTNobel and @burlen have reported that using std::vector<T>
instead of plain buffers T*
makes it harder to adapt RandLAPACK code for GPUs. We should identify the places where std::vector<T>
is actually necessary and where it can be replaced by T*
. In general, if we have a std::vector vec
and a code path does not call RandLAPACK::util::upsize(new_size, vec)
, then we can probably replace vec
with a buffer.
Fixing this isn't urgent, but the sooner we do it, the easier it will be.
@TeachRaccooon can you give a status update on where we are with this?
I'll soon be opening a new PR which changes CQRRPT to be fully pointer-based.
After that PR is merged, I can work on applying this change across RandLAPACK.
@TeachRaccooon can I get another update on this?
I haven't deliberately gotten back to the existing code to resolve this.
However, the newer driver functions (CQRRPT, CQRRP, RBKI) and any related utilities, as well as the rl_gen code have been updated to work with pointers,
Good stuff. Just wanted to know where we stand.