BallisticLA / RandLAPACK

A high-performance C++ library for randomized numerical linear algebra

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.